dsh-plugin-heartbeat:給 DeepSeek Harness 的 agent 加一個定時心跳

前言

在 DeepSeek Harness(DSH)裏,agent 通常由用戶消息觸發。你不問,它一般也不會主動開口。對於長時間運行、等待外部事件,或者用戶暫時離開的會話,這種模式容易讓人錯過進展、風險和卡點。

下面介紹的 dsh-plugin-heartbeat 是一個 DSH 插件,用來給 agent 加一個定時喚醒機制。它讓 agent 在空閒或任務間隙按設定節奏主動說一句:有進展說進展,有風險說風險,沒有內容就簡短說明。

這是什麼

dsh-plugin-heartbeat 由 LittleBlackTong 維護,採用 MIT 許可證。它是一個 Host 平面的 Cordis 插件,監聽 agent/created 事件,併爲每個 root agent 掛一條獨立定時器。

它通過 agent.followup() 注入一條合成 user 消息,消息來源標記爲 source.kind === 'plugin'。這個機制用於讓 agent 主動彙報狀態,而不是讓它自行開啓新任務。

核心能力

定時喚醒

插件按設定週期喚醒 agent。agent 空閒時,會立即開始新一輪;agent 忙時,消息進入隊列,等當前輪結束再處理。連續忙時,隊列中只保留一條待處理,不堆積。

退避與硬停

心跳間隔支持退避:初始爲 10 分鐘,如果沒有真人回覆,後續間隔按 [base, 2×base, 3×base] 增加。

連續 pauseAfterMissed 拍沒有真人回覆時,插件會硬停定時器。用戶下一條消息到達後,心跳再復活。

投遞前壓縮

支持 compactBeforeBeat。開啓時,插件會在投遞心跳前把歷史壓縮成 checkpoint 摘要,減少每拍注入的上下文量。

頻控與展示

支持 maxBeatsPerHour,爲 60 分鐘窗口設置心跳上限。

注入的心跳消息在對話流裏渲染爲摺疊的 context 小行,不是一整塊用戶氣泡。

安裝與啓用

安裝命令如下:

dsh plugin --profile <profile> add dsh-plugin-heartbeat

安裝後重啓 DSH 生效。插件運行依賴:

@deepseek-ai/cordis ^4.0.1
@deepseek-ai/schemastery ^3.18.1
Node >=18

插件以當前 DSH 進程權限運行。安裝前建議先檢查源碼和 MIT 許可證,再決定是否加入自己的 profile。

運行期配置走 <dshHome>/heartbeat.json。如果覆蓋 composition 鍵,例如 prompt,使用不帶 insert 的 id 覆蓋條目。

不要往 profile 的 cordis.patch.yml 裏手寫:

- insert:
    id: dsh-heartbeat

這可能導致 duplicate loader entry id "dsh-heartbeat",進而啓動失敗。

典型用法

安裝並重啓 DSH 後,可以進入設置 → 心跳 Heartbeat 面板,調整頻率、開關和暫停閾值,保存後立即應用,無需重啓。

如果只想改默認提示詞,可以用 composition 覆蓋 prompt。示例如下:

- id: dsh-heartbeat
  config:
    prompt: |
      當前時間 {{time}}。
      彙報進展、風險或卡點;沒有內容就簡短說明。
      總長不超過 5 句。

上面的 {{time}} 會被替換爲當前時間。該示例只用到已確認的模板變量和不超過 5 句的限制。

使用邊界

下面幾點在使用時需要注意:

  • 心跳只在 DSH 進程活着時存在;DSH 應用關閉後停止。
  • 每個會話(root agent)各自一條定時器;子 agent 不掛心跳。
  • 心跳不打斷正在執行的任務;任務結束後會補一句。
  • 默認提示詞要求 agent 別自作主張開新活,心跳定位是彙報,不是新任務。
  • 硬停前已經排隊的一條心跳,會在當前輪結束時被消費;此後不會再產生新拍。
  • 與 dsh-plugin-memory 零依賴;同時安裝時,兩者消息在同一個 inbox 隊列裏排隊。
  • 插件宿主自建 GET/POST /api/heartbeat/config 路由,設置面板直連該路由。

結尾

dsh-plugin-heartbeat 的價值很簡單:把“用戶問,agent 答”變成“agent 在冷場時主動說一句”。它適合需要長時間運行 agent、希望獲取狀態更新的 DSH 用戶和開發者。

社區目錄頁:
https://www.skillhub.cn/plugins/LittleBlackTong/dsh-plugin-heartbeat

GitHub 倉庫:
https://github.com/LittleBlackTong/dsh-plugin-heartbeat

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