Configurable Two-Layer Retry Strategy
Configuration
```yaml
~/.hermes/config.yaml
agent:
max_api_retries: 10 # Outer loop: full API call retries
max_stream_retries: 10 # Inner loop: stream/connection retries
```
Retry behavior
Outer loop (max_api_retries, default 3):
- Respects
Retry-After header from API response (capped at 5 min)
- Rate limits: exponential 5s * 2^n with +/-20% jitter, cap 5 min
- Other errors: exponential 2^n, cap 60s
Inner loop (max_stream_retries, default 2):
- Retries streaming request with fresh connection on ReadTimeout/connection drops
- Rebuilds the primary OpenAI client to purge dead pool connections
Links
Configurable Two-Layer Retry Strategy
Configuration
```yaml
~/.hermes/config.yaml
agent:
max_api_retries: 10 # Outer loop: full API call retries
max_stream_retries: 10 # Inner loop: stream/connection retries
```
Retry behavior
Outer loop (
max_api_retries, default 3):Retry-Afterheader from API response (capped at 5 min)Inner loop (
max_stream_retries, default 2):Links