hermes-action-loop-guard
v1.3.0
Published
Circuit breakers for Hermes promise stalls and repeated no-progress tool loops.
Maintainers
Readme
Hermes Action Loop Guard
Circuit breakers for Hermes messaging agents that get stuck in either of these patterns:
- promising to act but returning text without a tool call;
- repeatedly calling a tool with identical arguments and identical results without making progress.
Install
Install the package globally, then run the relevant installer:
npm install -g hermes-action-loop-guard
hermes-action-guard install --dry-run
hermes-action-guard install
hermes-tool-progress-guard install --dry-run
hermes-tool-progress-guard installThe installers fail closed on unsupported Hermes source layouts, create timestamped backups, compile-check patched Python, restore automatically on failure, and preserve the gateway's previous active/inactive state.
Backups record the gateway state at install time. Explicit rollback restores that recorded state; verify reports an inactive gateway without treating an intentionally inactive installation as corrupt.
The OpenClaw skill is also available from ClawHub:
clawhub install hermes-action-loop-guardDefault progress policy
The tool progress guard tracks repeated failures and identical successful results for configured tools such as execute_code. A verified file mutation resets the successful no-progress streak.
Total call count is treated as a coarse signal: calls 20 and 40 emit checkpoint warnings. When any breaker would stop the turn, the guard blocks that repeated call, returns the synthetic tool result 换思路, clears the polluted counters, and lets the same conversation continue. Redirect recovery is bounded to 60 times per turn; a 61st breaker activation hard-stops the turn.
The strict detection thresholds remain unchanged: identical failures trigger after 3, same-tool failures after 5, identical successful no-progress results before the fourth repeat, and the total-call breaker after 60 completed calls.
Changes in 1.3.0
- Convert the first 60 per-turn hard-stop events into bounded
换思路strategy redirects. - Keep the triggering tool call blocked while allowing the conversation to choose another path.
- Reset polluted failure/no-progress/total-call counters after each redirect.
- Preserve a final hard stop if a 61st breaker activation occurs in the same turn.
Changes in 1.2.0
- Replace the 20-call hard stop with warnings at 20 and 40.
- Raise the per-turn hard cap to 60 completed tool calls.
- Keep strict repeated-failure and successful-no-progress circuit breakers.
License
MIT-0
