zeroclaw/src
SimianAstronaut7 87b5bca449
feat(config): add configurable pacing controls for slow/local LLM workloads (#3343)
* feat(config): add configurable pacing controls for slow/local LLM workloads (#2963)

Add a new `[pacing]` config section with four opt-in parameters that
let users tune timeout and loop-detection behavior for local LLMs
(Ollama, llama.cpp, vLLM) without disabling safety features entirely:

- `step_timeout_secs`: per-step LLM inference timeout independent of
  the overall message budget, catching hung model responses early.
- `loop_detection_min_elapsed_secs`: time-gated loop detection that
  only activates after a configurable grace period, avoiding false
  positives on long-running browser/research workflows.
- `loop_ignore_tools`: per-tool loop-detection exclusions so tools
  like `browser_screenshot` that structurally resemble loops are not
  counted toward identical-output detection.
- `message_timeout_scale_max`: overrides the hardcoded 4x ceiling in
  the channel message timeout scaling formula.

All parameters are strictly optional with no effect when absent,
preserving full backwards compatibility.

Closes #2963

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(config): add missing pacing fields in tests and call sites

* fix(config): add pacing arg to remaining cost-tracking test call sites

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: argenis de la rosa <theonlyhennygod@gmail.com>
2026-03-21 08:54:08 -04:00
..
agent feat(config): add configurable pacing controls for slow/local LLM workloads (#3343) 2026-03-21 08:54:08 -04:00
approval fix(channels): allow low-risk shell in non-interactive mode (#3771) 2026-03-17 13:39:37 -04:00
auth feat(auth): add import functionality for existing OpenAI Codex auth p… (#3762) 2026-03-21 06:49:44 -04:00
channels feat(config): add configurable pacing controls for slow/local LLM workloads (#3343) 2026-03-21 08:54:08 -04:00
commands feat(memory): add time range filter to recall (since/until) 2026-03-21 07:46:34 -04:00
config feat(config): add configurable pacing controls for slow/local LLM workloads (#3343) 2026-03-21 08:54:08 -04:00
cost fix(channels): add cost tracking and enforcement to all channels (#4143) 2026-03-21 07:37:15 -04:00
cron fix(cron): add qq to supported delivery channel whitelist (#4120) 2026-03-21 05:14:30 -04:00
daemon feat(channel): add per-channel proxy_url support for HTTP/SOCKS5 proxies (#3345) 2026-03-21 07:53:20 -04:00
doctor feat(tool): enrich delegate sub-agent system prompt and add skills_directory config key (#3344) 2026-03-21 07:53:02 -04:00
gateway fix: add path_prefix to test AppState in gateway/api.rs 2026-03-21 08:14:28 -04:00
hands feat(hands): add autonomous knowledge-accumulating agent packages (#3603) 2026-03-15 16:06:14 -04:00
hardware feat(hardware): add RPi GPIO, Aardvark I2C/SPI/GPIO, and hardware plugin system (#4125) 2026-03-21 04:17:01 -04:00
health refactor(sync): migrate remaining std mutex usage to parking_lot 2026-02-18 00:45:26 +08:00
heartbeat feat(heartbeat): add health metrics, adaptive intervals, and task history 2026-03-16 12:08:32 -04:00
hooks feat(hooks): add webhook-audit builtin hook (#3212) 2026-03-11 23:34:17 -04:00
integrations feat(channel): add per-channel proxy_url support for HTTP/SOCKS5 proxies (#3345) 2026-03-21 07:53:20 -04:00
memory fix(memory): replace redundant closures with function references 2026-03-21 07:46:34 -04:00
nodes feat(nodes): add secure HMAC-SHA256 node transport layer (#3654) 2026-03-16 01:53:47 -04:00
observability fix(observability): handle missing OtelObserver match arms and add all-features CI check (#3981) 2026-03-19 17:48:35 -04:00
onboard feat(config): add configurable pacing controls for slow/local LLM workloads (#3343) 2026-03-21 08:54:08 -04:00
peripherals feat(hardware): add RPi GPIO, Aardvark I2C/SPI/GPIO, and hardware plugin system (#4125) 2026-03-21 04:17:01 -04:00
plugins fix(plugins): integrate WASM tools into registry, add gateway routes and tests 2026-03-17 18:10:24 -04:00
providers feat(providers): add DeepMyst as OpenAI-compatible provider (#4103) 2026-03-21 05:32:26 -04:00
rag chore(lint): extend low-risk clippy cleanup batch 2026-02-17 16:40:58 +08:00
runtime feat(tools): add Windows support for shell tool_call execution (#3442) 2026-03-13 17:12:16 -04:00
security feat(hardware): add RPi GPIO, Aardvark I2C/SPI/GPIO, and hardware plugin system (#4125) 2026-03-21 04:17:01 -04:00
service feat(status): show service running state in zeroclaw status (#3751) 2026-03-21 06:49:47 -04:00
skillforge chore: Remove blocking read strings 2026-02-19 14:52:29 +08:00
skills feat(tool): enrich delegate sub-agent system prompt and add skills_directory config key (#3344) 2026-03-21 07:53:02 -04:00
sop fix(web): call doctor endpoint with authenticated POST 2026-02-24 16:02:59 +08:00
tools feat(config): add configurable pacing controls for slow/local LLM workloads (#3343) 2026-03-21 08:54:08 -04:00
tunnel Feat/add pinggy tunnel (#4060) 2026-03-20 15:11:50 -04:00
verifiable_intent feat(verifiable_intent): add native verifiable intent lifecycle module (#2938) 2026-03-20 17:52:55 -04:00
cli_input.rs fix(onboard): make tmux paste safe for text prompts (#4106) 2026-03-21 05:14:37 -04:00
i18n.rs feat(i18n): externalize tool descriptions for translation (#3912) 2026-03-18 17:01:39 -04:00
identity.rs test: cover deterministic HashMap ordering paths 2026-02-18 21:55:40 +08:00
lib.rs fix(onboard): make tmux paste safe for text prompts (#4106) 2026-03-21 05:14:37 -04:00
main.rs feat(status): show service running state in zeroclaw status (#3751) 2026-03-21 06:49:47 -04:00
migration.rs readd tests, remove markdown files 2026-02-18 14:42:39 +08:00
multimodal.rs fix(agent): strip vision markers from history for non-vision providers (#3734) 2026-03-16 16:25:45 -04:00
util.rs feat(hardware): add RPi GPIO, Aardvark I2C/SPI/GPIO, and hardware plugin system (#4125) 2026-03-21 04:17:01 -04:00