LittleBlackTong/dsh-plugin-heartbeat

LittleBlackTong★ 2JavaScriptLast synced: 2026-08-19

Open on GitHub

README excerpt

dsh-plugin-heartbeat A heartbeat plugin for DeepSeek Harness: wakes the agent on a configurable interval so it proactively reports progress, risks, and blockers — or just checks in. DeepSeek Harness 的「心跳」插件:给 agent 装一个定时唤醒的闹钟,让它 主动 开口 —— 汇报进展、风险、卡点,或者没事贫两句。类似 OpenClaw 的心跳模式。 怎么工作 - Host 平面的 Cordis 插件,监听 agent/created ,给每个 root agent (子 agent 跳过)挂一个独立定时器。 - 每次心跳通过 agent.followup() 注入一条合成 user 消息( source.kind === 'plugin' ): - agent 空闲 → 立即开新一轮,主动说话; - agent 忙 → 消息排队,当前轮结束立刻处理 —— 不打断、不丢失 ; - 连续忙时多拍心跳 → 只保留一条待处理( inbox.replace 原地替换,不堆积)。 - 退避间隔(v0.4.0) :初始 10 分钟;无人回复则下一拍 20 分钟、再下一拍 30 分钟( [base, 2×base, 3×base] 自动推导,可 backoffSeconds 显式覆盖)。冷场越久,吵得越稀。 - 硬停保证(v0.4.0,token 保护) :连续 pauseAfterMissed (默认 3)拍没有真人回复 → 拆掉定时器彻底停止 ,绝不再投递;只有你的下一条消息能复活它,并从初始 10 分钟档 重新计时 。聊天活跃时每次你说话都会重置相位——心跳只在真正的冷场后才开口。 - 轻量唤醒(v0.4.0) :投递前先请宿主的 compaction 服务把长历史压成 checkpoint 摘要( compactBeforeBeat ,默认开,失败不影响投递),注入的指令明确「不调工具、不复盘历史、≤5 句」——每拍消耗的上下文尽量小。 - 每小时封顶(可选) : maxBeatsPerHour (默认 0=关)给任何 60 分钟窗口设心跳上限,防「断续回复反复重置退避」的极端烧法。 - 注入的消息在对话流里渲染为一条折叠的 context 小行,不是整块用户气泡。 安装 (包内置 dsh.bundle manifest, dsh plugin add 会把它自动挂进 profile 的 bundles 层;dsh-market 里的一键安装同此通道。) 重启 DSH 后生效。之后在 设置 → 心跳 Heartbeat 面板里随时改频率、开关与暂停阈值,保存即热应用(无…

View full README on GitHub →
Tools / Devdsh-pluginagent

Category