前言¶
DSH 的理念是「一切皆插件」,Creator 自己写插件、改插件的人也不少。问题在装上之后才开始:这个包到底读了哪些路径、写了哪些文件、起的 HTTP 接口有没有冲突,装了之后和原来不兼容怎么退。靠手工翻源码和记忆来判断,装了三个插件之后就记不清了。
dsh-forge 就是针对这一段工作的插件。它把「装之前先查、装之后复验、出问题回滚」做成一个闭环,并且把自己做成了 Web 界面,装完在 DSH 左侧栏就能点开,不需要再去翻命令行输出。下面介绍这个插件的构成、安装方式和实际用法。
这是什么¶
dsh-forge 是一个 DSH 插件,仓库地址 wodaimnd/dsh-forge,由 Kewei Chen(GitHub:wodaimnd)维护,当前版本 0.1.3,许可证 MIT。
一句话定位:为 Creator 插件提供「装前静态体检、Skill 目录诊断、装后复验与 rollback 账本」这四件事的统一入口,运行方式是「Host 半边 + 浏览器半边」的纯 ESM 插件,没有构建步骤,改完源码刷新即生效。
核心功能¶
它解决的问题按时间顺序分三段,对应三个模块能力。
1、装前静态体检。读取插件源码做静态检查(包含 child:node --check 语法检查,仅读取源码),给出它声明的能力清单:HTTP 接口、文件读取路径、文件写入路径。
2、Skill 目录诊断。检查 Skill 目录的结构和声明是否一致,找出缺文件、缺声明这类装之前就能发现的错误。
3、装后复验与 rollback 账本。安装后重新核对一遍实际生效的能力和装前声明是否一致;所有操作写进账本,备份落在 <workspace>/.dsh-forge,出问题时能按账本回滚。
这几个能力在它的 dsh.forge.effects 声明里能直接看到:
"effects": [
"http:loopback:/api/dsh-forge",
"fs:read:任意绝对路径(只读,用于体检)",
"fs:write:<workspace>/.dsh-forge(账本与备份)",
"child:node --check(语法检查,仅读取源码)"
]
数据来源是插件自己的 package.json 声明,不是运行时猜测,所以体检结果和它的声明是同一份口径。
功能形态上,它有几个特点:
- Web 界面:装好后在 DSH 左侧栏 / 设置中出现入口,风格和宿主一致,操作都在页面上完成。
- Host 能力与界面共享同一套实现:Host 半边注册的服务、HTTP 接口和 Agent 工具,和页面操作走的是同一个后端,不是两套代码。
- 无构建:纯 ESM 插件,源码直接加载,没有打包步骤。
安装与启用¶
这个插件没有发布到远端注册表,需要作为本地 bundle 安装。源码托管在 GitHub,地址如下:
https://github.com/wodaimnd/dsh-forge
先把仓库取到本地,目录结构如下:
dsh-forge/
├── package.json # DSH 插件清单(dsh.bundle / dsh.client)
├── index.js # Host 半边
├── client.js # 浏览器半边
├── cordis.patch.yml # bundle 行声明
└── README.md
安装方式有两种。方式一是在 DSH 中把该目录安装为本地 bundle,插件管理器「添加 → 本地目录」,或者让 Agent 执行:
plugin_manager action=install_bundle target=<绝对路径>/dsh-forge
方式二更直接:打开 设置 → 插件 → 添加,选择本地目录后启用 @local/dsh-forge。
装好之后启用,刷新 DSH Web 页面,左侧栏会出现对应入口,打开就是插件页面。
典型用法¶
一个标准的使用流程是这样的。
1、拿到插件源码,先读一眼 package.json 里的 dsh.forge.effects,确认它声明的能力范围,判断是否和已有插件重叠。
2、在插件页面里做装前体检,跑静态检查 + Skill 目录诊断,看是否有语法错误或目录结构问题。
3、确认无误后启用插件,安装后复验会重新核对一遍实际生效的能力。
4、如果复验结果和预期不一致,从 .dsh-forge 目录里的账本和备份回滚,不需要手工回忆改了什么。
配置项两处可调:cordis.patch.yml,或者插件管理器的配置页面。Host 半边随 bundle 行激活,不需要单独启动。
权限、兼容性与注意¶
有几个使用上的边界需要讲清楚。
第一,这个插件以当前 DSH 进程的权限运行。它声明了 fs:read:任意绝对路径,虽然用途写明是只读体检,但它确实可以读工作区之外的路径。装之前应该打开源码本身检查一遍,不只是看体检结果。它声明的 fs:write 范围限定在 <workspace>/.dsh-forge,这个范围相对窄,但也意味着账本和备份都在工作区内。
第二,面向 DeepSeek Harness (DSH) Desktop / Web GUI。它通过 dsh.bundle 声明 Cordis bundle,由插件管理器负责安装、启用和禁用;dsh.client 声明要求 DSH 的 Web 前端支持插件模块加载,不支持的话页面半边不会工作,Host 半边不受影响。
第三,许可证是 MIT,源码里带了 LICENSE 文件。装之前顺手看一眼即可,没有额外限制。
第四,它属于社区目录 skillhub.cn 上的条目,该站点是独立社区站,和 DeepSeek / 幻方没有官方从属关系,不要当成官方应用商店。
结尾¶
dsh-forge 做的事情不复杂:装之前把静态检查、目录诊断和能力声明摆到桌面上,装之后重新核对一遍,并且把每一步记进账本,随时可查可回滚。对经常自己写插件、改插件配置的 Creator 来说,这套流程比记住上次装了什么可靠得多。
目录页:https://www.skillhub.cn/plugins/wodaimnd/dsh-forge
GitHub:https://github.com/wodaimnd/dsh-forge