DSH Web 退出后自动拉起并修复启动故障
29.5/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add xiaohj233/dsh-keepalive该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-home-paths@deepseek-ai/dsh-settings@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 进程退出自动拉起
- 快照校验修复
- 补丁还原
DSH Web 进程的可选分离看门狗,带快照校验修复和显式补丁还原。
README
由 DeepSeek 最新模型翻译生成dsh-keepalive
状态:功能插件(含兼容补丁),仅在 DeepSeek Harness 0.1.0-rc.6 上测试过。
dsh-keepalive 为 DSH Web 进程运行一个分离的看门狗。显式启用后,看门狗会在进程退出后把 DSH 重新拉起来。可选的修复代理会检查反复出现的启动失败、修改插件工作区,并从快照重试。
问题
进程一旦退出,Web 自己无法重启。DSH 内置了流空闲看门狗和浏览器重连退避,但这些机制都不负责监督宿主进程。
行为
- 为看门狗配置添加一张 Plugins 设置卡片。
- 仅当 enabled 为 true 时启动分离的 Node 看门狗。
- 检查进程健康状态,用相同的 DSH 二进制和参数重新拉起。
- 手动重启:设置卡片「手动重启」按钮(或 POST /api/keepalive/restart)——当前进程退出后由看门狗拉起;看门狗未运行时由兜底重启器(restarter.mjs)以相同命令拉起。
- 为设置命名空间和 Windows 隐藏子进程应用守卫式兼容补丁。
- 启动反复失败后,可选地运行修复代理。
- 对允许修复的工作区做快照,校验结果路径/配置/语法,失败的修复回滚。
展开完整文档(README 剩余 1 节)
dsh-keepalive 状态:功能插件(含兼容补丁),仅在 DeepSeek Harness 0.1.0-rc.6 上测试过。 dsh-keepalive 为 DSH Web 进程运行一个分离的看门狗。显式启用后,看门狗会在进程退出后把 DSH 重新拉起来。可选的修复代理会检查反复出现的启动失败、修改插件工作区,并从快照重试。 问题 进程一旦退出,Web 自己无法重启。DSH 内置了流空闲看门狗和浏览器重连退避,但这些机制都不负责监督宿主进程。 行为 - 为看门狗配置添加一张 Plugins 设置卡片。 - 仅当 enabled 为 true 时启动分离的 Node 看门狗。 - 检查进程健康状态,用相同的 DSH 二进制和参数重新拉起。 - 手动重启:设置卡片「手动重启」按钮(或 POST /api/keepalive/restart)——当前进程退出后由看门狗拉起;看门狗未运行时由兜底重启器(restarter.mjs)以相同命令拉起。 - 为设置命名空间和 Windows 隐藏子进程应用守卫式兼容补丁。 - 启动反复失败后,可选地运行修复代理。 - 对允许修复的工作区做快照,校验结果路径/配置/语法,失败的修复回滚。 - 修复范围扩展:对 web profile 中 link:/file:(目录)依赖指向的开发目录,修复代理可在其 node_modules 下新增 junction 补齐依赖解析;新增链接被快照追踪、失败回滚时移除,现有条目与源码/配置一律不动。 - 修复进度页:web 启动失败进入修复时,看门狗在 web 端口(默认 3080)上提供零依赖状态页——显示"启动发生错误,正在修复"、修复代理实时进度与已用时间;修复成功后页面自动跳回 web 界面,失败则显示修复代理的结论。 - 修复代理可对【本次报错插件所属的 link 目标开发目录】内的源码做最小修复(如补变量声明、修正 import、修复语法),该目录被内容快照覆盖、失败回滚;禁止删除文件。 - 修复代理的工作区根自动取所有用户 link 目标开发目录的公共父目录(如 D:\Code),官方 @deepseek-ai/* 的 link 包被排除、不可写;沙箱写入由快照审计兜底。 - 前端插件失败上报:web 存活但某个 client 插件模块加载失败时上报(仅限浏览器对动态 import() 失败的明确包装消息,如 "Failed to fetch dynamically imported module";不监听 window error、不使用 slots.onEntryError——普通脚本错误与 entry 渲染崩溃(如 React #130)都不是插件模块故障,误报只会骚扰正常使用),看门狗触发"降级修复"(跳过 live 目录快照,修复后自动重启 web 重载插件;若修复代理未做任何改动则不重启,直接清除上报)。 - 全局修复进度浮层:任何页面右下角实时显示"正在修复:阶段 + agent 进度行";仅在 status=repairing 时展示,修复结束自动消失,失败显示原因。 enabled 和 autoRepair 都需要显式选择启用;自动修复默认 false。 非目标 本包不是高可用集群、服务管理器、沙箱、恶意软件边界或秘密清洗器,也不保证失败的 DSH 实例能被自动修复。它替代不了 systemd、Windows 服务控制管理器、容器或外部监控。 兼容补丁 本插件精确针对: - @deepseek-ai/dsh-host-apiproxy@0.1.0-rc.6:允许 Web 设置 API 使用 keepalive 设置命名空间。 - @deepseek-ai/dsh-subprocess-local@0.1.0-rc.6:Windows 上本地工具子进程使用 windowsHide: true。 版本策略默认自适应:如果已安装副本的版本不是 0.1.0-rc.6,但每个锚点仍然唯一匹配,就照常打补丁(记为 adaptive 匹配);锚点漂移则跳过并说明原因。编程选项 strict 可恢复"只打精确版本"的旧行为。单个漂移副本不会阻塞另一个目标,补丁应用在 host 或看门狗启动期间也绝不会抛错。设置命名空间这一行插在允许列表数组的顶部,避免占用与 dsh-tavily-search-provider 共享的尾部锚点——两个插件无论按什么顺序安装都能共存。还原(卸载)在任何模式下都严格校验版本。写入走临时文件加重命名的原子写入,替换后校验语法,校验失败则恢复原有字节。 兼容性 需要 DeepSeek Harness 0.1.0-rc.6、Node.js ^22.19.0 || >=24、pnpm >=10。看门狗针对当前 DSH CLI 的布局设计,已在 Windows 上测试。 安装 dsh plugin --profile web add "github:xiaohj233/dsh-keepalive#v0.1.0" 重启 Web profile。只安装并不会启用看门狗重启或修复。 配置 通过 Plugins 卡片或设置文件配置 keepalive 设置区块: keepalive: enabled: false autoRepair: false checkIntervalMs: 3000 bootWaitMs: 15000 repairProvider: "" repairModel: "" provider、model、base URL、API 名称和凭据引用都以单行 YAML 安全字符串序列化。所选模型和凭据路径验证过之前,先保持修复禁用。 还原与卸载 从 profile 移除插件之前,先运行本包的卸载命令: pnpm --dir "$DSH_HOME/profiles/web" exec dsh-keepalive-uninstall dsh plugin --profile web remove dsh-keepalive 未设置 $DSH_HOME 时,profile 位于用户主目录下(POSIX 为 ~/.dsh/profiles/web,Windows PowerShell 为 %USERPROFILE%\.dsh\profiles\web);Windows 上请把解析后的路径传给 pnpm --dir,不要用 ~。 命令会禁用 keepalive 状态、只终止记录的看门狗进程,并还原两个被打补丁的官方文件;任一步骤不完整都以非零状态退出。正常的 Web 关闭不会撤销补丁——关闭恰恰是看门狗要监督的事件。 安全 修复代理把启动诊断作为 prompt 输入接收。这些诊断不可信,可能夹带误导性的指令。修复运行时使用 workspace-write,继承启动进程可见的环境信息,可以修改插件工作区——这不是完整的隔离或保密边界。快照、路径、语法和回滚检查能减少意外损坏,但并不能让任意的 agent 输出变得安全。 每次修复后都要审查改动。不要在包含修复进程不该读取的凭据的机器或插件目录上启用修复。 其他已知限制: - 看门狗监督和卸载只凭记录的 PID 识别看门狗。看门狗死后若该 PID 被无关进程复用,监督会静默失效,dsh-keepalive-uninstall 还可能终止那个无关进程。卸载前先确认看门狗是否在运行。 - 连续多次轮询无响应后,看门狗会强制终止监听所配置端口的任何进程(也就是预期的重启目标);恰好占着该端口的无关服务也会被一并杀掉。 - 启动失败的诊断和最近一次修复代理的输出(上限 4 KB)会持久化在 keepalive 状态里,同源或受信任的页面可以从 /api/keepalive/status 读取。启动失败日志可能夹带环境中的秘密。 - 快照/差异/回滚层追踪 link 目标 node_modules 的顶层条目:修复代理在那里新增的 junction 会被发现并在回滚时移除;但普通插件工作区仍只遍历普通文件和目录,仍建议保持工作区无链接。 - Host 与看门狗都会重写 keepalive.json;并发写入可能暂时丢掉一次更新(下一次写入会自行纠正)。 测试 npm test npm run check:syntax npm pack --dry-run 测试覆盖:默认值、YAML 注入与往返、补丁/还原的精确行为、歧义锚点、语法回滚、快照、一次真实的分离进程卸载、看门狗启动,以及 --unpatch 参数约定。 局限性与上游现状 DSH 社区已有重启/自愈类插件,上游也可能推出官方的 keepalive 实现。本包只做一个对 Windows 友好的分离式看门狗,外加可选启用、带快照校验的修复。它无法从操作系统关机、账户注销、Node/DSH 二进制不可用或主机级资源耗尽中恢复。 License MIT。补丁目标均为 MIT 许可,详见 THIRD_PARTY_NOTICES.md。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
xiaohj233/dsh-keepalive
DSH Web 退出后自动拉起并修复启动故障
相关插件 · 开发 / 工程
隐私简历生成器reactive-resume/reactive-resume
Reactive Resume 已迁至 GitHub 上的…
★ 45,288已汉化MCP
71.7
长时任务执行闭环AMAP-ML/LongHorizon-Harness
面向 Computer-Use Agent 的 Loop Engineering
★ 1,764已汉化DSH
70.5
多代理编排运行时Enderfga/claw-orchestrator
面向编程智能体的运行时。把 Claude Code、Codex、Antigravity、Grok…
★ 586已汉化MCP
69.4
记忆进化插件csyangwen/dsh-memory-evolve
dsh-memory-evolve 使用场景指南
★ 461已汉化DSH
67.9
原生编程智能体paean-ai/deeptide
由 DeepSeek 打造,为 DeepSeek 而生。
★ 1,107已汉化DSH
67.7
多引擎接力台emo-xiaoyu/harness-mix
macOS/Linux 已加入源码构建与启动适配;目标系统的完整桌面验收仍需在对应机器执行。安装方式、Linux…
★ 419已汉化DSH
66.8
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。