Token导航 LogoToken导航TokenDH.com
Codex Yolo logo
开发工具未说明官方级别未说明来源级核验

Codex Yolo

MCP Server

一款在tmux中并行运行OpenAI Codex CLI代理的工具,支持自动权限批准和Git工作树隔离,适用于自动化代码修复和开发任务。

工具数

0

提示词数

0

GitHub Stars

9

资源数

0
ShellClaude权限管理Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

codex-yolo

提供方

codex-yolo

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

\[!小心\] 请勿在公司硬件或连接到公司网络的设备上使用此工具。 此工具自动批准所有Codex CLI权限提示,无需人工审核,包括破坏性命令。为了获得最大程度的隔离,请在 专用裸机服务器 没有个人数据,没有保存的凭据,也无法访问敏感网络。您对任何后果承担全部责任。

约洛法典

在tmux中运行并行OpenAI Codex CLI代理,并自动进行权限审批。通过实时合并冲突检测和自动冲突解决,将每个代理隔离在自己的git工作树中。

当审批策略设置为 on-requestuntrusted,Codex CLI在运行命令、应用编辑或访问网络之前提示用户。标准代理窗口由Codex的 --yolo 最大自动化模式;对于仍然出现的提示样式,tmux审批器守护进程仍然存在。

目录

- 检测信号 - 工作树管道

安装

一个衬垫 (macOS、Linux、WSL、Termux):

command -v curl >/dev/null || { s=; [ "$(id -u)" != 0 ] && s=sudo; command -v apt-get >/dev/null && { $s apt-get update && $s apt-get install -y curl; } || command -v dnf >/dev/null && $s dnf install -y curl || command -v yum >/dev/null && $s yum install -y curl || command -v apk >/dev/null && $s apk add curl || command -v pacman >/dev/null && $s pacman -S --noconfirm curl || command -v pkg >/dev/null && pkg install -y curl || command -v brew >/dev/null && brew install curl; }; curl -fsSL https://raw.githubusercontent.com/codex-yolo/codex-yolo/refs/heads/main/install.sh | bash && export PATH="${CODEX_YOLO_BIN_DIR:-$HOME/.local/bin}:${CODEX_YOLO_HOME:-$HOME/.codex-yolo}/bin:$PATH"

此克隆到 ~/.codex-yolo 并将二进制文件符号链接为 ~/.local/bin.如果 ~/.local/bin 不可写,安装程序将回退到 ~/.codex-yolo/bin;您还可以设置 CODEX_YOLO_BIN_DIR 选择一个可写的bin目录。它还安装 git, tmux, curl,以及 codex 如果他们失踪了。Codex CLI首先从独立的GitHub版本安装,npm作为后备。重新运行单行程序会升级codex yolo和codex CLI:如果更新的稳定codex CLI版本发布在 openai/codex /releases/latest 和安装 codex 二进制文件是由此脚本放置的,它将被新版本覆盖(npm或系统管理的codex安装将保持不变;set CODEX_YOLO_SKIP_CODEX_UPGRADE=1 禁用,或 CODEX_YOLO_CODEX_VERSION=rust-v0.X.Y 以固定特定标签)。用以下内容覆盖安装位置 CODEX_YOLO_HOME:

CODEX_YOLO_HOME="$HOME/my/path"; command -v curl >/dev/null || { s=; [ "$(id -u)" != 0 ] && s=sudo; command -v apt-get >/dev/null && { $s apt-get update && $s apt-get install -y curl; } || command -v dnf >/dev/null && $s dnf install -y curl || command -v yum >/dev/null && $s yum install -y curl || command -v apk >/dev/null && $s apk add curl || command -v pacman >/dev/null && $s pacman -S --noconfirm curl || command -v pkg >/dev/null && pkg install -y curl || command -v brew >/dev/null && brew install curl; }; curl -fsSL https://raw.githubusercontent.com/codex-yolo/codex-yolo/refs/heads/main/install.sh | CODEX_YOLO_HOME="$CODEX_YOLO_HOME" bash && export PATH="${CODEX_YOLO_BIN_DIR:-$HOME/.local/bin}:$CODEX_YOLO_HOME/bin:$PATH"

本地安装 (来自克隆的仓库;如果已安装Codex CLI,则不需要网络访问):

git clone https://github.com/codex-yolo/codex-yolo.git ~/.codex-yolo
cd ~/.codex-yolo
./install.sh --local

手动安装:

git clone https://github.com/codex-yolo/codex-yolo.git ~/.codex-yolo
ln -s ~/.codex-yolo/codex-yolo ~/.local/bin/codex-yolo

然后从任何项目目录运行:

cd /path/to/your/project
codex-yolo "fix the tests" "update docs"

