deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:huabai-flowerwhite/dsh-plugin-design
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
面向 DeepSeek Harness(dsh)第三方插件生态的 Plugin Design / Migration / Compliance Agent:发现第三方插件、检查其源码与配置、对照 DH-TP-SDK 工程化规范做静态分析、生成 design.md,经用户确认后对插件逐项修改并支持备份与回滚。
DH-TP-SDK 是工程化规范,Bronze/Silver/Gold、P0–P4、S0–S4 均非 DeepSeek 官方认证。
使用dsh plugin design插件,输出对 <插件名> 插件进行规范修改的design.md文件,然后询问我意见后进行规范修改
可参考目录中的How‑to Showcase.png。(design.md未在此处展示)

两阶段工作流:
discover → inspect → analyze → design(生成 design.md),此阶段绝不修改源码。approve(门控)→ backup(备份)→ apply(逐项原子替换)→ rollback / report。安全边界:分析先于修改、设计先于执行;未确认前不修改;修改前备份、失败可回滚;不修改 Core、不用 private API。
dsh-plugin-design/
├── install.ps1 / install.sh # 一键安装(node_modules 链接 + cordis.patch.yml insert)
├── package.json # npm 包:exports + dsh.client + dsh.bundle + scripts.test
├── dsh.plugin.yaml # DH-TP-SDK manifest
├── cordis.patch.yml # 挂载参考:host composition insert row
├── README.md / design.md / LICENSE / .gitignore
├── DeepSeek-Harness-Third-Party-Plugin-SDK-Specification.md # DH-TP-SDK 规范依据(内置)
├── deepseek-harness-product-technical-framework.md # Harness 架构依据(内置)
├── lib/client.js # Client 半体:factory-form bundle(Settings 设置页)
├── src/
│ ├── index.js # 入口 → host.js
│ ├── host.js # Host 半体:10 个 dshpd_* 工具
│ └── client.js # Client 源码(构建产物见 lib/client.js)
└── tests/
├── README.md # 测试矩阵
└── manifest.test.mjs # DH-TP-SDK 规范冒烟测试(node --test)
dshpd_discover / dshpd_inspect / dshpd_analyze / dshpd_design / dshpd_approve / dshpd_backup / dshpd_apply / dshpd_rollback / dshpd_status / dshpd_report。@deepseek-ai/dsh 0.1.1-rc.2(manifest runtime.harness.min 与 package.json dsh.compatibility.harness 均为 >=0.1.1-rc.2)。settings.section(整页说明页)。Harness 自 0.1.0-rc.7 起另提供「插件配置卡片」档位(settings.plugin.item + Host installSettingsSection + Client ctx.settingsScope),用于暴露可持久化配置(默认扫描根/安全等级);本插件尚未迁移到该档位(纯说明页无需持久化配置)。本插件是 npm 包 + host composition row 形态:工具全局注册 + Settings UI 全局加载,重启后自动加载。
下载后,在插件目录内运行对应脚本,即可自动完成「链接进 node_modules + 写入 cordis.patch.yml」两步:
Windows(PowerShell)
git clone <你的仓库> dsh-plugin-design
cd dsh-plugin-design
powershell -ExecutionPolicy Bypass -File install.ps1
Linux / macOS(bash)
git clone <你的仓库> dsh-plugin-design
cd dsh-plugin-design
bash install.sh
脚本是幂等的(重复运行无害)。装完后重启 dsh(Ctrl+C 后重新 npx dsh web / dsh web),即完整可用:
dshpd_* 工具;$DSH_HOME/profiles/node_modules/dsh-plugin-design -> 本目录
($DSH_HOME 默认 ~/.dsh;Windows 用 junction,Linux/macOS 用 symlink。或发布到 npm 后 npm install dsh-plugin-design 亦可。)
$DSH_HOME/profiles/<profile>/cordis.patch.yml 追加:- insert:
- id: dsh-plugin-design
name: 'dsh-plugin-design'
(profile 默认 web,可用环境变量 DSH_PROFILE 覆盖。)
提示:Host 半体(工具)改
cordis.patch.yml后热生效;Client 半体(Settings UI)在 boot 时由dsh-client-modules扫描加载,需重启后刷新页面。
dsh-client-modules 只扫描 host Loader entries,且 client UI 是 boot 时加载的全局 UI,agent preset 的 client 不会被加载。因此本包统一挂到 host composition(工具全局 + UI 全局)。每个第三方插件都挂到同一份 cordis.patch.yml / node_modules,必须保证以下全局唯一,否则会相互覆盖或注册报错:
| 命名对象 | 约定(本插件取值) | 冲突后果 |
|---|---|---|
| 包名 / row id / 设置页 slot id | dsh-<插件名>(dsh-plugin-design) |
同名 → node_modules 链接与 patch row 互相覆盖 |
| 模型工具名 | <缩写>_*(dshpd_*) |
同名工具同层注册会 throw |
| HTTP 路由前缀 | /<包名>/<动作>(/dsh-plugin-design/discover) |
同名路由注册会 throw |
install.ps1 / install.sh 是各自仓库根目录的普通文件,用户在各自的 clone 目录里执行,不会互相冲突;只要坚持「一个插件一个唯一前缀」,多插件共存安全。
network.outbound: false、subprocess.enabled: false、shell.enabled: false、credentials.access: false)。globalThis/原型;两阶段门控 + 备份回滚保证「分析先于修改、确认后才改、失败可回滚」。dshpd_backup/dshpd_apply 写文件;静态分析为启发式,非权威认证。本插件自身遵循 DH-TP-SDK 规范,并提供静态冒烟测试:
npm test # 等价于 node --test(自动发现 tests/ 下的 .test.mjs)
覆盖:manifest 必填字段、最小权限(网络/子进程/shell/密钥关闭)、package.json 三处导出、cordis.patch.yml 仅 insert 不替换 Core row、源码无高危模式。详见 tests/README.md。
WATERFALL_NEXT 仅对「确实注册了 waterfall 监听」的非测试源码生效。CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。