Skip to content

v2.43.0 — 闲置恢复安全租约与固定会话模式

Choose a tag to compare

@aipayim aipayim released this 02 Aug 02:34

v2.43.0 (2026-08-02)

闲置恢复安全租约与固定会话模式

🔐 安全租约(不再扫描/杀外部进程)

  • 闲置恢复不再按项目目录扫描、终止或 SIGKILL 任意 codex 进程,避免误伤人工启动的 CLI、分支或子代理
  • 每次恢复由随机运行 ID、PID、进程组和 /proc 启动时间组成的原子 JSON 租约标识;只有租约可验证时才会视为自身 runner,代理不会向外部进程发送终止信号
  • PID 复用防护:仅在 /proc 启动时间匹配时才 kill -PGID,绝不裸 kill 可能被复用的 PID
  • runner 状态文件升级 JSON schema v2:phase/pid/updatedAt/exitCode/runId/startedAt/signal/origin/detail,原子写入;HUP/INT/TERM 信号记录正确退出码

⏳ 单周期单次 + 在途请求暂缓

  • 仍有在途请求时暂缓打开新的 Codex 终端;每个项目在一次连续 Key 闲置周期只尝试一次,直到实际应用新的 Key 或修改该项目配置,修复失败后不断重放/相互终止的问题
  • 120 秒未收到 runner 状态明确记录启动超时;cmd.exe start 返回成功仅表示 Windows 已接受请求,runner 状态和真实退出信号才是诊断依据

🎯 固定会话模式(fixed_session)

  • 系统配置新增项目级 resumeMode: "fixed_session" + sessionId,仅该模式替换命令中的 {sessionId}(shell 安全引用),避免 resume --last 选到不确定的分支/子会话;普通命令模式原样执行
  • resume --last 会记录会话不确定性提示

测试:新增 test-resume-runner-lifecycle.js(真实 spawn 启动器验证租约/退出/信号),test-auto-resume-lifecycle.js 扩展(租约身份、PID 复用、固定会话模板、在途请求延后),npm test 现为 11 项全部 PASS