该工具在您调用它的任何目录中运行代理(或 -d/--dir 路径(如果指定)。

快速开始

# Run three agents in parallel
codex-yolo "fix the login bug" "add unit tests for auth" "update the README"

# Use a specific model
codex-yolo -m o4-mini "refactor the API layer"

# Point agents at a different project
codex-yolo -d /path/to/project "run the test suite and fix failures"

启动后,您将进入一个tmux会话,每个代理有一个窗口。最后一个窗口(control)实时跟踪审计日志并接受斜线命令。

工作树模式

随着 --worktree (-w),每个代理都有自己的git工作树和分支,因此并行任务不会覆盖彼此的文件:

codex-yolo -w -s feat -d /path/to/repo \
  "implement auth system" \
  "add database migrations" \
  "write API tests"

这将在以下位置创建工作树 -worktrees//,使用以下命令运行每个任务 codex exec,投票分支与 git merge-tree,并打开一个 merge 窗口,等待代理完成,然后将分支合并回基分支。

跳过自动合并以手动检查工作树:

codex-yolo -w --no-merge -s feat -d /repo "task1" "task2"

git diff main..feat-1
git diff main..feat-2
git checkout main && git merge feat-1 && git merge feat-2

source ~/.codex-yolo/lib/worktree-manager.sh
wt_cleanup feat

docs/workfree-mode-demo.md 完整的演示。

导航

关键行动
Ctrl-b w列出所有代理窗口并选择一个
Ctrl-b s在代理窗口之间切换
Ctrl-b n下一窗格
Ctrl-b p上一窗格
Ctrl-b x停止当前代理,关闭窗格
Ctrl-b d分离(代理继续运行)

稍后重新连接 codex-yolo -r (或 codex-yolo --resume).

控制命令

control 窗口在继续显示审核日志的同时接受斜线命令。

/loop 1h Continue experiments and push best submission
/loop 1h /plan Draft the next implementation plan
/loop 1h /queue ["/status", "/clear", "/plan Draft the next implementation plan"]
/queue ["/status", "/clear", "Continue from the latest result"]
/plan Draft the implementation plan before coding

可用命令:

命令操作
/permissions auto-review开放法典 /permissions,使自动审核成为当前 agent-1,然后返回聊天
/plan [prompt]发送Codex /planagent-1;仅此控制窗格命令支持粘贴多行提示,并自动确认计划审批
/queue ["item1", "item2"]按顺序运行提示或斜线命令 agent-1;每个项目都等待前一个项目完成
/queue add ["item"]将待处理项目附加到活动队列
/queue edit ["item"]替换一个待处理的队列项
/queue remove 删除挂起的队列项,例如 22-4
/queue dequeue 删除下一个待处理项目; /queue deque 也被接受
/queue show 显示编号的队列项目
/queues列出活动队列
/queues cancel 取消一个队列
`/loop
`发送 `

agent-1 立即,然后每间隔一次,直到取消;如果 以...开始 /plan,每次迭代都使用范围计划自动审批| | /loop /queue ["item1", "item2"] |立即运行完整队列,然后在每次队列运行完成并经过间隔后重复| | /loops |列出活动循环| | /loops cancel |取消一个循环| | /help` |显示命令帮助|

间隔为整数 s, m, h,或 d例如 30s, 15m, 1h,或 1d. 队列项列表必须是带引号的字符串数组。对多行项目使用单引号、双引号或三引号:

/queue ['item1', 'item2', 'item3']
/queue ["item1", "item2", "item3"]
/queue ["""item1
item1""", """item2
item2"""]
/queue ['''item1
item1''', '''item2
item2''']

/plan, /queue,以及 /loop 在工作树模式下被禁用,因为代理窗口正在运行 codex exec 并且可以退出。 粘贴多行时 /plan 将命令粘贴到交互式控制窗格中,在第一行之后立即粘贴 /plan 行作为同一计划提示的一部分发送。 预定 /loop /plan 命令使用与直接控制窗格相同的范围计划审批标记 /plan 每次迭代中的命令。 预定 /loop /queue [...] 命令在发送下一个项目之前等待每个排队的项目完成,并且在上一个队列运行完成之前,它们不会开始下一个循环迭代。

来自CLI的一次性控制命令

通过 -c "/..."control 启动后立即打开窗口——与在 codex-yolo> 提示。要组合多个命令,请将它们包装起来 /queue [...] 而不是重复 -c.

codex-yolo -c "/loop 10m /plan Draft the next implementation plan"
codex-yolo -c '/queue ["/plan first", "/loop 1h /plan continue"]'
codex-yolo --resume -c "/loops"

多行字符串以粘贴形式发送,因此多行 /plan/queue 工作:

codex-yolo -c "$(printf '/plan line one\nline two\nline three')"

当启动还启动Codex自动审查对账时(即没有任务的交互模式和 codex-auto-review 权限配置文件),注入在发送密钥之前等待对账完成,因此第一个 /plan/loop 登陆Codex聊天提示,而不是欢迎/权限屏幕。

选项

-s, --session NAME    Custom tmux session name (default: codex-yolo-)
-d, --dir PATH        Working directory for agents (default: current directory)
-m, --model MODEL     Model to use (e.g., o4-mini, o3, gpt-4.1)
-p, --poll SECONDS    Approver poll interval (default: 0.3)
-f, --file FILE       Read a multiline prompt from a text file
-c, --command STRING  Slash command to run in the control pane after launch
                      (e.g. "/loop 10m /plan ...", "/queue [...]", "/help").
                      Must start with '/'. Multi-line strings are sent as a paste.
                      Works with --resume to inject into an existing session.
-r, --resume          Re-attach to an existing yolo session
--permissions PROFILE Set Codex /permissions profile (default: full-access when allowed, else auto-review)
--no-codex-sandbox    Disable Codex sandboxing (for externally sandboxed containers)
--force-codex-sandbox Require Codex sandboxing; do not auto-fallback when unsupported
-h, --help            Show help

Worktree options:
-w, --worktree          Run each agent in its own git worktree
--base-branch BRANCH    Base branch for worktrees (default: current branch)
--no-merge              Skip auto-merge after agents complete
--no-cleanup            Keep worktrees after merge
--conflict-poll SECS    Conflict detection interval (default: 5)

install.sh options:
--local               Install from the local repo without pulling from GitHub

默认情况下, codex-yolo 探针 codex sandbox linux true 一次。集装箱内 其中bubblewrap因命名空间权限错误而失败, codex-yolo 创建a 临时假货 bwrap 早些时候 PATH 并推出没有Codex的代理商 沙盒。假的 bwrap 在bubblewrap之后执行命令 -- 直接使用分离器,因此它只能在外部隔离的内部使用 集装箱。使用 --force-codex-sandbox 需要真正的沙箱和表面 相反,失败。

食品法典委员会 /permissions, codex-yolo 活动时默认为完全访问 食品法典委员会要求允许。如果要求禁用完全访问,则使用 自动审核(codex-auto-review).在Codex沙箱所在的容器中 不可用,codex yolo不得不依赖外部隔离 auto 默认 还使用自动审查。用以下内容覆盖此内容 --permissions full-access, --permissions auto-review,或 --permissions none.为 标准交互式自动审查会话, codex-yolo 也调和了TUI 一旦启动,那么 /permissions 显示 Auto-review (current).

运作原理

  1. 启动器 (codex-yolo)创建一个tmux会话,并为每个任务生成一个窗口,每个窗口运行 codex --yolo 对于标准会话或 codex exec 在工作台模式下。如果Codex Linux沙箱不可用,启动命令包括Codex的无沙箱绕过标志。
  2. 控制面板 (lib/control-pane.sh)打开 control 窗口,跟踪审核日志,并处理斜线命令,如 /loop/permissions auto-review.
  3. 审批者守护进程 (lib/approver-daemon.sh)在后台运行,每0.3秒轮询一次。对于每个窗格,它:

- 通过以下方式捕获可见内容 tmux capture-pane - 检测七种提示样式(见下文) - 通过发送确认密钥 tmux send-keys 选择第一个审批选项(Enter,或 y 用于显示提示 Yes, proceed (y)) - 对每个窗格应用2秒的冷却时间,以防止双重批准

  1. 审计日志/tmp/codex-yolo-.log 用时间戳记录每个审批和控制事件。每个会话都有自己的日志,因此并发的codex-yolo进程不会干扰。

工作树管道

--worktree 启用后,三个附加组件将与审批人一起运行:

  1. 工作树管理器 (lib/worktree-manager.sh)在中为每个代理创建一个分支和git工作树 -worktrees//.
  2. 冲突守护进程 (lib/conflict-daemon.sh)民意调查每 --conflict-poll 秒和运行 git merge-tree --write-tree 跨越树枝对。冲突会记录到审核日志中。
  3. 合并解析器 (lib/merge-resolver.sh)等待 codex exec 代理完成,自动提交未提交的更改,将分支合并到基分支中,并在发生合并冲突时启动Codex解析器任务。

检测信号

批准人需要主信号加上至少一个辅助信号才能开火:

信号类型模式
问题/标题初级Would you like to run, Would you like to make, Allow Codex to, Approve app tool call, Do you trust the contents, Enable full access
审批选项次要(至少一个)Yes, just this once, Yes, proceed (y), Yes, continue, Yes, and don't ask, Run the tool and continue, Apply full access, Yes, and allow this host
否认/背景次要(至少一个)No, and tell Codex, Decline this tool call, Go back without, Cancel this, may have side effects, may access external, may modify, untrusted, prompt injection

处理的提示类型:

提示触发动作
命令执行Would you like to run the following command?Entery → 首次批准选项
文件编辑Would you like to make the following edits?Enter → “是的,就这一次”
MCP工具调用Approve app tool call?Enter → “运行工具并继续”
信任目录Do you trust the contents of this directory?Enter → “是,继续”
完全访问Enable full access?Enter → 是,继续
网络/主机Allow Codex to access Enter → “是的,就这一次”
MCP激发Yes, provide the requested infoEnter → 批准

文件结构

codex-yolo               # Main launcher script
lib/
  common.sh              # Logging, prerequisite checks
  control-pane.sh        # Interactive control window + slash command scheduler
  approver-daemon.sh     # tmux capture-pane monitor + auto-approver
  worktree-manager.sh    # Git worktree lifecycle
  conflict-daemon.sh     # Real-time conflict detection via git merge-tree
  merge-resolver.sh      # Sequential merge + Codex-powered conflict resolution
test_approver.sh         # Test suite
install.sh               # Cross-platform installer
docs/
  worktree-mode-demo.md  # Step-by-step worktree demo

先决条件

  • 终端复用器 (用3.4测试)
  • 法典 (OpenAI Codex CLI——从独立的GitHub版本或 npm install -g @openai/codex)
  • 版本控制系统 2.38+(工作台模式需要-- git merge-tree --write-tree)

测试

# Run all tests
bash test_approver.sh

# Verbose output (shows passing tests)
bash test_approver.sh -v

# Filter by pattern
bash test_approver.sh "Command:"
bash test_approver.sh "Trust"
bash test_approver.sh Integration
bash test_approver.sh Concurrent

测试套件包括:

  • 对所有六种Codex CLI提示类型(命令、编辑、工具、信任、完全访问、网络)进行提示检测
  • MCP激发提示检测
  • 假阳性电阻(代码输出、部分信号、上下文缺失)
  • 冷却逻辑、命令构建、审计日志
  • 使用真实tmux会话进行端到端集成测试
  • 并发守护进程隔离(会话之间无串扰)
  • 工作树创建、清理、冲突检测和合并行为

主要特点

  • 并行多代理执行 --独特地支持在tmux中并行执行多个Codex CLI代理,并具有非侵入性的终端级权限自动批准功能。
  • Git工作树隔离 --每个代理都可以在自己的分支和工作树中工作,然后合并回基分支。
  • 实时冲突检测 --后台守护进程轮询 git merge-tree 跨所有分支对并记录出现的冲突。
  • 自动冲突解决 --在合并冲突时,会生成一个Codex解析器任务来解决冲突标记并提交合并。
  • 便利优先的自动化 --标准会议使用Codex --yolo,因此这仅适用于可以接受广泛命令执行的隔离环境。
  • 综合检测逻辑 --使用多信号方法处理所有六种Codex CLI提示类型以及MCP诱导,从而最大限度地减少误报。
  • 可靠性和可追溯性 --每窗格冷却、详细的审计日志记录和广泛的测试套件强调可靠性和可追溯性。
  • 无需CLI修补或容器化 --完全在终端级别工作,无需修改Codex二进制文件或将其包装在容器中。

发展历史

该工具是通过调整 克劳德·约洛 OpenAI的Codex CLI方法。关键设计决策:

  1. TUI覆盖检测:Codex CLI使用全屏Ratatui TUI覆盖层进行审批对话框(不是像Claude Code那样的内联文本)。这 tmux capture-pane 这种方法仍然有效,因为tmux捕获了渲染的终端内容,包括TUI覆盖。
  1. 批准按键:选择列表中的第一个选项始终是审批选项,并且是预先选择的().发送 Enter 证实了这一点。
  1. 多信号检测:简单的关键字匹配会从代码输出中产生太多的误报。双层方法(主要问题/标题信号+次要批准/拒绝信号)消除了这些问题。
  1. 每块玻璃冷却:在没有冷却的情况下,0.3秒的轮询间隔可以发送多个 Enter 同一提示的按键。每窗格2秒的冷却时间可防止双重批准。
  1. 自动化模式:Codex CLI具有批准策略和独立的沙盒模式。当前 codex-yolo 标准会话通过 --yolo,它将自动化置于沙箱保护之上。使用专用、隔离的环境。

目录标签

目录标签

ShellClaude权限管理本地部署自动化开发并行处理Git工作树代码修复

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP