@jorinyang/dsh-doctor
DeepSeek Harness diagnostic and repair plugin: dsh_doctor (read-only diagnosis) and dsh_doctor_fix (graded safe/deps/full repair) for startup crashes, broken profiles, and config errors.
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:jorinyang/dsh-doctor说明文档
阅读完整 README ↗dsh-doctor
DeepSeek Harness 环境诊断与修复工具。诊断 DSH 为什么无法启动,然后修复它——采用分级、默认安全的修复范围。
English docs: README.md。
为什么需要它
DeepSeek Harness 没有内置 doctor 命令。当 DSH 崩溃、无法启动、或某个插件破坏了 profile 时,没有一条命令能告诉你问题出在哪并修复它。
dsh-doctor 用两个面向模型(agent)的工具填补这个空缺:
dsh_doctor— 只读诊断。绝不改动任何东西,只报告哪里坏了、为什么。dsh_doctor_fix— 按风险分级修复。每个动作幂等,覆盖前先备份。
安装
# 从 npm 安装
dsh plugin --profile web add @jorinyang/dsh-doctor
# 或从 GitHub 安装
dsh plugin --profile web add github:jorinyang/dsh-doctor
# 然后重启 dsh web
dsh web
安装后,两个工具会注册到 ctx.tools。需要重启 web profile,让 bundle 层在启动时完成合成。
使用方式
在 DSH 对话中告诉 agent:
# 1. 先诊断(只读,永远安全)
运行 dsh_doctor
# 2. 用推荐的范围修复
用 safe 范围运行 dsh_doctor_fix
# 3. 只有 safe 未解决时才升级
用 deps 范围运行 dsh_doctor_fix # 追加 pnpm install
用 full 范围运行 dsh_doctor_fix # 追加残留进程清理
两个工具都接受可选的 profile(默认 web)和 port(默认 3080)参数:
用 profile headless port 8080 运行 dsh_doctor
dsh_doctor 检查什么
| 类别 | 检查内容 |
|---|---|
| 环境 | Node.js、pnpm、dsh 版本 |
| DSH home | 主目录及必需子目录 |
| Profile | profile 目录、关键文件、node_modules |
| 配置语法 | package.json JSON 合法性、pnpm-workspace.yaml 的 allowBuilds 占位符 |
| Bundle 依赖 | 声明的 bundle 是否存在、link 依赖是否可解析 |
| 配置挂载 | dsh --dump-config 是否成功、核心 bundle 是否挂载 |
| 端口 | 指定端口是否空闲 |
| 健康 | Web URL 是否返回 HTTP 200 |
| 磁盘 | DSH home 所在盘剩余空间 |
每项检查返回 ok / fail / ,附带可读详情;失败时还会给出 修复建议。