ClawSkills logoClawSkills

Codex Orchestrator

监控、控制和编排后台 Codex 会话。使用此技能来跟踪进度、处理中断并确保长时间运行的任务完成。

介绍

# Codex Orchestrator

此技能提供了一种工作流,用于在后台进程中监督运行的 Codex 编码代理。

## 工作流

### 1. 启动

始终在后台 PTY 会话中启动 Codex,以保持交互性且不阻塞主代理。

```bash bash pty:true workdir:<target_dir> background:true command:"codex exec --full-auto '<PROMPT>'" ``` * 保存返回的 `sessionId`。 * 如果 `sessionId` 丢失,可通过 `process action:list` 找到它。

### 2. 监控

定期检查进度(例如,通过 cron 或手动检查)。

```bash # Get last 2KB of logs to see current status process action:log sessionId:<id> limit:2000 ```

**运行迹象:** * 加载动画或进度条正在更新。 * 出现 "Working..."、"Thinking..."、"Running..." 等字样。 * 文件编辑(`Edit ...`)。

**阻塞迹象:** * 交互式提示(例如 "Select directory"、"Approve change [y/n]")。 * 超过 5 分钟无日志输出(进程可能挂起或正在等待隐藏输入)。

### 3. 干预

如果 Codex 卡在提示符处:

```bash # Send 'y' and Enter process action:submit sessionId:<id> data:"y"

# Send just Enter (default choice) process action:submit sessionId:<id> data:"" ```

如果 Codex 出现循环或幻觉(胡编乱造): ```bash # Kill the session process action:kill sessionId:<id> ```

### 4. 汇报

当达到重要里程碑或任务完成时: 1. 总结已完成的工作(更改的文件、通过的测试)。 2. 通知用户。

## 标准操作程序 (SOPs)

### “卡住的代理”协议 1. **诊断**:运行 `process action:log sessionId:<id> limit:500`。 2. **分析**:它是在询问问题吗?是在下载吗? 3. **行动**: * 如果是询问:通过 `submit` 提供答案。 * 如果是下载(缓慢):等待。 * 如果静默超过 10 分钟:发送一个“戳击”(例如 `submit data:"\n"` 以刷新提示符)或 终止/恢复。

### “恢复”协议

如果会话终止或被杀死: 1. 在新的后台进程中运行 `codex resume --last` 或 `codex resume <session_id>`。 2. 验证它是否已拾取上下文。

## 日志与工件 * Codex 日志在 PTY 缓冲区中是临时的。 * 如需持久化日志,指示 Codex 写入文件:`codex exec "task..." > codex.log 2>&1`(注意:缓冲可能会延迟输出)。 * 更好的做法:使用 `process action:log` 定期对缓冲区进行快照。

更多产品