qlheric/dsh-cvm--packages-dsh-budget ↗★ 0
@qlheric/dsh-budget
DSH 认知运行时插件:预算熔断——给 agent 的 token/步数设上限,超限先软提醒再熔断 适合需要监控和限制Agent资源消耗,防止无限循环或超额消费的用户。
インストール
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:qlheric/dsh-cvm#18606b7f57970b96e25559d5daf5b65df4da355c&path:packages/dsh-budgetドキュメント
README 全文を読む ↗dsh-budget · 预算熔断
给会话的 token / 步数 设上限,用到阈值时软提醒一次(不中断)。
它做什么
- 数据全部取官方已有投影:token 来自
dsh-token-meter的tokenUsage,步数来自本插件的cvmBudget(数tool/call)。 - 用量达到
softRatio(默认 80%)时,在轮次收尾(agent/turn-stopping)steer 一条提醒,每个会话至多一次。 - 不中断会话——默认不做硬熔断。
Config
- id: budget
config:
maxTokens: 1000000 # token 上限(默认 100 万)
maxSteps: 200 # 步数上限
softRatio: 0.8 # 到 80% 先软提醒
steerOnce: true # 每个会话只提醒一次
enabled: true
⚠️ 已知边界(重要,v2 仍然是近似)
v2 能把「当前活跃的子 agent」的消耗计入团队总量,但有两个限制:
- 已结束的子 agent 不计入。实测确认:
child上没有 parent 字段(parent: null),无法把已结束子 agent 的消耗可靠归到某个父会话。更关键的是实测发现:子 agent 通常在自己的turn-stopping之前就结束了,所以父会话在收尾时往往看到childTokens = 0—— 这个团队总量实际上是个下界,不是精确值。 - 活跃集合是插件级的:多会话同时派人时会互相看到(单会话无影响)。
修过的一个真 bug:turn-stopping 在子 agent 自己的会话里也会触发,而活跃集合是插件级的、里面就有它自己 ⇒ 不排除会重复计算(实测 ownTokens == childTokens == 16199,团队量被算成 32398 翻倍)。现在聚合时按 session id 排除自己。
用法:countSubagents: false 可退回"只看当前会话"。
与其他插件的关系
正交。convergence 管打转、evidence 管验证债务、contract 管目标漂移,本插件只管预算。