前言¶
在 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
- 核心功能:在單次會話結束後硬停止工具使用。
核心功能¶
- 硬停止機制:當單次會話的工具調用次數超過閾值時,插件會直接阻止新的工具調用。
- 默認預算:默認允許 80 次跟蹤調用,第 81 次調用將被拒絕。
- 默認排除:默認排除
job_*系列工具(如job_output、job_list、job_kill),以便長時任務監控不受影響。 - 安全護欄:它是一個運行時安全限制,而非產品層的許可證限制,用戶可以根據需要手動調整。
安裝與啓用¶
安裝該插件需要滿足以下系統環境:
* 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 使用,可以同時解決“重複刷屏”和“總次數超限”兩個問題。