SherlockGougou/dsh-plugins-fix

SherlockGougou★ 0JavaScriptLast synced: 2026-08-15

Open on GitHub

DSH 的插件(cordis.patch.yml 补丁层中的条目)一旦配置损坏、插件包缺失或初始化崩溃,会导致 DSH 无法启动。dsh-fix 是一个独立于 DSH 运行的命令行工具:诊断问题、一键进入安全模式、精准禁用元凶插件、二分定位故障源,并且所有操作都可回滚。

README excerpt

dsh-fix 独立的 DSH(DeepSeek Harness)插件故障诊断与修复工具 —— 不依赖 DSH,也不需要任何 npm 依赖。 DSH 的插件( cordis.patch.yml 补丁层中的条目)一旦配置损坏、插件包缺失或初始化崩溃,会导致 DSH 无法启动 。 dsh-fix 是一个独立于 DSH 运行的命令行工具:诊断问题、一键进入安全模式、精准禁用元凶插件、二分定位故障源,并且所有操作都可回滚。 - 零依赖 :纯 Node.js 标准库 + 内置(vendor)的 js-yaml,无 node modules - 跨平台 :Windows / macOS / Linux 通用(DSH 用户必然有 Node ≥ 18) - 非破坏性 :每次修改前自动备份, restore 一键回滚 - 双语输出 :自动跟随系统语言(zh / en),可用 --lang 指定 何时使用 DSH 出现以下情况时使用: - 启动即失败,报错形如 plugin(s) failed to load / failed to parse patches / 补丁解析失败 - 刚安装/更新了插件后 DSH 无法启动 - 启动失败但不确定是哪个插件引起的 快速开始 不需要安装任何东西,下载本仓库后直接运行: 默认操作 $DSH HOME (未设置时是 /.dsh ),可用 --home 指定其他位置。 典型故障处理流程 1. 诊断 只读检查:补丁文件语法(与 DSH 完全一致的 YAML 方言,支持 !!js 表达式)、条目结构、插件包是否已安装(模拟 Node 模块解析)、重复 id、损坏的 node modules 符号链接、依赖缺失等。发现错误时退出码为 1。 输出采用 flutter doctor 风格:每个检查项一行 [✓] / [!] / [✗] 状态标记,问题明细缩进显示,结尾是汇总与处理建议: dsh-fix doctor -v (或 --verbose )会追加逐项检查清单——package.json、node modules、补丁条目数量、每个插件的模块解析结果,以及 info 级提示(默认隐藏)。 2. 一键安全模式 —— 先让 DSH 跑起来 把所有用户插件条目(含 id 定向补丁的目标)追加 disabled: true 禁用补丁,DSH 即可用内置功能正常启动。禁用补丁带 dsh-fix: 标记,随时可撤销。 3. 二分定位元凶 交互式二分:每轮禁用一半候选插件,你启动一次 DSH 回答 y/n,通常几轮内锁定元凶。锁定的插件保持禁用,其余自动恢复。 4. 精确控制与回滚 命令一览 命令 说明 是否修改文件 doctor 只读诊断,输出错误/警告/提示与退出码 否 list 列出各 profile 的插件条目与缺失依赖 否 safe 安全模式:禁…

View full README on GitHub →
Terminal / TUIdeepseekdeepseek-harnessdshdsh-plugindsh-plugins

Category