dsh-monaco
在终端中运行以下命令:
dsh plugin install DevViking-Persike/dsh-monaco
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 中运行 dsh plugin install DevViking-Persike/dsh-monaco 即可安装该插件,完整源码地址见 https://github.com/DevViking-Persike/dsh-monaco。
插件介绍
Harness 的浏览器插件通道每个插件只能投递一个 client.js 文件,而 Monaco Editor 是一整套多文件分发——加载器、语言模块、样式表——根本无法挤进那条单文件管道。dsh-monaco 解决的就是这个结构性缺口:它把已安装的 monaco-editor 包完整挂载到宿主 HTTP 路由下(默认 /monaco),让你的插件在页面里真正拥有一个代码编辑器,既不走 CDN,也不引入任何第三方源。
安全性是设计里最用心的部分。每个请求路径先经 resolve 折叠再做是否位于分发根目录内的包含判定,包括百分号编码的逃逸尝试都被拦截;未知路径与读取失败统一返回 404,浏览器无法从错误差异推断文件是否存在;只响应 GET 和 HEAD,其余方法一律 405;未识别扩展名以 application/octet-stream 返回,杜绝浏览器误将内容当脚本执行。
适合正在为 Harness 插件编写前端交互、需要语法高亮与 IntelliSense 体验,又不希望把操作者源码暴露给外部 origin 的开发者。配置 MonacoEnvironment 指向 /monaco 即可获得完整语言支持;Monaco 的 web worker 由使用方自行挂载,不配置时语言服务跑在主线程上,对大多数插件场景已经够用。
使用场景
- 在 Harness 插件页面中嵌入带语法高亮的代码编辑器
- 为交互式工具 UI 提供 IntelliSense 与多语言支持
- 在不引入第三方 origin 的前提下让浏览器加载完整 Monaco 分发
适合人员
- 需要在前端插件中呈现代码的 Harness 插件开发者
- 要求编辑器完全本地加载、不走 CDN 的安全敏感团队
- 依赖 Monaco 多文件结构且受单文件插件通道限制的开发者