DeepSeek Harness Hub
← 返回列表

DevViking-Persike/dsh-monaco

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

通过宿主 HTTP 路由将 Monaco Editor 发行版提供给浏览器,供需要在页面中使用真正代码编辑器的…

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/22 · 已提供中文文档

DeepSeek Harness 插件:通过主机 HTTP 路由提供 Monaco 编辑器发行版,因此编辑器插件无需 CDN

综合分
27.2
GitHub 分
27.2
用户评分
★ Stars
0
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add DevViking-Persike/dsh-monaco
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-monaco

通过宿主 HTTP 路由将 Monaco Editor 发行版提供给浏览器,供需要在页面中使用真正代码编辑器的 DeepSeek Harness 插件使用。

为什么用路由而不是打包

harness 浏览器插件通道每个插件只交付一个文件(/plugins//client.js),并且动态打包器不会输出额外的 chunk 或资源。Monaco 是一个多文件发行版——一个 loader、各语言模块以及一个样式表——因此无法通过那种方式交付。

本插件将这些文件挂载在自己的路由下,从已安装的 monaco-editor 包中读取它们。因此编辑器保持本地化:运行时没有 CDN,在读取操作者源码树的工具内部也没有第三方源。

安装

dsh plugin --profile web add github:DevViking-Persike/dsh-monaco

重启 dsh。此后该发行版即可在 /monaco 下访问。

从客户端插件使用

Monaco 通过其自身的 AMD loader 发布自身:

await loadScript('/monaco/loader.js')
window.require.config({ paths: { vs: '/monaco' } })
window.require(['vs/editor/editor.main'], () => {
window.monaco.editor.create(host, { value: '', language: 'typescript' })
})

配置

| 字段 | 默认值 | 含义 |
|---|---|---|
| route | /monaco | 绝对 URL 前缀,不带末尾斜杠。 |

- id: dsh-monaco
name: 'dsh-monaco'
config:
route: /vendor/monaco

模型体验

无。本插件仅向浏览器提供静态字节,不注册任何工具、提示词片段或会话事件,因此它所做的任何事情都不会到达模型请求或消耗上下文。

安全性

- 每个请求路径都会先针对发行版根目录进行解析,然后被证明位于其内部。resolve 会先折叠 ..,因此越界会被包含性检查捕获,而不是通过对请求文本进行模式匹配来捕获——包括百分号编码的尝试,这些尝试会原样到达服务器。
- 根目录下的读取失败会返回 404,与未知路径相同,因此浏览器无法通过可区分的错误得知哪些文件存在。
- 仅提供 GET 和 HEAD;其他任何方法都返回 405。
- 内容类型表中不存在的扩展名会以 application/octet-stream 提供,而不是进行猜测,因此错误的类型绝不会让浏览器将某些内容作为脚本执行。

已知限制与推迟的工作

- 该路由提供整个发行版,包括给定页面从不加载的语言模块。提供子集需要预先知道每个使用者的语言,而该路由无法看到这些信息。
- 响应带有一周不可变的 cache-control。这是安全的,因为发行版由已安装的包固定版本,但 Monaco 升级需要更改路由以破坏缓存,或在已打开的标签页中硬刷新才能生效。
- 文件按请求读取,没有进程内缓存;操作系统页面缓存会吸收这一开销,而为了避免它而在堆中保留 24 MB 的分发包目前没有消费者。
- 此处未配置 Monaco 的 Web Worker。需要它们的消费者必须提供自己的 worker 入口并设置 MonacoEnvironment;否则 Monaco 会在主线程上运行其语言服务。

许可证

MIT — 参见 LICENSE。NOTICE.md 包含 Monaco Editor(© Microsoft,MIT)以及本插件约定所遵循的 DeepSeek Harness 项目的署名信息。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(DevViking-Persike)的其他插件

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群