deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
DSH(DeepSeek Harness)插件管家:审计已安装插件的规范性与安全隐患,并在设置面板中提供插件管理(启停、安装、卸载、版本更新)。
| 工具 | 用途 | 副作用 |
|---|---|---|
plugin_audit |
审计 profile 全部 bundle:manifest 契约、patch 层风险、静态代码扫描、供应链风险 | 只读 |
plugin_list |
列出 loader 组合行与 fiber 运行状态(PENDING 缺失服务 / FAILED 错误) | 只读 |
plugin_toggle |
热启用/禁用插件:loader 运行时即时生效 + 写 profile cordis.patch.yml 持久化(HMR 自动应用) |
改运行状态 + patch 文件 |
plugin_uninstall |
卸载插件包(dsh plugin remove 转发 pnpm),带 dry-run 确认 |
删除依赖,需重启 |
plugin_install |
安装插件包(dsh plugin add 转发 pnpm) |
需重启 |
设置 → 插件体检,包含「插件管理」与「体检报告」两个视图:
dsh.bundle)也能从孤儿 patch 行启用,重启后由市场挂载minimumReleaseAge)导致的更新假象卸载的成败以清单是否还引用该包为准,而不是 pnpm 退出码:即使 pnpm 因文件被占用中途失败(如插件自带常驻进程锁住其目录),也会强制收敛到一致状态——
package.json 的 dependencies 与 dsh.profile.bundles 移除引用cordis.patch.yml 中的残留 patch 行改写清单前自动备份为 *.bak.plugin-doctor。
!!js 表达式、patch 覆盖/冲突官方内置行、eval/new Function、读取 .credentials.yaml、解码执行类命令、安装期脚本(preinstall/postinstall)、bundle 目录无法解析./cordis.patch.yml/./package.json 入口、client 声明不完整、直接依赖共享运行时(应 peer)、直接使用 child_process、遍历 process.env、非白名单硬编码外联地址、prepare 脚本、github 依赖未固定 commit、跨包覆盖未知行process.exit体检范围 = profile bundles 列表 ∪ 非官方 dependencies,新装插件立即可扫描。@deepseek-ai/* 官方内置包仅做 manifest 轻检(trusted),不扫代码。
dsh plugin --profile web add dsh-plugin-doctor # npm
dsh plugin --profile web add github:Oo0520/dsh-plugin-doctor # github
(或本地路径 / tarball。)仓库已包含构建产物 lib/,github 安装无需构建脚本。
注意事项:
minimumReleaseAge(约 24h)会拒绝当天新发布的包。被拦时可在命令尾部追加 --config.minimum-release-age=0 一次性绕过(不修改持久配置)。link: 依赖,Node ESM 从源目录真实路径向上解析依赖,因此源目录需自带 node_modules(npm install 即可)。npm/tarball/github 安装则无此要求。npm run build # build:host(tsc)+ build:client(tsdown + 类型)
修改 src/ 后重新 build 并重启 profile。
profile:目标 profile 名,默认 web;运行时会优先从 ctx.baseUrl 自动推断当前 profile。外部描述词典:~/.dsh/.plugin-doctor/descriptions.json({ "包名": "中文描述" }),优先级高于内置词典。
plugin_toggle 拒绝禁用官方内置行(fs/tools/webserver/loader 等)与 plugin-doctor 自身plugin_uninstall 拒绝卸载 @deepseek-ai/* 官方包与自身;默认 dry-run,必须 confirm=true 才执行cordis.patch.yml 前自动备份为 cordis.patch.yml.bak.plugin-doctorCLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: plugin-manager。