dsh-local-host-guard
在终端中运行以下命令:
dsh plugin install maozhuoshushu/dsh-local-host-guard
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 终端执行 dsh plugin install maozhuoshushu/dsh-local-host-guard 安装本插件(源码:https://github.com/maozhuoshushu/dsh-local-host-guard)。
插件介绍
DSH 宿主进程最怕两件事:某次同步子进程调用把事件循环卡死,窗口还在却活儿全停、没有任何报错;以及堆顶约 4 GB 时直接 FATAL 退出,崩前大量活对象连全量 GC 也收不掉。dsh-local-host-guard 作为宿主内的随行医生,在进程里打点、限流、取证,让你下次再断不用猜,直接看报告。
卡死侧,它对 spawnSync、execFileSync、execSync 等调用做进入/返回流水,并在调用方未设 timeout 时补上默认限时;独立 worker 盯着主线程心跳,停摆超过阈值就落盘卡死报告,指名最后一次「进入了、没返回」的同步调用(含命令行摘要),并附带最近流水、内存 CPU 与 Node 进程报告。慢调用超过阈值也会单独记日志,便于事后找趋势。
内存侧,它可按规则扫描闲置且已完整落盘的会话,在通过 flush 与磁盘强校验等硬门槛后,从宿主 SessionStore 摘出活 entry 以减活对象(不删数据、不写会话文件);另有写闸、冷回填闸、队列哨兵等链路,抑制「一个动作放大成几十 KB」带来的磁盘与延迟问题。默认启用下放逻辑但动作为「只报告」,观测优先、动手需你显式改配置。
适合长期跑大会话、遇到过宿主无声卡死或 OOM(退出码 134)的 DSH 用户,以及与外部 HTTP 看门狗搭配:外部负责「救」,本插件负责「说清楚卡在哪」。零 Node 内建依赖、全中文界面与日志;不改 DSH 内核文件,卸载插件即可回滚。
使用场景
- 宿主窗口还在但任务全停、没有任何报错,需要查清是哪次同步调用卡死
- 大会话或长时间使用后堆内存逼近上限并 OOM 退出,需要减活对象而非只靠 GC
- 越用越慢或磁盘狂转,想限制写放大、冷回填与队列带来的连锁开销
适合人员
- 日常跑大会话、遇到过宿主无声卡死或异常退出的 DSH 用户
- 愿意先看卡死报告与日志、再决定是否开启内存下放等动作的运维者
- 已部署外部看门狗、希望在宿主内部补齐「卡在哪」取证能力的人