File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 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 ` 判断
Original file line number Diff line number Diff 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 |
Original file line number Diff line number Diff 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 | 否 | 输入变量定义 |
You can’t perform that action at this time.
0 commit comments