← Back to home@173787247

dsh-repeat-stop

Hard-stop consecutive identical DeepSeek Harness tool calls after a configurable streak.

Stars
2
Language
JavaScript
Created
Aug 19, 2026
Updated
Sep 16, 2026

Introduction

dsh-repeat-stop

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

FieldValue
Plugindsh-repeat-stop 0.1.2
Minimum dsh≥ 0.1.2 (web UI one-shot ?token= on Windows relay :3081)
Latest verifiedSee dsh-wsl-kit Compatibility (currently 0.1.5-rc.1) — single source of truth for the suite
Kit setdaily (also in github / full; fetch+net also in llm)
Cloud FlashUse model id deepseek-flash (V4.1 Flash) in ~/.dsh/settings.yaml / llm-deepseek — not configured by this plugin
Agent TeamsUpstream 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
KeyDefaultMeaning
enabledtrueMaster switch
threshold6Allowed streak; next call blocked (integer ≥ 2)
excludejob_*Names that never count
include(empty)If set, only these names are tracked

vs dsh-tool-budget

PluginWhat it blocks
dsh-repeat-stopConsecutive identical calls
dsh-tool-budgetTotal tool calls in the whole session

Test

npm test

License

MIT