ESC
开源 4 分钟阅读

codex-bridge:为 Claude Code 提供图像生成(gpt-image-2)与 GPT-5 子代理——复用你已有的 Codex CLI 登录,无需 OpenAI API 密钥

codex-bridge 是一个开源插件,让 Claude Code 能够调用 Codex CLI 生成图像(gpt-image-2)和委派任务给 GPT-5 子代理,且无需 OpenAI API 密钥,直接使用 ChatGPT 套餐配额。它包含多个技能和子代理,支持图像生成与编辑、代码审查、调试、批量实现等功能,并保持 Claude 作为编排者,将繁重工作交由 Codex 执行。

来源:GitHub

codex-bridge

让 Claude Code 获得图像生成能力和一组 GPT-5 子代理——使用你已经有的 Codex CLI 登录。

Claude Code 插件 License: MIT 无需 API 密钥

Claude Code 无法生成图像,而且它所做的每件事都消耗你的 Claude 配额。Codex CLI 可以使用 gpt-image-2 生成图像,并运行在你的 ChatGPT 套餐上——这是一个完全独立的预算。这个插件在两者之间架起桥梁。

你会得到两样东西:

1. Claude 可以生成图像。 要求它生成一个图标、一张原型图、一张主视觉图、一整套 favicon——Claude 编写提示词,通过 Codex 驱动 gpt-image-2,然后查看结果,如果没画对就重新生成。

2. Claude 可以委派任务给 GPT-5。 四个由 Codex 驱动的子代理负责审查、调试、批量实现和图像工作。Claude 保持编排者角色:它界定任务范围,Codex 执行大量工作,Claude 验证结果。繁重的工作消耗你的 ChatGPT 配额,而且它的中间输出永远不会进入你的 Claude 上下文。

无需 OpenAI API 密钥。 所有请求都通过 codex login 路由,因此它计入你的 ChatGPT 套餐,而非 API 积分。

演示

Claude 通过 Codex 生成图标,真实终端录制

整个系列共用一套风格约定。每个兄弟图标都将前一个图标作为 --ref 传入,因此调色板、描边粗细、字形比例和外边距会被沿用,而无需每次重新描述和重新解释:

纸火箭图标 设置齿轮图标 带对勾的盾牌图标

本仓库中的每一张图片都由这个插件生成——上面的 GIF、这些图标,以及社交预览卡片。具体命令和 VHS 录制脚本在 assets/README.md 中,你可以完整复现。

目录

安装

前置条件

Codex CLInpm i -g @openai/codex 或 brew install codex
已登录codex login → 用 codex login status 验证(应显示 Logged in using ChatGPT)
ChatGPT 套餐Plus、Pro 或 Team
Claude Code任意当前版本

然后:

/plugin marketplace add Sateezg/codex-bridge
/plugin install codex-bridge@codex-bridge

如果 Claude Code 要求,运行 /reload-plugins。

其他安装方式

免安装试用一个会话:

git clone https://github.com/Sateezg/codex-bridge.git
claude --plugin-dir ./codex-bridge

从你的技能目录自动加载:

