dsh-doctor:DeepSeek Harness 诊断插件

前言

DeepSeek Harness(DSH)通过插件系统扩展功能。在调试或使用过程中,环境配置、端口占用、残留进程以及过大的 session 常常导致问题。dsh-doctor 是一个诊断插件,它将 DSH_HOME、进程状态、端口占用、版本信息以及过大 session 的检查结果收集成一份可复制的 Markdown 报告。它不替代 Desktop 或 TUI 界面。

插件概况

  • 名称:dsh-doctor
  • 维护者:henrytian1998
  • 类别:客户端
  • 许可证:MIT
  • 定位:这是一个 bundle,不是 profile。它安装到现有的 web / tui / 自定义 profile 中。

安装与验证

安装插件需要使用官方的插件安装命令,随后重启对应的 profile。

  1. 执行安装命令:
    dsh plugin --profile web add github:henrytian1998/dsh-doctor
  1. 安装完成后,重启 profile(例如 dsh --profile web)。
  2. 验证插件是否正确加载:
    dsh --profile web --dump-config
在输出的配置中,必须包含 `id: doctor` 和 `name: dsh-doctor` 两行。如果缺少,说明 manifest 解析失败。
  1. 检查 Host 启动日志,应包含 doctor loaded 字样。

核心功能

该插件在 v0.1 版本中主要检查以下内容:

  • 环境与版本:读取 DSH_HOME、当前 profile 名称和 bundles 配置。检查 Node.js 版本(要求 ^22.19.0 || >=24.0.0)以及 dsh 版本。
  • 端口检查:默认检查端口 3080,或通过 --port 参数指定的端口。它会列出当前正在监听的进程,但不会将当前进程树标记为错误。
  • 残留进程:在 Windows 环境下,检查残留的 node 或 dsh 进程。它会标记可能属于该 profile 的进程,但不会终止任何进程。
  • 过大 Session:检查 $DSH_HOME/sessions/**/*.jsonl 和 *.jsonl.zstd 文件。默认阈值为 50 MiB,仅报告文件路径和大小,不会删除文件或打开事件流。

使用方法

安装并重启 profile 后,在 DSH 的 UI 界面中运行命令 /doctor。

生成的报告会保存到以下位置:
* $DSH_HOME/logs/doctor-<timestamp>.md
* $DSH_HOME/logs/doctor-<timestamp>.json(包含 schema: dsh-doctor/v1)

参考文档中的 docs/sample-report.md 可以了解报告的具体格式。将 Markdown 报告粘贴到 GitHub Discussions 时,结论会显示为 PASS / WARN / FAIL。

注意事项

  • Bundle 与 Profile:请勿将其视为一个新的 profile,它是一个 bundle,需要安装到现有 profile 中。
  • 权限与范围:该插件以当前 dsh 进程的权限运行。目前不检查 Desktop shell / Electron / Wails / Tauri 等框架,也不编辑官方 packages/client/* 目录。
  • 安全机制:v0.1 版本不会删除文件,也不会打开事件流。
  • 版本依赖:安装后必须重启 profile 才能生效。

链接

  • GitHub 仓库:https://github.com/henrytian1998/dsh-doctor
  • 社区目录:https://www.skillhub.cn/plugins/henrytian1998/dsh-doctor
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