v1.2.0

config.json Limits

Last updated

The runtime limits config.json can raise, and the package defaults it cannot change.

Missing reply_lang, output_dir, and model_tag are filled with defaults and written back on startup. Since v1.1.2 missing limit fields are no longer filled in, and a limit can only raise its default: the effective value is max(config value, default), so a smaller value is ignored.

Key Default Description
limits.max_tool_iterations 256 Maximum tool iterations per run (128 before v1.1.2)
limits.agent_send_timeout_seconds 600 Model-request timeout
limits.max_history_messages 16 Recent history messages retained (24 before v1.1.2)
limits.max_history_bytes 4194304 History-size ceiling. Changed from 5242880 in v1.0.12, where it became MAX_DOCUMENT_BYTES * 4 — four times the 1 MiB single-document ceiling

Package defaults that are not read from config.json (since v1.1.2 all of them live in configs/configs.go):

Constant Default Description
MAX_SESSION_TASKS 3 Concurrent tasks per session; further tasks queue rather than fail (NumCPU × 4 before v1.1.2)
MAX_SUBAGENT_TIMEOUT_MIN 30 Subagent timeout in minutes
MAX_RESUME_WAIT_MIN 60 How long a pending resume waits for answers
MAX_CONCURRENT_TOOLS 5 Concurrent tool calls within one model turn; the rest queue (v1.0.20)

The daemon port is not configurable: 17989 is a package constant, and a limits.port entry is ignored.

There are no environment variables for runtime limits — env-based overrides were removed; config.json is the only knob.

中文