Back to home

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 — 添加文件/目录到对话(📁 按钮 + 文件选择器)

社区

仓库结构

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/ 改名即可(_ 开头目录会被校验跳过)。

  1. plugins/<id>/ 目录(<id> 用 kebab-case,如 attach-files)。
  2. manifest.json,字段约定见 manifest.schema.json
    • idPrefix:3–6 个小写字母(cordis_defineplugin.idPrefix
    • name / purpose:必填
    • entry{ "host": "host.js", "client": "client.js" }(至少一个)
  3. host.js / client.js:存函数体本身,直接整段粘到 code.host / code.client
  4. 跑校验并提交:
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_definecordis_run

插件索引

PLUGINS.md(自动生成,勿手改)。

License

MIT