Codex 正在跑重构或测试时,突然想起一条相关需求,过去只能打断当前轮次,或等它结束后再回来。codex queue 允许把文本消息排进会话队列:当前轮完成后自动继续处理,空闲会话也能被唤醒。

先升级到支持版本
该命令随 Codex 0.149.0 稳定版发布:
npm install -g @openai/codex
curl -fsSL https://chatgpt.com/codex/install.sh | sh
基本用法
codex queue --thread <会话> --message "你要追加的指令"
--thread 指定目标会话,--message 指定要排队的文本。底层使用 app-server 的 thread/queue/add,它不会插队打断当前轮,而是等当前轮结束后继续。
消息不能为空,也不能携带图片附件。除此之外按普通文本指令使用即可。

用 UUID 或名称定位会话
目标可以是会话 UUID,也可以是会话名称:
codex queue --thread refactor-orders --message "顺便把日志格式统一成 JSON"
名称适用于交互式会话、codex exec 会话和自定义来源会话。重名时默认选择最近的一条;需要绝对准确时使用 UUID。

空闲会话也能被唤醒
队列持久化在 SQLite 中。其他进程写入消息后,已经加载但空闲的会话会轮询数据库版本,发现对应队列更新后自动唤醒。每个会话独立重试,一条任务卡住不会拖住其他会话。
因此你不需要重新切回会话,也不用一直守着它:正在运行的任务会排队,已经空闲的任务会被叫醒。

远程会话和实际用法
codex queue 支持本地和明确指定的远程 app server。目标不兼容或配置冲突时会明确报错,不会静默把消息发给其他会话。
适合的场景包括:
- 大任务运行中补充相关需求;
- 预先排好一串顺序任务;
- 在脚本或 CI 中按条件向长期会话发送指令;
- 本地作为控制台,向远端会话排队或唤醒任务。
结论
codex queue --thread <会话> --message "指令" 把 Codex 从需要一直盯着的对话框,变成可以接收后台任务的会话服务。先用 UUID 做小规模测试,再考虑名称定位、远程队列和脚本调度。