v2.43.0 — 闲置恢复安全租约与固定会话模式
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