eeyzs1
dsh-plugins
DeepSeek Harness (DSH) dynamic Cordis plugins
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 15, 2026
- Updated
- Aug 16, 2026
Introduction
dsh-plugins
DeepSeek Harness(DSH)动态 Cordis 插件集合。
⚠️ 动态插件不跨 DSH 重启。重启后如何恢复见 LOAD.md(一句「加载所有插件」即可)。
包含插件
完整索引见 PLUGINS.md(由 scripts/check.js 自动生成),当前有:
- chime — 回合完成与互动提示音(纯 Client,Web Audio 合成 + 音量调节)
- attach-files — 添加文件/目录到对话(📁 按钮 + 文件选择器)
社区
- 本仓库在 GitHub 标记了
dsh-plugin话题,便于社区发现。 - 插件展示:Show Your Plugins! #2528
- 功能请求(用户级、重启后自动加载的插件目录):Ideas #2527
仓库结构
dsh-plugins/
├── plugins/<id>/ # 每个插件一个目录
│ ├── manifest.json # 元数据(idPrefix / name / purpose / entry / version)
│ ├── host.js # Host 端源码(函数体 `return { apply(ctx) { … } }`)
│ ├── client.js # Client 端源码(函数体,同规则)
│ └── README.md # 该插件说明
├── scripts/check.js # 校验所有插件 + 生成插件索引
├── manifest.schema.json # manifest 字段约定(文档)
├── PLUGINS.md # 自动生成的插件索引(勿手改)
├── LOAD.md # 一键重载指南
└── .github/workflows/ # push 时自动跑校验
加一个插件
快捷方式:复制 plugins/_template/ 改名即可(
_开头目录会被校验跳过)。
- 建
plugins/<id>/目录(<id>用 kebab-case,如attach-files)。 - 写
manifest.json,字段约定见 manifest.schema.json:idPrefix:3–6 个小写字母(cordis_define的plugin.idPrefix)name/purpose:必填entry:{ "host": "host.js", "client": "client.js" }(至少一个)
- 写
host.js/client.js:存函数体本身,直接整段粘到code.host/code.client。 - 跑校验并提交:
node scripts/check.js # 或 npm run check / pnpm check
校验
node scripts/check.js 会:
- 校验每个 manifest 的必填字段与
idPrefix格式; - 按 DSH 的函数体约定语法检查
host.js/client.js; - 重新生成 PLUGINS.md 索引。
GitHub Actions 在每次 push / PR 也会自动跑(.github/workflows/check.yml),
出错会亮红叉,保证不会把坏插件推上去。
加载一个插件
见 LOAD.md。一句话:读 manifest + host.js + client.js → cordis_define → cordis_run。
插件索引
见 PLUGINS.md(自动生成,勿手改)。