mirror of
https://github.com/agent0ai/agent-zero.git
synced 2026-05-25 06:27:33 +00:00
Read the _error_retry retry limit from plugin settings instead of using the hardcoded single retry. Add config sanitization, preserve the default retry count in the settings UI, update plugin docs, and cover configured and zero-retry behavior with focused tests.
39 lines
1.4 KiB
Markdown
39 lines
1.4 KiB
Markdown
# Error Retry
|
|
|
|
Retry after an unexpected critical exception so the agent has a chance to recover instead of failing immediately.
|
|
|
|
## What It Does
|
|
|
|
This plugin hooks into the agent lifecycle and automatically retries the current loop when an unhandled critical exception occurs.
|
|
|
|
It does **not** retry exceptions that are already treated as controlled agent flow, such as:
|
|
|
|
- `HandledException`
|
|
- `RepairableException`
|
|
|
|
## Main Behavior
|
|
|
|
- **Counter reset per monologue**
|
|
- Clears the retry counter at the start of a new monologue.
|
|
- **Critical exception retry**
|
|
- On an unexpected exception, logs a warning, waits briefly, injects an agent-facing critical error message into history, and suppresses the original exception while retries remain.
|
|
- **Configurable retry count**
|
|
- Uses the plugin's `retries` setting to control how many times recovery is attempted per monologue. The default is `1`.
|
|
|
|
## Key Files
|
|
|
|
- `extensions/python/_functions/agent/Agent/monologue/start/_10_reset_critical_exception_counter.py`
|
|
- `extensions/python/_functions/agent/Agent/handle_exception/end/_80_retry_critical_exception.py`
|
|
|
|
## Configuration Scope
|
|
|
|
- **Settings section**: `agent`
|
|
- **Per-project config**: `true`
|
|
- **Per-agent config**: `true`
|
|
- **Always enabled**: `false`
|
|
|
|
## Plugin Metadata
|
|
|
|
- **Name**: `_error_retry`
|
|
- **Title**: `Error Retry`
|
|
- **Description**: Retry on critical exceptions before failing.
|