Skip to content

Commit 30c31bf

Browse files
committed
docs: 补 CHANGELOG + README 更新 llm.timeout 字段说明
- 新增 CHANGELOG.md,记录 0.6.7 (--timeout + 超时自动延长 + 3 个 classifyError/withTimeout 历史 bug 修复) 和 0.6.8 (递增上限 900s→3600s) - README.md / README.en.md 里 llm.timeout 字段更新:加上 CLI/ollama 默认 600000、 自动递增上限 3600000、0=不限时
1 parent 563deef commit 30c31bf

3 files changed

Lines changed: 25 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Changelog
2+
3+
本项目采用 [语义化版本](https://semver.org/lang/zh-CN/)
4+
5+
## [0.6.8] - 2026-04-24
6+
7+
### Changed
8+
- 超时重试递增的上限从 900s 提到 3600s(60 分钟)。原上限对 CLI / ollama 长任务偏紧:CLI 默认 600s 起跳第一次递增就封顶,用户 `--timeout 20m` 起点已超上限完全不递增。抬到 60min 后覆盖绝大多数真实长任务;仍然保留上限作为"防误配置放飞"的保险丝。真要超过 1 小时单步用 `timeout: 0` / `--timeout 0` 完全不限时
9+
10+
## [0.6.7] - 2026-04-23
11+
12+
### Added
13+
- `ao run` / `ao compose` 新增 `--timeout <value>` 参数。支持 `300000`(毫秒)、`300s`(秒)、`5m`(分钟)、`0`(不限时)。命令行优先级高于 YAML 里的 `llm.timeout`
14+
- 因超时触发重试时,下一次 timeout 自动 x1.5 递增(上限 900s,本版本后续被提到 3600s)。递增同时作用于 connector 内层 fetch/CLI timeout,避免内层 hard timeout 提前 abort
15+
16+
### Changed
17+
- `ao compose` 生成的 YAML 默认 `timeout` 从 120000 抬到 300000(API 类 provider)。ollama 和 CLI 类保持 600000
18+
- `withTimeout` 错误消息加引导:"超时 (Xms),可用 --timeout 或 YAML llm.timeout 延长"
19+
20+
### Fixed
21+
- `classifyError` 5xx / 429 状态码改用 `\b` 单词边界匹配。原 `msg.includes('500')` 等会把 "450000ms"、"1500ms"、"1429ms" 等字符串里的数字子串误判成 HTTP 错误,导致超时错误被错误归类为 server_error,递增逻辑失效
22+
- `classifyError` 现在识别中文"超时"字样。之前 `withTimeout` 抛出的 `超时 (120000ms)` 被归为 non_retryable,retry 根本不触发
23+
- `timeout: 0`(不限时)现在真正生效。原 `effectiveConfig.timeout || default` 把 0 当 falsy 用默认值覆盖了,改成 `!== undefined` 判断

README.en.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,7 @@ Cursor (`.cursor/mcp.json`):
345345
| `llm.provider` | string | Yes | `claude-code` / `gemini-cli` / `copilot-cli` / `codex-cli` / `openclaw-cli` / `hermes-cli` / `ollama` / `claude` / `deepseek` / `openai` |
346346
| `llm.model` | string | Yes | Model name |
347347
| `llm.max_tokens` | number | No | Default 4096 |
348-
| `llm.timeout` | number | No | Step timeout in ms (default 120000) |
348+
| `llm.timeout` | number | No | Step timeout in ms (default API 120000 / CLI/ollama 600000). Automatically extends x1.5 on timeout retry up to 3600000. `0` means no timeout |
349349
| `llm.retry` | number | No | Retry count (default 3) |
350350
| `concurrency` | number | No | Max parallel steps (default 2) |
351351
| `inputs` | array | No | Input variable definitions |

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,7 @@ ao serve --verbose # 带调试日志
366366
| `llm.provider` | string || `claude-code` / `gemini-cli` / `copilot-cli` / `codex-cli` / `openclaw-cli` / `hermes-cli` / `ollama` / `claude` / `deepseek` / `openai` |
367367
| `llm.model` | string || 模型名称 |
368368
| `llm.max_tokens` | number || 默认 4096 |
369-
| `llm.timeout` | number || 步骤超时毫秒数(默认 120000 |
369+
| `llm.timeout` | number || 步骤超时毫秒数(默认 API 120000 / CLI/ollama 600000)。因超时重试时自动 x1.5 递增,上限 3600000。`0` 表示不限时 |
370370
| `llm.retry` | number || 重试次数(默认 3) |
371371
| `concurrency` | number || 最大并行步骤数(默认 2) |
372372
| `inputs` | array || 输入变量定义 |

0 commit comments

Comments
 (0)