DSH Plugins
返回列表
🧩

dsh-death-forensics

admin-security 更新于 2026.09.02

在终端中运行以下命令:

dsh plugin install shenhuanageshei/dsh-death-forensics

将以下提示词粘贴到 DeepSeek Harness 对话框中:

在 DeepSeek Harness 中执行 dsh plugin install shenhuanageshei/dsh-death-forensics 即可安装该插件,源码位于 https://github.com/shenhuanageshei/dsh-death-forensics 。

插件介绍

dsh 的 web 进程可能在没有任何痕迹的情况下消失:外部 kill、事件循环冻结、未捕获异常。外部启动器能记下退出码和 stderr,却回答不了更关键的问题——进程死前的最后几秒到底在做什么、心跳停在了哪一刻、崩溃堆栈长什么样。dsh-death-forensics 就是补上这个空白的进程内黑匣子插件。

它做三件事。第一,按可配置的心跳间隔(默认 15 秒)向有界 JSONL 日志追加时间戳,形成存活轨迹。第二,捕获 uncaughtException(含通过 Node 默认 throw 链浮出的 unhandled rejection),记录完整堆栈后原样打印并以 exit(1) 退出,宿主机行为与未装插件时逐字节一致。第三,在下次启动时交叉比对上次状态:SIGTERM/SIGINT 记为优雅退出,普通 exit 记为中性退出,若缺少关闭帧则判定为非优雅结束并写入 crash 日志。内置的 death_forensics_report 工具把当前启动标识、上次结束方式、死亡窗口(上次心跳到本次启动)、崩溃日志尾部和外部启动器日志尾部聚合为一份完整视图。

安全边界同样清晰:零子进程、零 monkey-patching,所有写路径均为同步 I/O 加 try/catch 降级——录制失败只会让黑匣子自身静默,绝不会拖垮宿主。它适合运维与安全团队:当你运行长期驻留的 dsh web 进程,需要一条可审计、进程内的取证链,再配合外部启动器,就能从上一次生命的最后心跳到下一次生命的第一行代码,完整重建时间线。

使用场景

  • dsh web 进程意外消失后,还原死前最后几秒的心跳与堆栈轨迹
  • 区分优雅退出与非正常崩溃,快速定位进程死亡根因
  • 保留崩溃堆栈与心跳时间线,满足安全取证与合规审计要求

适合人员

  • 运行长期驻留 dsh web 进程的平台运维团队
  • 需要进程内审计链与安全取证能力的安全工程师
  • 关注宿主稳定性保障的 dsh 插件与框架开发者