dsh-session-budget-guard:DeepSeek Harness 會話樹預算熔斷器

前言

在 DeepSeek Harness 中,一次 Prompt 調用可能通過子代理(Subagent)的遞歸調用,展開成一個龐大的會話樹。這種結構雖然能處理複雜任務,但也容易導致資金快速流失:單個會話可能在短時間內產生大量模型請求,或者樹結構的搜索和委託操作消耗大量 API 配額。

如果沒有針對會話樹的獨立控制,開發者很難在樹結構失控前及時止損。dsh-session-budget-guard 正是爲了解決這一問題而設計,它作爲“熔斷器”介入運行時,確保會話樹的總支出和支出速率在可控範圍內。

插件定位

  • 名稱:dsh-session-budget-guard
  • 定位:DeepSeek Harness 的會話樹級預算與支出速率熔斷器
  • 維護者:erya2000
  • 分類:admin-security
  • 許可證:MIT

核心功能

該插件主要提供以下控制能力:

  1. 支出監控:監控整個會話樹(根節點 + 所有子代理)的累計支出和支出速率。
  2. 熔斷拒絕:當累計支出或支出速率超過預設限制時,拒絕執行下一次模型請求或委託操作。
  3. 結構限制:限制樹結構的深度、節點數量以及搜索次數,防止過度配額的委託或搜索。
  4. 管理手段:通過日誌記錄和通知機制進行管理。
  5. 自定義通知:支持通過 Shell 模板自定義通知命令。

安裝與配置

安裝

使用官方安裝命令將插件添加到指定 Profile:

dsh plugin --profile web add github:erya2000/dsh-session-budget-guard

或者,通過本地掛載方式使用(無需安裝步驟),在 cordis.patch.yml 中配置路徑:

# ~/.dsh/cordis.patch.yml
- insert:
    - id: session-budget-guard
      name: /absolute/path/to/dsh-session-budget-guard/lib/index.js

配置示例

配置項均爲可選,具體參數參考其源碼默認值。以下是一個啓用強制執行(enforce)模式的配置示例:

config:
  mode: enforce
  treeWarnCny: 5
  treeStopCny: 10
  maxDelegationDepth: 1

適用場景與注意

適用場景

適用於需要嚴格控制單次 Prompt 調用成本,或需要防止子代理無限遞歸展開的場景。

關鍵注意點

  1. 進程內運行:這是一個進程內的守衛插件。一旦 Harness 進程重啓,會計數據不會恢復,之前的預算記錄將丟失。
  2. 模式差異:默認模式爲 notify(僅記錄日誌和發送通知)。如果啓用 enforce 模式,插件會直接取消會話並拒絕請求,這可能會導致正在運行的任務中斷。建議先在 notify 模式下觀察日誌,調整閾值後再開啓 enforce。
  3. 速率限制依賴:速率限制需要至少一箇舊樣本數據。因此,插件剛加載時的第一個時間窗口可能無法觸發速率限制,但累計支出和結構限制依然生效。
  4. 分支排除:普通分支(origin=fork)被故意排除在樹結構統計之外,不計入預算限制。
  5. 環境要求:需要 Node.js 版本大於等於 20。

結語

dsh-session-budget-guard 爲 DeepSeek Harness 的多智能體協作提供了資金與結構的防線。通過設置累計支出和支出速率的雙重熔斷閾值,可以有效避免因樹結構失控導致的 API 消耗激增。更多細節與源碼可參考 SkillHub 插件目錄 或 GitHub 倉庫。

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

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

小夜