前言¶
DeepSeek Harness(DSH)走「一切皆插件」的路线,本地 Web 与插件 bundle 一多,出问题往往先表现为工具调用异常或进程起不来,而根因可能散落在 Symbol 双包、patch 重复、junction 失效或更新后的破坏性变更里。单靠肉眼翻目录、猜该改哪一步,成本高且容易漏项。
dsh-cockpit(@suan2inf/dsh-cockpit)把「找问题 → 修问题 → 安全更新」收进同一套流程:Web 面板与命令行共用核心逻辑,且在 DSH 自身损坏时仍可在命令行做只读体检与幂等修复。下面介绍其定位、能力与安装用法,事实以 GitHub 仓库 README 为准。
这是什么¶
dsh-cockpit 是社区维护的 DSH 插件,由 suan2inf 发布在 npm(@suan2inf/dsh-cockpit,当前资料记载版本 0.1.0),许可证 MIT。它提供 Web GUI(源码运行模式),并附带不依赖 DSH 运行时的 CLI,用于对 DeepSeek Harness 做健康检查、一键修复与安全更新编排。
社区插件目录页:SkillHub - suan2inf/dsh-cockpit。该目录与 DeepSeek / 幻方无官方从属关系,安装前请自行查看源码与许可证;插件以当前 DSH 进程权限运行,写操作接口仅接受本机来源(README 设计原则)。
核心功能¶
体检(只读)¶
README 列出 18 项检查,涵盖 Symbol 修复在位性(src 与 lib 双侧)、构建新鲜度、bundle 可解析性、插件 peer 兼容声明、patch 重复条目、junction 健康、备份年龄、git 状态、更新门禁等。体检不修改任何文件。
修复(幂等)¶
5 个一键修复项:patch 去重、失效 junction 清理、备份清理、Symbol.for 原位修复、缺失 bundle 链接重建。修复前先评估,执行保留备份;中风险操作在 CLI 上需加 --yes。
更新¶
提供版本预览(落后提交数、发布说明、需注意的破坏性变更),并可一键启动延迟更新助手:在关闭 DSH 后自动更新、重放本地修复并重启。可选配套脚本 scripts/update-deferred.ps1 由面板「开始更新」调用,也可独立运行。
入口¶
- DSH 正常:设置 → 体检中心,或独立仪表盘
http://127.0.0.1:3080/dsh-cockpit。 - DSH 起不来:仍可用
cli.js/npx dsh-cockpit做体检与修复(核心模块零 DSH 依赖)。
安装与启用¶
在 DSH Web 插件市场搜索安装,或手动写入 profile 的 ~/.dsh/profiles/web/package.json:
{
"dependencies": {
"@suan2inf/dsh-cockpit": "^0.1.0"
},
"dsh": { "profile": { "bundles": ["@suan2inf/dsh-cockpit"] } }
}
在 profile 目录执行 pnpm install,重启 DSH Web。
写进 bundles 的包必须已在 node_modules 中可解析,否则 DSH 可能在 resolveBundleDir 阶段失败。README 建议:装完后先运行 npx dsh-cockpit,确认「bundle 可解析性」检查通过再重启。
package.json 标明运行环境:node >=22.19,os 含 win32;对 @deepseek-ai/dsh-host-webserver 为 optional peer(^0.1.5-rc.1 || ^0.1.6-0),兼容声明含 0.1.6-alpha.2。
典型用法¶
命令行¶
在插件目录或经 npx 调用:
node cli.js # 离线体检
node cli.js --online # + git fetch + 最新发布 tag
node cli.js --gate # 只输出更新门禁;退出码 0 = 安全
node cli.js --fixes # 列出修复项及是否需要修
node cli.js --fix <id> # 执行修复(幂等);中风险加 --yes
仓库不在默认位置时,用环境变量指定,例如 Windows:set DSH_REPO=C:\path\to\deepseek-harness。
延迟更新脚本(可选)¶
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/update-deferred.ps1 -Repo C:\path\to\deepseek-harness
脚本等待 DSH Web(端口 3080)关闭 → 运行仓库内 update-dsh.ps1(备份并重放本地修复)→ 成功后自动重启 DSH Web。
适用场景与注意¶
适合长期本地跑 DSH Web、会装多个 bundle 或经常跟进上游版本的开发者;README 以 0.1.6 插件运行时解析调整导致 Symbol 双包身份错位、工具调用 Interrupted 为例,说明「不知道哪里坏了」时的排查价值。
使用时注意:
- 诊断只读,修复虽幂等但仍会改本地 harness 与 profile 相关状态,重要环境先备份。
- 面板注册失败时 README 说明仅 warn,独立路径
/dsh-cockpit不依赖客户端槽位 API。 - 当前资料中
package.json的os为win32,非 Windows 环境需自行验证 CLI 与脚本是否满足需求。
结尾¶
dsh-cockpit 将 DSH 常见故障面收成可重复的体检清单与有限的一键修复,并把更新放到「门禁 + 延迟助手」里,减少破坏性变更踩坑。进一步了解可访问 SkillHub 目录页 与 GitHub:suan2inf/dsh-cockpit。