DeepSeek Harness Plugin

173787247/dsh-repeat-stop

Stars ★ 2 Category Security & Permissions Added 2026-08-26

Hard-stop consecutive identical tool calls after a configurable streak so the agent cannot spin in place.

Install

# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)

dsh plugin --profile web add github:173787247/dsh-repeat-stop

Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).

README

DeepSeek Harness plugin: hard-stop consecutive identical tool calls (same tool + same arguments).

Pairs with dsh-tool-budget. Part of dsh-wsl-kit.

中文说明 → README.zh.md

Where it sits

Hard-stops a streak of identical tool calls. It does not cap a varied tool session; that is dsh-tool-budget.

flowchart LR
  calls["identical tool calls"] --> guard["dsh-repeat-stop"] --> 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-repeat-stop 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.2.0-rc.2) — 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

Official repeat-tool-reminder only advises and never blocks. Agents can still spin on the same failing call. This plugin denies the next call after a streak.

Default: 6 identical calls may run; the 7th is blocked. Changing args/tool or a real user message resets the streak.

Install

dsh plugin --profile web add github:173787247/dsh-repeat-stop

Restart dsh web. No new tool appears. When it fires, Trajectory shows dsh-repeat-stop: blocked.

Config

- id: dsh-repeat-stop
  name: dsh-repeat-stop
  config:
    enabled: true
    threshold: 6
    exclude:
      - job_output
      - job_list
      - job_kill
    # include: []   # if set, only these names (wildcards ok) are tracked
Key Default Meaning
enabled true Master switch
threshold 6 Allowed streak; next call blocked (integer ≥ 2)
exclude job_* Names that never count
include (empty) If set, only these names are tracked

vs dsh-tool-budget

Plugin What it blocks
dsh-repeat-stop Consecutive identical calls
dsh-tool-budget Total tool calls in the whole session

Test

npm test

License

MIT

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →

Community comments

Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.