概览
dsh-deadman
DSH deadman switch: run a command unless a living agent keeps holding it off. Arms a watchdog that asks the owning session on every firing, skips when somebody holds, and acts when nobody answers.
README / ZH
插件文档
目录摘要
DSH deadman switch: run a command unless a living agent keeps holding it off. Arms a watchdog that asks the owning session on every firing, skips when somebody holds, and acts when nobody answers.
dsh.pub 核对固定版本的组合包契约、运行时事实与分发语义;完整 README 请查看源仓库。
在 GitHub 阅读完整 READMELIMITATIONS
已知限制
- **只在长期运行的实例里有效**:调度器活在 dsh 进程内。在 headless 一次性进程里布防,进程退出后没人巡检(除非之后有长驻实例启动时把它载入)。 - **单写者假设**:`tasks.json` 是普通 JSON 文件,多进程同时写会互相覆盖。不要在多进程里同时布防;本插件按"只装长期运行 profile"设计。 - `progressScope: owner` 只统计属主与它的**直接**子代理,更深层的孙代理不计入。 - 提问阻塞闸门依赖会话投影 `userQuestions`;宿主没有该投影时该闸门不生效(只会走其它闸门,不会误判)。 - 不保证"恰好执行一次":宿主崩溃可能留下已执行但未记账的任务。 - 三条闸门(`progressScope` 两种取值的差别、提问阻塞放行、`maxHoldMinutes` 到顶放行)已由 `npm test` 的假宿主测试套件覆盖(`tests/fake-host.mjs`,确定性复现);**未覆盖**的是"真实会话里等满 600 秒提问超时"这一长等待过程,以及多进程布防。
