Codex Autopilot

🤖 多项目 Codex CLI 自动化守护系统

基于 tmux + launchd 的 Codex CLI 多项目自动化编排系统,实现会话监控、自动唤醒、权限处理与任务队列调度

收藏
2.3k
安装
1k
版本
0.5.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

Codex Autopilot 综合评估

核心用法

Codex Autopilot 是一套面向 macOS 的自动化编排系统,专为管理多个并发的 OpenAI Codex CLI 会话设计。系统以 watchdog.sh 为核心引擎,通过 tmux 多窗口架构实现多项目隔离,配合 launchd 定时触发形成监控闭环。

工作流程
1. 状态采集codex-status.sh 捕获 tmux 窗格内容,识别 Codex 运行状态(工作中/空闲/等待权限/崩溃)

2. 决策引擎watchdog.sh 根据阈值判断是否需要干预,执行自动唤醒、权限代批、任务调度等操作

3. 任务队列task-queue.sh 支持优先级管理,可预置开发任务并按策略分发

4. 通知系统:集成 Discord webhook 与 Telegram Bot,实现跨渠道状态推送

特色功能

  • 智能唤醒:检测空闲超 360 秒自动发送延续指令
  • 权限代理:自动识别并批准文件读写等权限提示
  • 上下文压缩:监控 token 消耗,触发上下文清理
  • 增量审查incremental-review.sh 对近期变更自动跑代码审查
  • Python 替代方案autopilot.py 提供更复杂的状态机管理

显著优点

| 维度 | 优势 |
|------|------|
| **多项目管理** | 单守护进程可同时监控 N 个项目,避免资源碎片 |
| **防卡死机制** | 循环检测、连续失败熔断、全局/单日发送上限三层保护 |
| **可观测性** | `monitor-all.sh` 仪表盘、`status.json` 外部消费接口、多通道告警 |
| **配置化** | YAML 驱动,支持轮询/优先级两种调度策略 |
| **扩展性** | 模块化脚本结构,易于接入 Claude 等备用模型 |

潜在局限

1. 平台锁定:核心依赖 launchd,Linux 需改用 systemd/cron 适配
2. UI 脆弱性:基于 tmux 内容抓取,Codex CLI 输出格式变更会导致状态误判

3. 权限风险permission-guard.sh 自动授权可能扩大攻击面,需谨慎配置

4. 无原生 API:Codex CLI 尚未开放程序接口,所有交互模拟键盘输入,稳定性受限

5. macOS -centrictmux-send.sh 的 AppleScript 辅助、launchd plist 等需移植成本

适合人群

  • 同时维护 3+ 个 AI 辅助代码仓库的开发者/技术负责人
  • 需要长时间离线运行 Codex 任务(如夜间批量重构)的用户
  • 希望将 Codex CLI 集成到 CI/CD 外围流程的团队
  • 具备 shell 脚本调试能力,能接受 YAML 配置的进阶用户

常规风险

| 风险类别 | 说明 | 缓解建议 |
|----------|------|----------|
| **Token 超额** | 自动唤醒可能导致意外高消耗 | 设置 `max_daily_sends_total` 硬上限 |
| **代码质量** | 无人值守时 Codex 可能产出问题代码 | 强制启用 `incremental-review.sh` |
| **状态漂移** | tmux 会话丢失或 Codex 崩溃导致守护假死 | 配置 `auto-check.sh` 健康探针 |
| **密钥泄露** | config.yaml 含 Telegram/Discord 密钥 | 使用 macOS Keychain 或 1Password CLI 注入 |
| **并发冲突** | 多项目同时写同一文件 | 依赖 Codex 内部锁机制,建议单项目单仓库 |

结论

Codex Autopilot 填补了 Codex CLI 企业级编排的空白,适合愿意投入配置成本以换取规模化效率的成熟技术团队。建议生产环境启用全部安全阈值,并配合人工抽查机制使用。

Codex Autopilot 内容

code-review文件夹
references文件夹
development文件夹
references文件夹
scripts文件夹
doc-review文件夹
references文件夹
doc-writing文件夹
references文件夹
docs文件夹
lib文件夹
projects文件夹
example文件夹
requirement-discovery文件夹
references文件夹
scripts文件夹
testing文件夹
references文件夹
tests文件夹
手动下载zip · 222.7 kB
README.mdtext/markdown
请选择文件