dsh-tool-budget
Manifest valid★ 1Hard-stops further tool calls after a configurable per-session budget is reached.
dsh-tool-budget
DeepSeek Harness plugin: hard-stop tool use after a per-session call budget.
Pairs with dsh-repeat-stop. Part of dsh-wsl-kit.
Where it sits
Hard-stops tool use after a per-session budget. Identical-call loops are dsh-repeat-stop.
flowchart LR
calls["tool calls in one session"] --> budget["dsh-tool-budget"] --> stop["hard stop"]
Suite diagram and version snapshot: dsh-wsl-kit. This plugin is 0.1.2 (daily). Do not copy that matrix into this README.
Compatibility
| Field | Value |
|---|---|
| Plugin | dsh-tool-budget 0.1.2 |
| Minimum dsh | ≥ 0.1.2 (web UI one-shot ?token= on Windows relay :3081) |
| Latest verified | See dsh-wsl-kit Compatibility (currently 0.1.5-rc.1) — single source of truth for the suite |
| Kit set | daily (also in github / full; fetch+net also in llm) |
| Cloud Flash | Use model id deepseek-flash (V4.1 Flash) in ~/.dsh/settings.yaml / llm-deepseek — not configured by this plugin |
| Agent Teams | Upstream experimental; not required here |
Suite floor versions: kit check-plugin-versions.sh. Fault tree: TROUBLESHOOTING.md.
Why
Repeat-stop catches identical spam. Budget catches “many different tools forever” in one session—useful when long WSL tasks burn API quota.
Default: 80 tracked calls allowed; the 81st is denied. Job status tools are excluded by default.
This is a safety rail, not a product license limit. Raise maxCalls or disable if it feels tight.
Install
dsh plugin --profile web add github:173787247/dsh-tool-budget
Restart dsh web. No new tool. Blocks show as dsh-tool-budget: blocked in Trajectory.
Config
- id: dsh-tool-budget
name: dsh-tool-budget
config:
enabled: true
maxCalls: 80
exclude:
- job_output
- job_list
- job_kill
# include: [] # if set, only these names count
| Key | Default | Meaning |
|---|---|---|
enabled | true | Master switch |
maxCalls | 80 | Allowed tracked calls per session |
exclude | job_* | Names that do not count |
include | (empty) | If set, only these names count |
vs dsh-repeat-stop
| Plugin | What it blocks |
|---|---|
dsh-repeat-stop | Consecutive identical calls |
dsh-tool-budget | Total tool calls in the whole session |
Test
npm test
FAQ
Does this replace dsh-repeat-stop? No. Repeat-stop blocks identical streaks; this caps total calls per session.
Will it block job_ tools?* Not by default — they are excluded so long-running shell jobs can still be observed.
How do I raise the limit? Set config.maxCalls in your profile cordis.patch.yml and restart dsh web.
License
MIT
Comments
Loading…
Similar plugins
by 173787247
Hard-stop consecutive identical tool calls after a configurable streak so the agent cannot spin in place.
★ 2
MIT
JavaScript
Sep 30, 2026
dsh plugin --profile web add dsh-repeat-stopby ZiOstudio
Session budget brake for DeepSeek Harness — meters every call against the official price table, halts the run when the budget runs out, and leaves a resumable handoff snapshot. · DSH 会话预算刹车
★ 1
MIT
TypeScript
Oct 22, 2026
dsh plugin --profile web add dsh-budget-handoffby LinHyu-2006
Balance and per-session spend HUD for DeepSeek Harness, with budget alerts, peak-hour warnings and opt-in official price sync.
★ 2
MIT
JavaScript
Oct 23, 2026
dsh plugin --profile web add dsh-balance-hudby J0ss077
Stop. Confirm. Run. A DeepSeek Harness plugin that pauses selected tools and waits for your explicit approval before every execution.
★ 3
↓ 17/wk
MIT
TypeScript
Sep 6, 2026
dsh plugin --profile web add @j0ss077/dsh-always-require-tools-approvalby kmyy350234-dz
Keeps heavy tool groups out of every request and brings them back on demand, by keyword, or automatically at session start.
★ 2
MIT
JavaScript
Oct 28, 2026
dsh plugin --profile web add dsh-tool-drawerby n8guru
DSH hook plugin: a session may not stop the harness it runs inside
★ 0
MIT
JavaScript
Sep 2, 2026
dsh plugin --profile web add dsh-self-preserve