在达到可配置的会话级工具调用次数上限后,硬拦截后续工具调用。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:173787247/dsh-tool-budget
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
DeepSeek Harness 插件:按单场会话工具调用预算做硬拦截。
与 dsh-repeat-stop 搭配。属于 dsh-wsl-kit。
在套件里的位置
单个会话的工具调用到达预算就硬停。完全相同的循环是 dsh-repeat-stop。
flowchart LR
calls["同一会话的工具调用"] --> budget["dsh-tool-budget"] --> stop["硬停"]
整套关系图和版本快照:dsh-wsl-kit 中文说明。本插件是 0.1.2(daily)。不要把那份总表抄进本 README。
兼容性
| 项 | 值 |
|---|---|
| 插件 | dsh-tool-budget 0.1.2 |
| 最低 dsh | ≥ 0.1.2(Windows 中继 :3081 一次性 ?token=) |
| 最新验证 | 以 dsh-wsl-kit 兼容性 为准(当前 0.2.0-rc.2)— 套件唯一真源 |
| 套件档位 | daily(亦含于 github / full;fetch+net 亦在 llm) |
| 云端 Flash | settings / llm-deepseek 使用 deepseek-flash(V4.1 Flash);本插件不配置模型 id |
| Agent Teams | 上游实验包;本插件不依赖 |
套件版本地板:check-plugin-versions.sh。故障树:TROUBLESHOOTING.zh.md。
为什么需要
dsh-repeat-stop 管的是「同一工具 + 同一参数」连击刷屏。本插件管的是「一场会话里换着花样调很多工具、没完没了」——长 WSL 任务容易把 API 额度烧光时特别有用。
默认允许 80 次计入统计的调用,第 81 次拒绝。job_* 状态类工具默认不计。
这是一条安全护栏,不是产品授权上限。觉得紧就调大 maxCalls,或关掉。
安装
dsh plugin --profile web add github:173787247/dsh-tool-budget
重启 dsh web。不会出现新工具。拦截时 Trajectory 显示 dsh-tool-budget: blocked。
配置
- 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 |
(空) | 若设置,则只统计这些名称 |
与 dsh-repeat-stop 的区别
| 插件 | 拦截对象 |
|---|---|
dsh-repeat-stop |
连续相同调用 |
dsh-tool-budget |
整场会话工具总次数 |
测试
npm test
常见问题
会不会取代 dsh-repeat-stop? 不会。repeat-stop 拦相同连击;本插件限制整场会话总次数。
会拦 job_ 吗?* 默认不会——它们在排除列表里,方便观察长时间跑的 shell 任务。
怎么提高上限? 在 profile 的 cordis.patch.yml 里设置 config.maxCalls,然后重启 dsh web。
许可
MIT
链接
同类插件
toby-bridges/api-relay-audit★ 880
从 DeepSeek Harness 对 AI API 中转站和 LLM 代理运行本地安全审计,生成 Markdown 报告,覆盖提示词注入、模型替换信号、工具调用改写、错误泄漏、流完整性和按 profile 启用的 Web3 风险。
SeaOf0/dsh-redteam-model★ 698
面向授权安全研究的 DSH 合集:九个工作模式(redteam 总控、渗透测试、代码审计、二进制分析、攻防评估、免杀对抗、应急溯源、云安全攻防、CTF 解题)与十五个运行时插件,设置页管理台支持一键部署、安装、更新与卸载。
howmp/dsh-pentest★ 609
面向 DeepSeek Harness 的授权渗透模式:以探索链路记录目标、线索、资产与漏洞,并在 Web 中可视化展示。
PerryLink/dsh-auto-review★ 232
审批链上的第二模型自动审查:只读审查子代理返回带理由的 allow/deny 结构化裁决,默认 fail-closed。
ADWMC/helm-d#helmd★ 190
单包逆向与渗透测试安全分析插件:首轮工具收敛、领域路由与 33 个工具,覆盖 APK、Web、原生二进制、协议、恶意样本与 LLM 场景的逆向分析、加壳脱壳与 License 破解绕过;内置 H-CoT 评估引擎(语义路由、/hcot 命令)、账本驱动的 Web 工作台与工具货架、磁盘案件工作区(证据链自动存证、E 编号结论校验、上下文压缩后恢复)、GitHub 工具检索与 361 篇按需参考文档。
NanmiCoder/dsh-auto-mode★ 164
在 Workspace Write 与 Full access 之间增加 Auto 权限档:日常操作留在官方 workspace-write 沙箱内,由当前会话模型复核升权与破坏性调用,精确的越界访问按次放行一次,意图不明时询问,命中关键路径则拒绝。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。