1. 移除任何内容前先判断故障类型
- Provider 故障:认证、endpoint、协议、模型 ID、rate limit 或网络错误。
- Workspace 故障:只与某个 workspace 相关的路径、权限、仓库或 sandbox 错误。
- Profile 故障:Web Profile 无法启动,或多个独立能力同时失败。
- Plugin 故障:问题从某次 Bundle 变更后开始,并跟随该挂载能力出现。
2. 保留证据并停止 Profile
记录准确命令、Harness 版本、Profile、package 版本、首个错误和最近一次成功操作。修改 Profile 文件或 package 状态前,先正常停止进程。
# Stop the foreground Web Profile
Control-C
# Confirm the installed Plugin inventory
dsh plugin --profile web list3. 隔离可疑 Plugin
在 Plugin 列表中搜索挂载名称,并与 package 的 Bundle patch 比较。只禁用、移除或回退最近的可疑项;证据仍指向单一变化时,不要删除整个 Profile。
4. 回到已知可用的配置
- 首次恢复时保持 Harness 版本不变。
- 使用相同 workspace 和已知可用的 provider,让可疑项成为唯一变量。
- 如果 Profile 仍无法启动,使用全新的隔离 DSH_HOME 测试,而不是删除原环境。
- 阅读 package 的移除说明,确认是否仍有数据或外部配置残留。
dsh plugin --profile web remove package-name
# Then restart the same pinned Harness baseline
pnpm dlx @deepseek-ai/dsh@0.1.0-rc.7 web5. 用相同的小任务证明恢复
重复建立基线时使用的确定性任务。只有同一任务在已知可用的模型和 Profile 下成功,才能证明恢复;仅仅打开 UI 还不够。
什么时候向上游报告
只有能够说明 Harness 版本、package 版本、Profile、操作系统、Node.js 版本、预期结果、实际结果,以及干净 Profile 是否能复现时,才提交最小复现。所有日志和截图都要移除 secret 与私有路径。