# config.json 限制值

`config.json` 可調高的 runtime 限制，以及無法由它改變的套件層預設值。

缺少的 `reply_lang`、`output_dir` 與 `model_tag` 會以預設值補齊並於啟動時寫回。v1.1.2 起缺少的限制欄位不再補寫，且限制值只能調高：實際值為 `max(設定值, 預設值)`，小於預設的值會被忽略。

| 鍵 | 預設 | 說明 |
|---|---:|---|
| `limits.max_tool_iterations` | `256` | 單次執行的 tool 迭代上限（v1.1.2 前為 `128`） |
| `limits.agent_send_timeout_seconds` | `600` | 模型請求 timeout |
| `limits.max_history_messages` | `16` | 保留的近期歷史訊息數（v1.1.2 前為 `24`） |
| `limits.max_history_bytes` | `4194304` | 歷史大小上限。v1.0.12 由 `5242880` 改為 `MAX_DOCUMENT_BYTES * 4`，即單一文件 1 MiB 上限的四倍 |

**不從** `config.json` 讀取的套件層預設值（v1.1.2 起全部集中於 `configs/configs.go`）：

| 常數 | 預設 | 說明 |
|---|---:|---|
| `MAX_SESSION_TASKS` | `3` | 每個 session 的並行任務數；超出者排隊而非失敗（v1.1.2 前為 `NumCPU × 4`） |
| `MAX_SUBAGENT_TIMEOUT_MIN` | `30` | Subagent timeout（分鐘） |
| `MAX_RESUME_WAIT_MIN` | `60` | 待處理續跑等待回答的時間上限 |
| `MAX_CONCURRENT_TOOLS` | `5` | 單一模型回合內同時執行的 tool call 數；其餘排隊（v1.0.20） |

Daemon port **不可設定**：`17989` 為套件常數，`limits.port` 條目會被忽略。

Runtime 限制**沒有環境變數**——env 覆寫已移除，`config.json` 是唯一調整點。
