DSH HUB
首页插件商店插件包社区排行榜资源发布指南
插件源码
返回插件目录

icyaaaww /

icyaaaww/dsh-tool-failure-circuit-breaker

已验证

DeepSeek Harness plugin that blocks repeated identical failed tool calls

★ 0 Stars0 Forks0 IssuesN/A 社区评分0 已确认安装
查看 GitHub
README来源: main@75e9ac87

dsh-tool-failure-circuit-breaker

A DeepSeek Harness guard plugin that stops an agent from dispatching the same tool with identical arguments after that call has already failed repeatedly. It saves tool latency, network requests, command execution, and provider cost when a model retries an unchanged operation that cannot succeed.

The plugin is deliberately narrower than the official @deepseek-ai/dsh-repeat-tool-reminder: the official plugin advises on every repeated call but never blocks one. This plugin observes only authoritative failed tools/result outcomes and denies the next identical dispatch after a configured threshold.

The package targets and has been composed against DeepSeek Harness 0.1.1-rc.2.

Install

From this checkout's parent directory:

dsh plugin --profile web add ./dsh-tool-failure-circuit-breaker

For a source checkout of Harness, replace dsh with pnpm dsh.

Configuration

The included bundle inserts this row:

- id: tool-failure-circuit-breaker
  name: dsh-tool-failure-circuit-breaker
  config:
    maxFailures: 2
    include: []
    exclude: []
    errorPreviewChars: 300
  • maxFailures: completed identical failures allowed before the next attempt is denied. Default: 2.
  • include: * wildcard tool-name patterns to guard. Empty guards every tool.
  • exclude: * wildcard tool-name patterns that bypass the guard.
  • errorPreviewChars: maximum characters from the latest failure repeated in the denial. Default: 300.

Use exclude for tools whose intended contract requires unchanged polling calls.

Behavior

Failure chains are isolated per live agent and keyed by tool name plus canonical JSON arguments. Object key order does not change identity. A successful tool result, a new user message, or a failed call with different arguments opens the previous circuit. Calls made without an agent are ignored.

The guard listens at tools/pre-execute, so a denied retry never reaches the tool body. It observes the immutable tools/result event and does not count its own denial as another operational failure.

When open, the model sees its original tool error. Once blocked, it receives:

The identical <tool> call already failed <count> consecutive times. Last failure: <message>. Change the arguments or approach, inspect external state, or ask the user instead of retrying unchanged.

The denial is recorded as the normal tool result, so replay and model history remain consistent with Harness behavior. The plugin adds no tool schema and no tokens until it blocks a call.

Test

npm test

Limitations

  • State is in memory and resets when the process or plugin restarts.
  • Already-dispatched parallel calls may all fail before the threshold can block a later call.
  • Exact canonical argument matching does not detect near-identical retries.
  • Blocking is opt-in by installing the bundle; choose exclusions for legitimate repeated probes.
—/ 5

暂无评分

已验证 DSH bundle

Commit 75e9ac872631

社区评论

还没有评论,来写第一条。

DSH HUB

社区维护的 DSH 插件索引。不是 GitHub 或 DeepSeek AI 的官方产品。

社区资源API关于