dsh-tool-budget:DeepSeek Harness 會話工具調用預算控制插件

前言

在 DeepSeek Harness(DSH)的開發與調試中,長會話往往會導致 API 調用次數激增,不僅消耗配額,還可能引發不可預期的行爲。現有的 dsh-repeat-stop 插件主要用於攔截連續的相同調用,但無法解決“單次會話內頻繁使用不同工具”的問題。

dsh-tool-budget 正是爲了解決這一場景而生。它作爲一個安全護欄,在單次會話的工具調用達到預設閾值後,強制停止後續的工具使用,防止預算耗盡。

插件介紹

dsh-tool-budget 是 DeepSeek Harness 的一個插件,屬於 dsh-wsl-kit 套件的一部分。它不直接限制產品許可證,而是運行時對工具調用次數進行硬性攔截。

  • 插件名:dsh-tool-budget
  • 許可:MIT
  • 版本:0.1.2
  • 核心功能:在單次會話結束後硬停止工具使用。

核心功能

  1. 硬停止機制:當單次會話的工具調用次數超過閾值時,插件會直接阻止新的工具調用。
  2. 默認預算:默認允許 80 次跟蹤調用,第 81 次調用將被拒絕。
  3. 默認排除:默認排除 job_* 系列工具(如 job_output、job_list、job_kill),以便長時任務監控不受影響。
  4. 安全護欄:它是一個運行時安全限制,而非產品層的許可證限制,用戶可以根據需要手動調整。

安裝與啓用

安裝該插件需要滿足以下系統環境:
* DeepSeek Harness (dsh) 版本 >= 0.1.2
* Node.js 版本 >= 18

執行以下命令進行安裝:

dsh plugin --profile web add github:173787247/dsh-tool-budget

安裝完成後,重啓 dsh web 進程以使配置生效。在 Trajectory(軌跡)中,被攔截的調用會顯示爲 dsh-tool-budget: blocked。

配置方法

配置文件位於 cordis.patch.yml。你可以通過調整配置項來改變預算限制或排除規則。

- id: dsh-tool-budget
  name: dsh-tool-budget
  config:
    enabled: true
    maxCalls: 80
    exclude:
      - job_output
      - job_list
      - job_kill
    # include: []   # 如果設置此項,僅統計列表中的工具名稱
配置項 默認值 說明
enabled true 總開關
maxCalls 80 每個會話允許的最大跟蹤調用次數
exclude job_* 不計入預算的工具名稱
include (空) 如果非空,僅統計列表中的工具

如果覺得 80 次的限制過緊,可以在配置文件中提升 maxCalls 的數值。

與 dsh-repeat-stop 的區別

這兩個插件配合使用,能覆蓋不同的工具調用場景:

插件名稱 阻斷邏輯
dsh-repeat-stop 阻止連續的相同調用
dsh-tool-budget 阻止單次會話內的累計調用次數超過上限

適用場景

此插件適用於需要嚴格控制單次會話 API 消耗的場景,例如長時間運行的 WSL 任務或高頻調用的自動化腳本。

總結

dsh-tool-budget 提供了一種簡單有效的手段,防止智能體在單次會話中無限制地消耗資源。配合 dsh-repeat-stop 使用,可以同時解決“重複刷屏”和“總次數超限”兩個問題。

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

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

小夜