편집자 노트

astra3294/dsh-doctor

Deterministic diagnostics and recovery for DeepSeek Harness

이것은 DeepSeek Harness(DSH) 플러그인입니다. 이 사이트는 GitHub README, 설치 정보, 유지보수 상태, 공개 보안 시그널을 모아 보여줍니다.

DSH Doctor

DeepSeek Harness 的确定性诊断与恢复工具。

DSH Doctor 是 Harness「把自己改坏」两种典型情况的安全网:开得了但无法对话(WebUI 能打开但对话循环坏了),以及根本起不来(改了配置、依赖或插件后启动失败)。WebUI 还能打开时,Doctor 按钮调用仅限本机访问的 Host 救援服务;Harness 起不来时,同一套引擎以独立 CLI 运行——包括捕获启动失败的启动探针,和「一键恢复到最近健康检查点」的重置,让插件开发者可以放心折腾、随时回到能对话能用工具的状态。

DSH Doctor 0.2.0 面向 @deepseek-ai/dsh 0.1.0-rc.6。DeepSeek Harness 仍处于 Developer Preview;遇到未知版本时,Doctor 只做保守的只读诊断。

English

安装

把 Doctor 安装进 Web profile:

dsh plugin --profile web add dsh-doctor
dsh --profile web

一个 npm 包同时包含 Host 与浏览器部分,并在 WebUI 中提供:

  • 侧栏设置旁边常驻的 Doctor 入口;
  • Prompt 或 Agent 失败后,在输入框上方主动出现的恢复提示;
  • 设置中的完整 Doctor 页面,用于查看问题、检查点和回滚;
  • 页面框架层的应急浮标入口:profile 出问题时自动出现,不依赖侧栏与对话插件是否存活。

如果 WebUI 无法启动:

npx dsh-doctor recover --profile web

CLI

# 扫描一个 profile(默认离线、隐藏绝对路径)
npx dsh-doctor scan

# 启动探针:判断 Harness 能否启动,并从启动输出诊断失败原因
npx dsh-doctor boot

# 一键恢复:配置重置到健康检查点、对齐依赖,并再次验证能否启动
npx dsh-doctor recover --profile web
npx dsh-doctor recover --profile web --yes   # 同时执行需确认的动作

# 把当前 profile 快照为健康恢复基准
npx dsh-doctor checkpoint --profile web

# 启动 Harness;启动失败时自动诊断(--auto-recover 会修复并重启一次)
npx dsh-doctor launch --auto-recover

# 回滚检查点
npx dsh-doctor rollback <checkpoint-id>

recover 零确认执行安全动作,之后在 Harness 原本未运行时用启动探针验证结果。仍有 Error 或启动验证失败时退出码为 1;Warning 默认返回 0--strict 时返回 1;参数或内部错误返回 2--json 输出机器可读结果。

v0.2.0 检查内容

  • Node、操作系统、Harness 版本和 profile;
  • profile manifest、bundle 列表、cordis.ymlcordis.patch.yml、pnpm workspace 的语法与权限;
  • 缺失依赖、重复 bundle 和损坏链接;
  • 从 WebUI 调用时的 Cordis 插件运行阶段;
  • 启动失败:真实启动探针(端口监听 + 捕获输出并映射为修复动作);
  • 会话记录(session.jsonl.zstd)与 storage 缓存的完整性;
  • 本地近期日志中的 fatal/plugin failure 标记;
  • 非 registry 和外部插件来源(仅提示,永不阻塞恢复);
  • 模型路由/凭据状态,以及验证模型真实应答的极小非会话请求。

恢复

每次修改都遵守同一事务:

  1. 重新检查修复计划是否过期,并核对 profile 文件哈希。
  2. 创建仅本机可访问的修复前检查点。
  3. 只执行用户选定的动作。
  4. 重新运行完整结构检查(Harness 原本未运行时追加启动验证)。
  5. 验证失败时自动回滚。

一键安全动作包括准备 Doctor 状态,以及把 profile 配置整体重置到最近健康检查点。冷启动(还没有健康检查点)时,Doctor 可以在明确确认后合成最小合法配置文件,损坏的原文件保留在修复前检查点里。安装依赖、禁用导致启动崩溃的插件、隔离损坏的会话文件、重新启用被 Doctor 禁用的插件都需要确认。Doctor 拒绝禁用连接、布局、设置、对话、运行时、模块加载器以及 Doctor 自身入口。

检查点位于 $DSH_HOME/doctor/checkpoints/,每个 profile 保留最近 10 个,且最新的健康检查点永不被清理。为了精确回滚,检查点可能包含本地配置文件的原始副本,但绝不会进入诊断报告或上传。Doctor 不显示、不修改也不上传 API Key。

参见恢复矩阵安全策略

开发

需要 Node 24 和 pnpm:

pnpm install
pnpm check
npm pack --dry-run

许可证

MIT

REPOSITORY SIGNALS

보안 및 설치 증거

이 점수는 공개 저장소 메타데이터와 이 사이트에 등록된 설치 증거에만 기반하며, 코드 보안 감사와 다릅니다.

출처 추적 가능

공개 플러그인 카탈로그에서 왔으며, 공개 GitHub 저장소로 연결됩니다.

라이선스

저장소가 MIT 라이선스를 선언했습니다.

유지보수 활동

최근 180일 내 코드 업데이트가 있습니다.

설치 증거

재현 가능한 정확한 설치 메타데이터가 아직 등록되지 않았습니다. 저장소 설명에 따라 직접 확인하세요.

설치 라이프사이클 스크립트

검사한 패키지 메타데이터에 설치 라이프사이클 스크립트가 선언되지 않았습니다.