👁️ 278
👍 136
📅 2026-06-13 收录
🔄 2026-06-13 更新

正文内容

Codex Orchestrator

该技能提供了一套工作流,用于监督在后台进程中运行的 Codex 编程智能体。

工作流

1. 启动(Launch)

始终在后台 PTY 会话中启动 Codex,以保持交互性,同时不阻塞主智能体。

bash pty:true workdir:background:true command:"codex exec --full-auto ''"
  • 保存返回的 sessionId
  • sessionId 丢失,可通过 process action:list 查找。

2. 监控(Watch)

定期检查执行进度(例如通过 cron 定时任务或手动查询)。

# 获取最近 2KB 的日志,以查看当前状态
process action:log sessionId:limit:2000

正常运行迹象:

  • 进度指示器(如旋转动画或进度条)持续更新;
  • 显示 “Working...”、“Thinking...” 或 “Running...” 等提示;
  • 文件编辑行为(如输出 Edit ...)。

阻塞迹象:

  • 出现交互式提示(例如 “Select directory”、“Approve change [y/n]”);
  • 超过 5 分钟无日志输出(进程可能已挂起,或正在等待不可见的输入)。

3. 干预(Control)

若 Codex 卡在某个交互提示处:

# 发送 'y' 并回车
process action:submit sessionId:data:"y"

# 仅发送回车(采用默认选项)
process action:submit sessionId:data:""

若 Codex 出现循环执行或幻觉行为:

# 终止该会话
process action:kill sessionId:

4. 报告(Notify)

当达到关键里程碑或任务完成时:

  1. 汇总已完成的工作(例如:修改了哪些文件、通过了哪些测试);
  2. 向用户发出通知。

标准操作规程(SOP)

“卡住的智能体” 处置协议

  1. 诊断:执行 process action:log sessionId:limit:500
  2. 分析:是否正在提出问题?是否正在进行下载?
  3. 处置

    • 若正在提问:通过 submit 提供对应答案;
    • 若正在下载(且速度较慢):继续等待;
    • 若持续静默超过 10 分钟:发送 “poke”(例如 submit data:"\n" 刷新提示符),或终止后重新恢复(kill/resume)。

“恢复会话” 协议

若会话异常终止或被主动终止:

  1. 在新的后台进程中运行 codex resume --lastcodex resume
  2. 验证其是否成功恢复上下文。

日志与产物(Logs & Artifacts)

  • Codex 的日志在 PTY 缓冲区中为临时数据,会话结束后即丢失;
  • 如需持久化日志,可指示 Codex 将输出重定向至文件:codex exec "task..." > codex.log 2>&1(注意:缓冲机制可能导致输出延迟);
  • 更优方案:使用 process action:log 周期性地对 PTY 缓冲区进行快照存档。