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 使用,可以同时解决“重复刷屏”和“总次数超限”两个问题。

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

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

小夜