Skip to content

v2.40.0 — 容量/429 瞬态退避 + 闲置恢复可靠性

Choose a tag to compare

@aipayim aipayim released this 01 Aug 07:01

v2.40.0 (2026-08-01)

容量/429 瞬态退避 + 闲置恢复可靠性

🚦 容量/429 瞬态退避(新配置)

  • 新增 capacityBackoffSeconds(默认 60)与 capacityMaxWaitSeconds(默认 300)
  • HTTP 429 与 model_at_capacity 错误改为瞬态退避:仅设 capUntil,不写 failCode——reset:"never" 的 Key 不再被冷却到整个周期,单次容量波动不会级联禁用全部 Key
  • 容量失败的请求直接重新入队而非热轮询刷遍全部 Key;队列等待上限按 capacityMaxWaitSeconds 豁免默认 30 秒超时
  • checkAllFailed 忽略纯退避 Key,避免误报 all_keys_failed
  • Dashboard「系统配置」新增容量退避配置区

🧬 闲置恢复可靠性(3 项修复)

  • ① 修复 -p 实为 codex 的 --profile 标志(并非 prompt)导致 resume --last -p ... 立即退出码 2;prompt 是位置参数,改为 resume --last \u0027<prompt>\u0027
  • ② runner 内 setsid bash -lc 把命令从终端剥离,codex resume 交互 TUI 需要 PTY;改用 script -qec 分配伪终端(保留 setsid 进程组隔离,-e 回传子命令退出码),无 script 时回退旧方式
  • triggerResume 启动前按 cwd+命令行扫描并终止项目路径下所有残留 codex 进程及其后代(避免 state_5.sqlite threads 表锁死会话);项目已有存活恢复进程或 30 秒内刚发起过启动时跳过,防重触发把仍在加载的巨型会话替换掉

测试:新增 test-capacity-backoff-lifecycle.js 回归测试,npm test 现为 10 项全部 PASS