DSH Doctor
给你的 DSH 做体检,告诉你哪里出了问题。能处理的条目旁有「修复」按钮,先看方案,确认后才修改。
- 看问题:检查版本、配置、插件、网络和日志,并给出处理建议。
- 修问题:目前支持代理设置、配置文件开头多余字符(BOM)清理、日志密钥脱敏。其他问题提供建议。
- 有保障:修改前先备份,修完再检查,并提供回滚入口。
默认体检不会修改你的配置。
当前为 0.9.0-beta.4 测试版。已在 Windows x64 的 Node 22.19.0 / 24.21.0 验证;其他电脑、平台及真人界面操作仍待更多试用。
安装与首次使用
从本仓库的 GitHub Releases 下载
dsh-doctor-0.9.0-beta.4.tgz,保留为文件,无需自行编辑 DSH 的 profile 清单或 lockfile。在 DSH 的插件管理入口安装该本地包并启用。支持插件管理工具的会话也可使用下列参数,将占位路径替换为下载文件的绝对路径:
{ "action": "install_bundle", "target": "file:/ABSOLUTE/PATH/dsh-doctor-0.9.0-beta.4.tgz" }Windows 的 file 路径使用正斜杠。升级以插件管理器的结果为准;若提示重启,重启 DSH;已打开的 GUI 还应刷新页面。
启用后插件会自动做首轮体检。打开侧栏 DSH Doctor 查看结果;“刷新体检数据”会等待实际重采集完成。
插件自动发现当前用户的 DSH home、profile、工作区和 Web 地址,没有预置作者的用户名、盘符、代理端口或域名绕过例外。
上述是安装参数模板,不代表仓库已经发布了对应 GitHub Release。发布者应先生成并验收候选包,再上传正式资产。
普通用户的修复流程
自动体检 → 问题及证据 → 对应修复入口 → 准备并预览 → 用户确认
↓
本地备份 → 执行 → 复检 → 结果/回滚
- 「概览」和「问题」页会标出具体异常。支持处理的条目旁显示「修复」按钮,点击在该条目下准备并预览对应方案;需要代理地址时先由你填写。其它条目提供「查看建议」,不显示虚假的自动修复承诺。
- 点击「修复」只进入输入/预览,不直接写文件;仍需核对方案、勾选同意并确认执行。「问题」页底部保留执行记录与回滚入口。
- 预览展示目标文件、操作、改动大小、风险和重启要求,不展示配置正文或密钥值。
- 准备和预览不修改配置。用户勾选同意当前方案并点击确认后才执行;取消只关闭预览。
- 面板确认凭据绑定方案或执行记录,最多 5 分钟有效且只能使用一次。重新准备、预览或方案变化后须重新确认。
- 从智能体调用
dsh_repair apply/rollback时,单纯填写confirm也不会视为用户同意;插件另向真实用户发起确认问题。缺少用户答复通道时保留原配置。 - 本人主动输入
/doctor repair apply <planId> --yes或回滚命令,是另一条人类命令入口,不把模型生成的命令当作自动同意。 - 写入前重新校验文件和计划;先备份后修改,复检失败会尝试回滚。后续文件变化、活动日志等情况可能使回滚受阻,结果会明确显示。
- 配置写入可能要下次启动才生效。“文件已复检通过”和“当前进程已经采用新配置”分别展示。
目前支持的执行动作
| 动作 | 修改范围 | 用户输入/限制 |
|---|---|---|
proxy-env |
当前 DSH home 的 .env 中代理路由变量 |
用户明确提供 HTTP(S) 代理 URL;不猜地址、不读取代理密码,不覆盖既有 NO_PROXY 和其他配置 |
strip-bom |
当前 profile 的 package.json 或 cordis.patch.yml |
仅去掉开头的 UTF-8 BOM;不重序列化 JSON、不扩大到其他文件 |
secret-cleanup |
受支持的本地 DSH 日志 | 先列范围,延后近期活动文件;覆盖不完整则显示 partial,不宣称全部清净 |
备份可能包含修复前的敏感配置或日志,只保留在本地,不要连同备份、执行记录或原始诊断目录上传 GitHub。提交问题时优先使用插件生成的脱敏导出,并自行检查导出内容。
对话与命令
dsh_doctor:扫描、分组报告、脱敏导出与导出历史。问题数据携带适用的修复准备动作。dsh_repair:list / prepare / preview / apply / rollback / history;apply 和 rollback 走真实用户确认。/doctor:本人命令体检;/doctor history看导出记录;/doctor export json导出脱敏 JSON。
在对话里可直接说:“检查 DSH 环境,把支持修复的问题先列方案,等我确认再执行。”
准备快照 15 分钟后过期。代理地址含账号密码、越界目标、链接目标、计划篡改和写前文件漂移都不会直接执行,需先核对并重新准备。
网络、诊断与隐私
- 接入点探测执行 DNS → TCP → TLS → HTTP,不发送 Authorization、cookie、模型凭据或 completion。
- 匿名 401/403 表示端点有响应,不证明 key、额度或模型可用。429、5xx、超时、DNS/TLS 等分别说明,不用一条短超时断言“没有代理”。
- HTTP 路由由实际 Node 版本、环境代理开关和宿主 dispatcher 决定;DNS/TCP/TLS 是独立连接,不预设四步同一路径。
- 默认每目标配置 12000ms 总预算、3000ms 单步;可配置预算,单步上限 4000ms。预算是调度目标,不是严格 SLA;重试和响应体读取可能增加实际耗时。
- 自动首轮体检之后,面板/工具按需刷新并使用短缓存;这是按需诊断,不是常驻高频后台扫描器。未知、未完成、旧快照与失败分开显示。
- 模型凭据仅检查存在性;日志泄露扫描只显示类型、数量和路径,不把命中值输出给面板。脱敏导出与含原内容的本地备份是两类不同文件。
- 环境健康分不是测试通过率或开发进度;根因的证据分也不是经过真实故障语料校准的概率。
支持与验证边界
- Node 声明:
^22.19.0 || >=24.0.0;需要支持 Cordis 插件、工具与 Connection 的 DSH。能力缺失时对应入口降级,不开放匿名修复路由。 - Windows x64 的 Node 22.19.0 与 Node 24.21.0 均完成本版全量回归;临时 home/profile、已装包与 HTTP 闭环单独记账,不替代另一台物理机器的安装证明,也不涵盖所有 22.x 补丁位。
- 本版修复 Node 22.19.0 对截断 Zstd 静默返回的阻写缺口:先核对帧容器边界,截断、垃圾尾巴、不支持的 skippable 帧或解码错误均阻止该文件重写;完整空帧与合法多帧仍可读取。其它机器、深色/窄屏视觉、真实鼠标/点击及完整 shipped preset/审批/带凭据模型 turn 仍需独立验收。
- 界面与主要诊断文案为中文。缺少系统代理环境变量时不会假定其他应用的系统代理已被 Node 使用;目前不自动发现注册表、钥匙串或系统代理密码。
许可证
Apache License 2.0,标准正文来源为 Apache 官方许可证。本项目不是 DeepSeek 官方产品。
No comments yet. Be the first to write one.