git clone https://github.com/Sateezg/codex-bridge.git ~/.claude/skills/codex-bridge
chmod +x ~/.claude/skills/codex-bridge/bin/*

下次会话将以 codex-bridge@skills-dir 加载。

快速开始

无需配置。直接用自然语言提出要求:

为落地页生成一张主视觉图,保存在 assets/
把 assets/hero.png 的天空改成日落橙,保持其他不变
为这个项目设置 favicon 和 OG 卡片
在我提交前审查我的改动
问 codex 为什么这个测试只在 --parallel 下失败
把 useSession 在整个仓库中重命名为 useAuthSession

最后一个是有趣的用例。Claude 会发现这是跨多个文件的机械性工作,并在开始前主动提出分工:

这涉及 34 个文件的相同改动。我可以把这些编辑交给 Codex——它消耗你的 ChatGPT 配额,并避免 34 个文件的内容塞进当前上下文——然后在这里审查它的 diff。要我这样做吗?

内含内容

技能 — Claude 会自动选用这些技能;你也可以通过 /codex-bridge:<name> 调用。

技能触发时机
generate-image任务需要一张尚不存在的新图像
edit-image你指向一个图像文件并要求修改或重新设计风格
asset-setfavicon、应用图标、OG 卡片,或一套风格匹配的图标家族
ask-codex你想就这个仓库的某个问题听取 GPT-5 的意见
codex-review“审查我的改动”——diff、分支或模块
codex-delegate任务规模太大或太重复,委派出去能节省你的 token

子代理 — Claude 会自行启动它们,你也可以直接点名。

子代理职责能写文件吗?
codex-artist图像、图标集、风格匹配的资产家族仅图像
codex-reviewer审查 diff,然后对照代码逐条验证每个发现否
codex-debugger定位故障根因,提出补丁方案否
codex-implementer批量机械编辑和脚手架搭建能 —— 在你同意之后
codex-second-opinion就某种方案给出独立的通用意见否

可执行文件 — 插件启用时位于你的 PATH 中,可直接在 shell 里使用。

codex-imagegen生成或编辑图像;打印输出路径
codex-run在 Codex 上运行任意任务;只打印最终答案

功能 1 —— 图像

codex-imagegen "flat vector rocket icon, #2563EB on white, 2px stroke, minimal" ./rocket.png
codex-imagegen "change the sky to sunset orange, keep everything else identical" ./out.png --ref ./hero.png
codex-imagegen "settings gear, same style as the reference" ./settings.png --ref ./home.png
选项
--size WxH1024x1024、1536x1024、1024x1536、2048x2048、3840x2160 等 —— 见下方说明
--ref <file>源文件或风格参考,最多可重复 4 次 —— 将调用变为编辑
--model <name>模型覆盖
--timeout <sec>默认 600

自定义尺寸只有在以下所有条件成立时才会被接受:最长边 ≤ 3840px,两边都是 16 的倍数,长宽比 ≤ 3:1,总像素在 655,360 到 8,294,400 之间。正方形最快。对于超出该范围的情况——favicon、1200×630 的 OG 卡片——先生成一张大图,然后在本地重采样。

包装脚本会打印实际写入的路径。Codex 被指示不要覆盖已有资产,所以它偶尔会保存为 out-v2.png;包装脚本会检测到这一点(以及 ~/.codex/generated_images/<session>/ 的默认位置),并报告真实路径。

它比把提示词粘贴到聊天窗口更好在哪里:这些技能教会 Claude 从 tailwind.config.* 或你的设计令牌中提取实际调色板,在整个集合中复用单一风格约定以保证资产匹配,用 ImageMagick 派生尺寸变体而不是重新生成,以及在告诉你完成之前打开 PNG 检查结果。

功能 2 —— GPT-5 子代理

重点不在于“Claude 也能调用 GPT-5”。而在于分工:Claude 界定范围和验证,Codex 执行量大活。

you ──▶ Claude          界定工作范围,编写任务简报,审查结果
             │
             ▼
        codex-run ──▶ Codex CLI ──▶ GPT-5 / gpt-image-2
                                     (你的 ChatGPT 配额)

由于 Codex 作为独立进程运行,它的中间输出——读取的 40 个文件、搜索结果、生成的样板代码——永远不会进入你的 Claude 上下文。你只为简报和审查支付 Claude token。

什么会被委派,按照 codex-delegate 的判定标准:跨多个文件的机械编辑、批量生成、全面仓库扫描、所有图像工作,以及自包含的子任务。什么不会: 架构决策、需求不明确的任务、任何需要对话历史的工作,以及小型编辑——往返一次两行修复的成本更高,而不是更低。

每个子代理都遵循相同的约定:默认只读,先验证再报告,绝不声称未经验证的工作成功。只有 codex-implementer 能写入你的文件,而且必须在你同意之后,并且只在工作树干净的情况下进行,这样它的改动会作为可审查的 diff 落地。

直接从 shell 使用:

codex-run -C . "which module owns rate limiting? name the file"
codex-run -C . -r "now show me the minimal patch"          # -r 继续会话
git diff main...HEAD | codex-run -C . --timeout 1200 -      # 将 diff 管道传入
选项
-C, --cd <dir>工作目录(默认:当前目录)
-s, --sandbox <mode>read-only(默认)、workspace-write、danger-full-access
-m, --model <name>例如 gpt-5-codex
-r, --resume继续上一个会话,而不是重新开始
--schema <file>将答案约束为 JSON Schema
--raw同时将 Codex 的事件日志转储到 stderr
--timeout <sec>默认 900

工作原理

两个包装脚本都调用 codex exec,即 Codex 的非交互模式。

图像在限定输出目录的 workspace-write 沙箱中运行:

codex exec -C <outdir> -s workspace-write --skip-git-repo-check [-i <ref>...] \
  "Use the \$imagegen image generation tool to ... save to ./<file>.png ..."

$imagegen 是 Codex 内置的图像技能;它用你的 ChatGPT 凭证调用 gpt-image-2,并将 PNG 写入工作目录。包装脚本验证文件是否已生成——如果 Codex 将其保存到别处,则回退到 $CODEX_HOME/generated_images/——并打印绝对路径,以便 Claude 读回图像。

文本任务使用 -o 捕获最终消息,而不是抓取事件日志,因此子代理得到的是干净的答案,而不是逐字记录:

codex exec -C <dir> -s read-only --skip-git-repo-check -o <tmpfile> "<task>"

两者都会快速且明确地失败:缺少 codex 二进制文件或未登录会话会以退出码 1 结束,并附上可操作的消息,而不是挂起。超时退出码为 124。两者都能处理 BSD 和 GNU stat,并在未安装 timeout/gtimeout 时优雅降级。

限制

  • 消耗配额,而非免费。 图像生成消耗 ChatGPT 套餐配额的速度大约是文本生成消耗的 3–5 倍。设置 OPENAI_API_KEY 后,Codex 会切换为 API 计费。
  • 透明性需要两步。 默认路径无法输出 alpha 通道,因此技能会在纯 #00FF00 背景上生成,然后使用 Codex 自带的 remove_chroma_key.py 助手去除背景。真正的原生透明需要 Codex 的 CLI 回退外加 OPENAI_API_KEY;技能会将这个作为选项呈现,而不是悄悄切换。
  • 慢。 每张图像 1–4 分钟;仓库级的 Codex 任务可能需要 10 分钟以上。技能会相应设置较长的 Bash 超时。
  • Codex 对对话一无所知。 每份任务简报都必须独立完整。这正是子代理在报告前进行验证的原因。
  • macOS 和 Linux。 未在 Windows 上测试。

故障排除

症状修复
codex CLI not found on PATH安装 Codex CLI,然后重新打开 shell
codex is not logged in运行 codex login;用 codex login status 确认
codex 报 Operation not permitted~/.codex 的所有权问题——sudo chown -R $(whoami) ~/.codex
得到的是 out-v2.png 而不是 out.png这是预期行为——Codex 不会覆盖;使用包装脚本打印的路径
图像保存到了意外位置包装脚本还会检查 $CODEX_HOME/generated_images/<session>/;请传入绝对输出路径
failed to load models cache: missing field base_instructions无害的 Codex 缓存警告;如果持续出现,用 rm -rf ~/.codex/cache 清除
Codex 输出满是 MCP/hook 错误这是你的 Codex 配置问题,与这个插件无关——包装脚本会忽略它们。在 ~/.codex/config.toml 中删减不用的 MCP 服务器以加快运行速度
技能没有出现/reload-plugins,然后 /help → 自定义命令
包装脚本“permission denied”chmod +x ~/.claude/skills/codex-bridge/bin/*
所有操作都超时调高 --timeout;检查 codex exec -C . -s read-only "say hi" 能否独立运行

贡献

欢迎提交 issue 和 PR。

claude plugin validate .
bash -n bin/codex-imagegen && bash -n bin/codex-run

致谢

许可证

MIT —— 见 LICENSE。