aokamoaki/dsh-startup-guard
aokamoaki★ 0JavaScript最后同步: 2026-08-16
Boot-time guard for DeepSeek Harness: repairs corrupt session logs, preflights plugin composition, smoke-tests host apply(), and quarantines crash-causing bundles so a broken plugin never bricks startup.
README 摘要
🛡️ dsh-startup-guard 简体中文 English DeepSeek Harness 启动守卫 —— 在启动前修复会话日志、预检插件组合、执行宿主插件冒烟测试并隔离崩溃源,让「插件损坏 / 日志损坏」再也无法把 DSH 卡死在启动。 📖 简介 DSH 的功能由大量第三方插件组合而成:某个插件包缺失、patch 语法损坏、client 产物未构建、甚至宿主 apply() 抛一个运行时异常,都可能让整个应用 启动即崩 。dsh-startup-guard 在启动早期异步执行七道检查,能自动修复 / 回滚 / 隔离问题源—— 它是「解析 → 组合 → 执行 → 崩溃兜底」的四层防线 ,而不仅仅是一组文件检查。 安装后 零配置 即生效,日常开销 已发布到 npm: [email protected] (npm 页面)。 重启 dsh web 后自动生效。首次启动会: 1. 扫描并(如有需要)修复会话日志; 2. 快照当前插件清单; 3. 对每个第三方插件做一次宿主冒烟 + 客户端校验; 4. 把结果写入 /.dsh/dsh-preflight-report.json 供你查看。 ⚙️ 模式与配置 配置文件: /.dsh/dsh-startup-guard.json (缺省使用默认值)。 模式 行为 :-- :-- report 只检测与报告, 绝不修改任何文件 fix (默认) 自动修复 / 自动禁用 / 自动回滚 strict fix + 致命组合形态写块标记,启动器拒绝启动并弹窗 配置项 默认 说明 :-- :-- :-- mode fix report / fix / strict smoke true 是否执行宿主 apply() 冒烟 smokeTimeoutMs 15000 单个冒烟子进程超时 clientVmCheck true 是否在 vm 中真实加载 client 产物 clientFactorySmoke false 是否额外调用 client factory(stub require) quarantineOnCrash true 崩溃标记在场时强制全量冒烟 autoRepairComposition true 自动禁用 name: 失效的 patch row tornTailGraceMs 300000 判定"永久 torn 尾帧"的停写时长 keepSnapshots 10 保留的快照份数 exclude [] 永不触碰的 bundle 名单 🛡️ 自动禁用的安全策略 冒烟跑在 mock 环境,失败可能是真实 bug,也可能是插件依赖真实 DSH 服务的环境缺口。因此: - 单独的冒烟失败不会自动禁用 (只写入报告与 fixNeeded ); - 上次启动 确实崩溃过 (崩溃标记在场)→ 冒烟失败插件自动…
在 GitHub 查看完整 README →