Repository navigation
Releases: DaydayupV/claude-foreman
Release list
v1.2.1
这一版加入 agy(Google Antigravity CLI)作为讨论和审查的协作方,配置可以按场景分套,项目配置改成覆盖用户配置,配置文件改成一格一行的写法。
改动
接入 agy
- 新的协作方类型
agy cli,参加讨论和审查(执行任务还不支持,目前只验证了 Windows 11)。插件在 agy 的全局钩子里装一个守卫,只放行读项目里的文件;本机 agy 沙箱可用时,还能在沙箱里跑只读命令。/foreman:setup加 agy 时先征求你同意再装守卫。 - 模型和推理强度分开写,和其他协作方一样(
"model": "gemini-3.8-flash"加格子里的"effort": "high"),插件派出时拼成 agy 认的 ID。 - agy 在模型端断流后自己重试时,状态、终端实时查看和网页看板都会显示"正在重试",结果里注明重试了几次。
- opencode、pi、agy 的审查席不再接受项目目录以外的文件。
按场景配置
modules下可以写多套:default是默认的一套,其余场景块(比如 code、research)只写要改的格子,包括席位数seats和补漏席开关gap。Claude Code 按偏好文件里的"场景路由"选场景,并写明依据。- 项目偏好写了场景块时,这个项目只用它定义的场景,空块表示不分场景。
项目配置覆盖用户配置
- 项目里的
.claude/foreman.json现在能加候选(只能用用户配置里定义的协作方)、调高席位、延长时长,不再只能收紧。config --cwd的project_config列出它覆盖了哪些格子。
配置文件一格一行
modules里每个候选、seats、gap各占一行,读起来短得多。新生成和自动改写的配置都用这种写法;新增layout命令,/foreman:setup发现旧排版时会建议改,改前留备份,文件原有的访问权限保持不变。- 改写配置的锁换成新版本之间不会互相抢的编号锁,和仍在运行的 1.2.0 也兼容;锁等不到时提示写出持有者和处理办法,改写失败也会出现在
config和check的提醒里。
定级和统计
- 审查 3 级只留给改变了高风险行为(金额、数据删除和迁移、并发、鉴权、不可逆操作)或排除不了影响的改动;审查不再继承执行的等级和作者。
stats加了中位数和 P90 用时,--by effort,cell,scene按推理强度、等级和场景分开统计,并给出每类、每级计划的整体耗时。
网页看板和其他
- 只有一席的组直接展开完整时间线;展开的一席再点一下能折回精炼模式;重试行显示等待秒数。
- 拦截直接调用协作方的钩子识别更多引号和重定向的写法。
- README 换了介绍视频,加了网页看板的截图。
发布前真机测试的修复
- 第二十九轮真机测试(场景和项目配置、agy、普通用户流程、从 1.2.0 升级和 setup)以及两轮复测发现的问题都已修好,详见提交记录。
升级
在 Claude Code 里运行:
/plugin marketplace update claude-foreman
用桌面版"我的上传"装插件的,下载附件重新上传,再删掉旧的 1.2.0。附件里同一个插件的 .zip 和 .plugin 内容完全相同,任选一个。
第一次运行时,配置文件会自动改写成一格一行的新写法:原来的 modules 原样放进 modules.default,并写明审查每一级要不要补漏席(gap,和原来的做法一样),用起来和以前一样;原文件备份在同一目录。有一处行为变化:项目里的 .claude/foreman.json 以前只能收紧,现在会覆盖用户配置,里面以前被忽略的放宽项(加候选、调高席位、延长时长)会生效。升级后建议运行一次 /foreman:setup:它会提醒你核对项目配置,还不是一格一行的配置文件也会建议改过来。
English
This release adds agy (Google Antigravity CLI) as an agent for discussions and reviews, lets the config hold one set per scene, makes the project config override the user config, and writes config files one entry per line.
Changes
agy support
- A new agent type
agy clitakes part in discussions and reviews (hands-on work isn't supported yet; only Windows 11 has been verified). The plugin installs a guard in agy's global hooks that only allows reading files in the project; when agy's sandbox works on the machine, read-only commands also run inside it./foreman-en:setupasks before installing the guard. - The model and the effort are written separately, as for the other agents (
"model": "gemini-3.8-flash"plus"effort": "high"in the cell); the plugin builds the ID agy expects when dispatching. - When agy retries by itself after a model-side stream error, the status, the terminal live view and the web board show the retry, and the result notes how many retries there were.
- Review seats on opencode, pi and agy no longer accept files outside the project directory.
Config per scene
modulescan hold several sets:defaultis the base set, and other scene blocks (for example code and research) list only the cells they change, includingseatsand the gap seat switchgap. Claude Code picks the scene from the "scene routing" in your preferences file and says why.- When the project preferences have a scene block, that project uses only the scenes it defines; an empty block means no scenes.
Project config overrides the user config
- A project's
.claude/foreman.jsoncan now add candidates (only agents defined in the user config), raise seat counts and extend time limits, instead of only tightening.project_configinconfig --cwdlists the cells it overrides.
One entry per line
- Each candidate in
modules,seatsandgaptakes one line, which makes the file much shorter to read. New and rewritten configs use this layout; the newlayoutcommand rewrites existing files, and/foreman-en:setupsuggests it when it finds the old layout. A backup is kept and the file's own access permissions stay as they were. - The config rewrite lock is now a numbered lock that new versions can't both take, and it still works alongside a running 1.2.0. When the lock can't be taken, the message names the holder and what to do; a failed rewrite also shows in the
configandchecknotes.
Levels and stats
- Level 3 reviews are kept for changes that alter high-risk behavior (money, data deletion and migration, concurrency, auth, irreversible actions) or can't rule out an effect on it; reviews no longer inherit the hands-on level or the author.
statsadds median and P90 durations,--by effort,cell,scenesplits rows by effort, level and scene, and a plans section gives the wall-clock per kind and level.
Web board and more
- A group with one seat opens straight to its full timeline; clicking an open seat again folds it back to the summary; retry lines show the wait in seconds.
- The hook that blocks direct agent calls recognizes more quoting and redirection forms.
- The README has a new intro video and screenshots of the web board.
Pre-release real-machine test fixes
- Everything found in round 29 of real-machine testing (scenes and project config, agy, an ordinary user's flow, upgrading from 1.2.0 and setup) and in two retests has been fixed; see the commit history.
Upgrading
In Claude Code, run:
/plugin marketplace update claude-foreman
If you installed the plugin through "My Uploads" in the desktop app, download the attachment, upload it again, then delete the old 1.2.0. The .zip and .plugin of the same plugin are identical; use either.
On first run the config is rewritten in the new one-entry-per-line layout: the old modules moves unchanged into modules.default, and whether each review level adds a gap seat is written out (gap, matching the old behavior), so nothing works differently; the original is backed up in the same folder. One behavior change: a project's .claude/foreman.json used to only tighten and now overrides the user config, so loosening settings in it that used to be ignored (added candidates, more seats, longer time limits) take effect. After upgrading, run /foreman-en:setup once: it reminds you to check project configs and suggests switching any config file not yet in the one-entry-per-line layout.
v1.2.0
这一版把讨论、执行、审查统一成"模块 + 候选"的配置,加了图像模块和网页看板,Claude Code 自己也作为一席参加讨论和审查。
改动
配置:模块和候选
- 配置从
levels改成modules:讨论、执行、审查、图像每一格写一份候选名单,可以标必选(required);讨论和审查每一级找几个外部模型由seats决定。旧配置第一次运行时自动改写,原文件留备份。 - 多席派发先建计划(
plan),每一席按计划启动;挑人的理由、必选是否齐全、席位数都由脚本核对,绕过计划直接派会被拒绝。 - 新增
tiers命令:模型档位来自 LiveBench(2026-10-27 这一期),列出综合分和长短处;价格表核对过各家官网,扩到 55 行;config和check会提醒在用模型缺价格或档位。
Claude Code 也是一席
- 讨论和审查里,Claude Code 先把自己的报告用
submit登记,再启动外部席;之后和外部席一样被挑错、记去留,最终由它按证据裁决。 - 审查对象不止代码改动:已有文件、研究结论和证据、截图和播放文件都能审;审查方只读(Codex 用只读沙箱)。
图像模块
- 要模型画的东西(插画、角色、图标、贴图,哪怕最后做成 SVG、HTML 或动画)走图像模块:开工前弹窗请你选路线(位图、位图加矢量、纯矢量),出图和手画各有一格配置。
- 新增零依赖的
assets子命令:切图、分层、描矢量、对齐、按时刻截图、播放检查动画的一圈;交付动画前 Claude Code 会自己截图并跑一圈播放给你看。
网页看板
- 打开
dispatch.watch.web后,每次派活都在对话里给一个网页链接:星图里每个对话是一个星系,飞进去能看到每一席的进度、实时速度、产出和用量、费用。 - 对话列表和 Claude 桌面版侧栏一致:从别的对话里启动的子对话缩进在父对话下面;桌面版里归档、删掉的对话不显示。
- 终端实时查看也重做了,和网页用同一套显示规则。
派活更稳
- 同一协作方的并发名额满了会排队,按先来后到派出;API 协作方在厂商那边排队时会提醒,由 Claude Code 决定等还是取消。
- 续接要写原因(
--reason rework | answer | recover),返工率按它统计;取消、超时、额度用完都保留会话,可以从断点续接。 - 新增
stats:按模型和模块汇总席位、被采纳和误报的意见、返工率、用时和费用。
dispatch skill
- 拆成一个小核心(分工、三张定级表、硬规则 R1–R10)加按步骤读的参考文件,每次会话固定占用的上下文少了很多。
发布前真机测试的修复
- 第二十八轮真机测试(派活、普通用户流程、网页看板、新用户安装、中英文对照、Linux)发现的问题都已修好,详见提交记录。
升级
在 Claude Code 里运行:
/plugin marketplace update claude-foreman
用桌面版"我的上传"装插件的,下载附件重新上传,再删掉旧的 1.1.0。附件里同一个插件的 .zip 和 .plugin 内容完全相同,任选一个。
配置文件第一次运行时自动改写成新格式,原文件备份在同一目录。有一处行为变化:以前讨论一级里写的协作方全部参加,现在它们是候选,由 Claude Code 按规则挑选;想保留全员参加,给这些条目加上 "required": true。升级后建议运行一次 /foreman:setup,确认席位数、必选和要不要开网页看板。
English
This release turns discuss, run and review into one "modules + candidates" config, adds the image module and the web board, and gives Claude Code its own seat in discussions and reviews.
Changes
Config: modules and candidates
- The config moves from
levelstomodules: each discuss, run, review and image cell lists its candidates, which can be markedrequired;seatssets how many outside models each discussion and review level uses. An older config is rewritten on first run and the original is kept as a backup. - Multi-seat handoffs start from a plan (
plan), and each seat starts from it; the script checks the reasons, required agents and seat counts, and refuses handoffs that skip the plan. - New
tierscommand: model tiers from LiveBench (2026-10-27 edition) with overall scores, strengths and weaknesses; the price table was checked against the vendors' pages and grown to 55 rows;configandcheckwarn about models in use without a price or tier.
Claude Code takes a seat too
- In discussions and reviews, Claude Code registers its own report with
submitbefore the outside seats start; after that it is critiqued and its points are recorded like any other seat's, and it makes the final call on the evidence. - Reviews cover more than code changes: existing files, research claims and evidence, screenshots and playback files; reviewers are read-only (Codex in a read-only sandbox).
Image module
- Anything a model should draw (illustrations, characters, icons, textures, even when the result is SVG, HTML or an animation) goes through the image module: a pop-up first asks you for the route (bitmap, bitmap plus vector, pure vector), with separate config cells for image generation and drawing.
- New zero-dependency
assetssubcommands: cutting, layers, vector tracing, alignment, timed screenshots and a playback check of one animation loop; before delivering an animation, Claude Code takes its own screenshots and shows you a playback.
Web board
- With
dispatch.watch.webon, every handoff gives you a web link in the conversation: each conversation is a galaxy on a star map, and flying in shows every seat's progress, live speed, output, usage and cost. - The conversation list matches the Claude desktop sidebar: conversations started from another one are indented under their parent, and conversations archived or deleted in the desktop app are left out.
- The terminal live view was redone too and shares its display rules with the web board.
Steadier handoffs
- When an agent's parallel slots are full, new handoffs queue and go out first come, first served; an API agent queued at the vendor is reported, and Claude Code decides whether to wait or cancel.
- Resumes state a reason (
--reason rework | answer | recover), which the rework rate counts; cancelled, timed-out and quota-exhausted runs keep their session and can be resumed. - New
stats: seats, accepted and false-positive points, rework rate, time and cost per model and module.
Dispatch skill
- Split into a small core (who does what, the three level tables, hard rules R1–R10) plus references read at each step, so much less context is used in every session.
Pre-release real-machine test fixes
- Everything found in the round-28 real-machine test (dispatching, an ordinary user's flow, the web board, a new-user install, Chinese vs English, Linux) is fixed; see the commit history.
Upgrading
In Claude Code, run:
/plugin marketplace update claude-foreman
If you installed through "My Uploads" in the desktop app, download the attachment and upload it again, then remove the old 1.1.0. The .zip and .plugin of the same plugin are identical; use either.
The config file is rewritten to the new format on first run, with the original backed up in the same folder. One behaviour changes: agents listed under a discussion level used to all take part; now they are candidates that Claude Code picks from by its rules. To keep everyone in, add "required": true to those entries. After upgrading, run /foreman-en:setup once to confirm seat counts, required agents and whether to turn on the web board.
v1.1.0
这一版主要加了多角色讨论;讨论、执行、审查也不再是固定流程。
改动
多角色讨论
- 2、3 级讨论遇到几个目标互相拉扯的议题(比如安全和便利、实现成本和体验),或者研究结论落地前的证据审查,可以改用多角色模式:每个模型带一张角色卡,从一个视角检查同一个议题,另留一个不带角色的综合对照位。
- 角色按能力分配:先看工具能不能做到,再看模型档位(新增
references/model-tiers.md,按第三方评测分强、中、弱三档),最后在同档里看长处。优先一个模型一个角色;合格的模型不够时,让强档模型多开一个会话,不降级给档位不够的模型。 - 启动前一定弹窗请你确认分配,
dispatch.auto开着也一样;弹窗文字里直接列出"模型 → 角色",可以按推荐开始、调整,或者改用普通讨论。 - 自定义角色、某类议题默认用多角色模式、对某个模型档位的不同看法,都可以写进偏好文件。角色表和分配规则见
references/roles.md。
三个模块不再是固定流程
- 讨论、执行、审查按需要进入,可以按任意顺序、多次出现,比如"执行 → 讨论实现效果 → 返工 → 审查"。每次进入都按这一类的标准重新定级。
命令改成新格式
- 斜杠命令从旧的
commands/搬到skills/<命令名>/SKILL.md,命令名不变,安装时不再提示旧格式。 - 这些命令只由你输入,Claude Code 不会自己调用:它们表示"你点名要做",会跳过 0 级判断。Claude Code 自己发起时仍走 dispatch skill,照样定级、遵守
dispatch.auto。
实时查看
- 同组各块标题不同时(多角色讨论、拆开的执行任务),每块第一行是模型和状态,第二行是这一块的标题,续接的讨论自动注明第几轮。
- 修复:最后一个结束的任务有时被误显示为"中断"。
文档
- README 的流程图改成三个模块:一张总览,加上讨论、执行、审查各一张;新增"多角色讨论"一节。
升级
在 Claude Code 里运行:
/plugin marketplace update claude-foreman
用桌面版"我的上传"装插件的,下载附件重新上传,再删掉旧的 1.0.0。附件里同一个插件的 .zip 和 .plugin 内容完全相同,任选一个。配置文件不用改。
English
This release mainly adds role-mode discussions; discuss, run and review are no longer a fixed flow.
Changes
Role-mode discussions
- At levels 2 and 3, topics with several goals pulling against each other (such as security and convenience, implementation cost and user experience), or evidence reviews before research conclusions are recorded, can use role mode: each model gets a role card and checks the same topic from one angle, plus an overall reviewer with no role.
- Roles are assigned by ability: first whether the tools can do it, then the model tier (new
references/model-tiers.md, strong / mid / weak from a third-party leaderboard), then strengths within the tier. One model per role comes first; when there aren't enough qualifying models, a strong model opens another session rather than handing the role to a model below its tier. - Before starting, a pop-up always asks you to confirm the assignment, even with
dispatch.autoon. The pop-up text lists "model → role" directly, and you can start as suggested, adjust it, or use a normal discussion instead. - Custom roles, using role mode by default for some kinds of topics, and a different view of a model's tier can all go in the preference files. The role table and assignment rules are in
references/roles.md.
The three modules are no longer a fixed flow
- Discuss, run and review are entered as needed, in any order and more than once, for example "run → discuss the result → rework → review". Each time, the step is levelled again by that kind's criteria.
Commands in the new format
- Slash commands moved from the legacy
commands/folder toskills/<command>/SKILL.mdunder the same names, so installing no longer warns about the old format. - Only you type these commands; Claude Code doesn't call them itself, because they mean "you asked for this by name" and skip the level 0 check. When Claude Code starts something on its own, it still goes through the dispatch skill, which levels the step and follows
dispatch.auto.
Live view
- When blocks in a group have different titles (role-mode discussions, split hands-on work), each block's first line is the model and its status and the second is its title, with the round added for resumed discussions.
- Fixed: the last run to finish was sometimes shown as interrupted.
Docs
- The README flowchart is now three modules: an overview plus one diagram each for discuss, run and review; a new "Role-mode discussions" section.
Upgrading
In Claude Code, run:
/plugin marketplace update claude-foreman
If you installed through "My Uploads" in the desktop app, download an attachment, upload it again and remove the old 1.0.0. For each plugin, the .zip and .plugin attachments are identical; pick either. No config changes are needed.
v1.0.0
codex-bridge 改名为 foreman,从"把活派给 Codex"变成"Claude Code 当工头、多个模型一起干活"。
改动
改名
- 插件
codex-bridge/codex-bridge-en改为foreman/foreman-en,marketplace 改为claude-foreman,仓库改为DaydayupV/claude-foreman。 /codex-bridge:rescue改为/foreman:run,其他命令只换前缀。
多种协作方
- 协作方分四类:Codex CLI、opencode CLI、pi CLI、API 模型(兼容 OpenAI 接口的都行)。Codex 不再是必需的,同一类可以配多个,代号按模型命名。
- opencode 和 pi 能做审查和讨论;在用户配置里写了
run_access(edit或shell)的,还能做执行任务。API 模型参加讨论。
多方讨论
- 讨论的某一级可以配好几个模型,同时出方案;有分歧时匿名交叉挑错,最后由 Claude Code 逐条裁决,写成决策记录。
- API 模型排队太久时自动处理,不让你干等。
按阶段定级
- 一个请求分成讨论、执行、审查几个阶段,每个阶段到了时按这一类的标准定 0–3 级:0 级由 Claude Code 自己处理,1–3 级按配置交给谁。
- 只由 Claude Code 做的工作(决策、设计、文字)和生成图片按性质分工,不走等级。
dispatch.auto现在管 Claude Code 主动发起的派活、讨论和审查三件事。
审查
- 审查范围由插件用 git 统一算好,所有协作方含义一致;总是开新会话审。审查方和执行方是同一个模型时,在汇报里注明。
配置和检查
- 新增
models命令:列出各工具自带的模型清单和支持的推理强度。 check按模型清单核对推理强度、不调模型地测 Codex 沙箱,结果附总配置情况;/foreman:setup改为按模型清单给出一份完整推荐。- 项目配置只能收紧用户配置,不能放宽。
实时查看
- 所有派出去的任务(包括审查)都会打开实时查看;开头有几秒启动动画,显示参与模型的像素头像。
- macOS 自带终端退回 256 色显示。
稳定性
- 协作方运行时不会因为等人回答而卡住,提问统一收集在结果里,由 Claude Code 决定或交给你。
- 修复 Windows 上并发时偶发的崩溃;修复 opencode 读错工作目录。
- 218 项测试。
文档
- README 重写:四类协作方对比、完整示例配置、任务全流程图;推荐在 Claude 桌面版里用。
- 介绍视频:在 B 站观看。
升级
Claude Code 不会把旧插件自动升级成新名字,需要手动换一次:
- 卸载旧插件:
/plugin uninstall codex-bridge@claude-codex-bridge(英文版是codex-bridge-en@claude-codex-bridge)。 - 添加新的 marketplace 并安装:
/plugin marketplace add DaydayupV/claude-foreman /plugin install foreman@claude-foreman - 用桌面版"我的上传"装过旧插件的,在那里把它删掉。
你的配置、偏好和运行记录会在新插件第一次运行时自动搬过去,配置改成新写法,每一级实际用的模型和推理强度不变,原文件备份为 config.json.bak。详见 README 的"从 codex-bridge 升级"。
附件里同一个插件的 .zip 和 .plugin 内容完全相同,任选一个。
English
codex-bridge is now foreman: instead of handing work to Codex, Claude Code runs the show and several models work together.
Changes
Renamed
- The plugins
codex-bridge/codex-bridge-enare nowforeman/foreman-en, the marketplace isclaude-foreman, and the repository isDaydayupV/claude-foreman. /codex-bridge-en:rescueis now/foreman-en:run; other commands only change their prefix.
Several kinds of agents
- There are four kinds: Codex CLI, opencode CLI, pi CLI and API models (anything with an OpenAI-compatible API). Codex is no longer required, you can configure several of the same kind, and agent IDs are named after their models.
- opencode and pi can do reviews and discussions, and hands-on work too when the user config gives them
run_access(editorshell). API models join discussions.
Multi-model discussions
- A discussion level can include several models that propose approaches at the same time; when they disagree, they critique each other anonymously, and Claude Code decides point by point in a decision record.
- An API model stuck in a long queue is handled automatically instead of leaving you waiting.
One leveling step per stage
- A request goes through stages (discussion, hands-on work, review), and each is leveled 0–3 when it's reached: Claude Code handles level 0 itself, and the config decides who gets levels 1–3.
- Work only Claude Code does (decisions, design, writing) and image generation are assigned by their nature, not by level.
dispatch.autonow covers all three things Claude Code starts on its own: hands-on work, discussions and reviews.
Reviews
- The plugin works out a review's scope with git, so it means the same for every agent, and reviews always run in a new session. When the reviewer is the same model as the one that did the work, the report says so.
Config and checks
- New
modelscommand: lists the model catalogs built into each tool, with the efforts each model supports. checkverifies efforts against those catalogs and tests the Codex sandbox without a model call, and ends with an overview of the whole config;/foreman-en:setupnow gives one complete recommendation based on the model catalogs.- A project config can only tighten the user config, never loosen it.
Live view
- Every task handed to another model, reviews included, opens the live view, starting with a few seconds of intro showing pixel avatars of the models taking part.
- The built-in macOS Terminal falls back to 256 colors.
Reliability
- Agents never stall waiting for an answer: their questions are collected in the result, and Claude Code decides or passes them to you.
- Fixed an occasional crash on Windows when tasks ran in parallel, and opencode reading the wrong working directory.
- 218 tests.
Docs
- Rewritten README: a comparison of the four kinds of agents, a complete example config, and a flowchart of a request's whole path; the Claude desktop app is recommended.
- Intro video: watch on Bilibili.
Upgrading
Claude Code doesn't upgrade a plugin to a new name on its own, so switch over once by hand:
- Uninstall the old plugin:
/plugin uninstall codex-bridge-en@claude-codex-bridge(orcodex-bridge@claude-codex-bridgefor the Chinese version). - Add the new marketplace and install:
/plugin marketplace add DaydayupV/claude-foreman /plugin install foreman-en@claude-foreman - If you installed the old plugin through "My Uploads" in the desktop app, delete it there.
Your config, preferences and run records move over automatically the first time the new plugin runs. The config is rewritten in the new format, the model and effort each level uses stay the same, and the original is backed up as config.json.bak. See "Upgrading from codex-bridge" in the README.
The .zip and .plugin attachments for each plugin are identical; use either one.
v0.10.6
改动
生成图片交给 Codex
- 要生成或编辑位图图片时(照片、插画、贴图、精灵图、封面和主视觉、透明背景抠图、修改现有图片),Claude 会直接派给 Codex,用它内置的出图工具。Claude 和 DeepSeek 等 API 模型都不能出图,所以这类任务不看等级配置给了谁,一律加
--agent codex派出。 - 画什么仍由 Claude 定:主体、风格、构图、尺寸和图上的文字由 Claude 写进任务说明,Codex 只负责出图。图表、流程图、图标、SVG 这类能用代码画出来的不算,照旧按原来的分工。
- 验收时 Claude 会打开图片亲眼看,不合格就返工。
- 会话开始时的提醒和 skill 的描述都加上了"要生成或编辑图片时",这类请求也会走这套规则。
- 需要 Codex CLI 开启了出图功能(
codex features list里image_generation为true),出图用的是 Codex 的额度。
结果里列出生成的图片
- Codex 出的图先存在
~/.codex/generated_images/<会话 id>/,在项目目录外面。run和resume的结果新增generated_images字段,列出这一轮生成的图片的完整路径,续接时不会重复列出上一轮的。 codex exec的事件里没有出图的记录,现在脚本会自己检查图片目录:图片生成后,实时查看的时间线上会出现一行「生成图片 …」。
升级
/plugin marketplace update claude-codex-bridge
附件是打包好的插件,.zip 和 .plugin 内容相同。
English
Changes
Image generation goes to Codex
- When a bitmap image needs to be generated or edited (photos, illustrations, textures, sprites, covers and hero images, transparent cutouts, changes to existing images), Claude hands it straight to Codex, which uses its built-in image tool. Neither Claude nor API models such as DeepSeek can make images, so these tasks ignore who the config gives the level to and always go out with
--agent codex. - Claude still decides what to draw: the subject, style, composition, size and any text in the image go into the brief, and Codex only produces the image. Charts, flowcharts, icons, SVGs and anything else that code can draw don't count and follow the usual split.
- When checking the result, Claude opens the image and looks at it, and sends it back for rework if it isn't right.
- The session-start reminder and the skill description now include "when an image needs to be generated or edited", so these requests follow the rule too.
- Codex CLI needs image generation turned on (
image_generationistrueincodex features list); images use your Codex quota.
Results list the generated images
- Codex first saves images in
~/.codex/generated_images/<session id>/, outside the project folder.runandresumeresults have a newgenerated_imagesfield with the full path of each image made in that round; a resume doesn't list the previous round's images again. codex execemits no event for image generation, so the script now watches the image folder itself: once an image is generated, the live view's timeline shows a "Generated image …" line.
Upgrading
/plugin marketplace update claude-codex-bridge
The attachments are the packaged plugins; .zip and .plugin have identical contents.
v0.10.5
改动
任务等级和分工
- 去掉了「改动不到约 100 行就由 Claude 自己做」的派活门槛。除了只由 Claude 做的工作(核心决策、整体规划、创意设计、给人读的文字),其余任务一律先定等级,再按配置把这一级交给谁,包括 Claude 自己。默认配置里
simple和normal仍由 Claude 做,用起来基本没变;把simple改成交给 Codex 的话,连很小的改动也会派出去。 - 等级看的是需要多少判断、出错的代价有多大,不看改动多少:照清单机械地改 20 个文件是
simple,改模块之间的接口、排查根因不明的 bug 是complex。执行、审查、讨论各有一套标准。 /codex-bridge:rescue、/codex-bridge:review、/codex-bridge:discuss没写等级时都按标准判断,不再有默认等级(/codex-bridge:discuss以前默认complex)。- 某一级配置成
"claude"、你又点名要 Codex 做时,Claude 会加--agent codex,用 Codex 的默认模型。
API 模型繁忙时问你要不要终止
- DeepSeek 等服务繁忙时,请求会在服务端排队、迟迟不开始处理,最后可能被断开。现在能识别出排队,实时查看里显示「排队中 2:13(服务繁忙)」。
- 排队超过
dispatch.busy_ask_min分钟(默认 2),Claude 会问你:终止它、用其他参与方的结果继续;再等 5 分钟;还是一直等。 - 实时查看里对排队中的模型按 x、再按一次确认,也能终止它。
- 新增
await-busy和cancel两个命令。
实时查看
- 打开后会把终端面板切到这个标签页,不会藏在别的面板后面。
- 讨论的每一轮都新开一个标签页;任务组只显示当前这一轮,标题写「第 2 轮」。
- 不同对话用了同一个组名也不会混在一起,只算当前对话派出的任务。
- 任务组结束后留下的汇总和实时面板同一排版:分隔线,标题行右侧是状态和用时。
- 中断的任务按最后一次活动算用时,不再一直往上涨。
讨论
- 你明确说要和 Codex 或其他模型讨论时直接开;
/codex-bridge:discuss没写议题时,用对话里刚才在谈的问题。 simple级的一次性问答从简:不先写方案、不做交叉挑错,也不写决策记录。
其他
- 会话开始时只提醒还没处理的执行任务;对已经结束、没正常完成的任务运行
cancel,之后就不再提醒。 - Microsoft Store 版的 Claude 桌面端,实时查看能找到脚本了(以前报
ERR_MODULE_NOT_FOUND)。 - macOS 和 Linux 上,PATH 里找不到
codex时,会再到 node 所在的目录、Homebrew、npm、Volta 等常见安装目录找。 check会检查实时查看启动器的路径是不是只有 ASCII 字符(桌面版的终端面板只接受 ASCII 命令);组名也只能用英文字母、数字和. _ -。
升级
/plugin marketplace update claude-codex-bridge
附件是打包好的插件,.zip 和 .plugin 内容相同。
English
Changes
Task levels and who does what
- The handoff threshold ("Claude does anything under about 100 lines itself") is gone. Apart from work only Claude does (key decisions, overall planning, creative design, text meant for people), every task gets a level first, and the config decides who gets that level, Claude itself included. The default config still gives
simpleandnormalto Claude, so day-to-day behavior barely changes; if you givesimpleto Codex, even very small changes get handed off. - The level depends on how much judgment a task needs and how costly a mistake would be, not on how much it changes: mechanically changing 20 files from a list is
simple; changing the interfaces between modules or chasing a bug with an unknown cause iscomplex. Hands-on work, reviews and discussions each have their own criteria. /codex-bridge-en:rescue,/codex-bridge-en:reviewand/codex-bridge-en:discussdecide the level by these criteria when you don't give one. There's no default level anymore (/codex-bridge-en:discussused to default tocomplex).- When a level is set to
"claude"and you explicitly want Codex to do the task, Claude adds--agent codex, which uses Codex's default model.
Asking whether to stop a busy API model
- When a service such as DeepSeek is busy, the request waits in the server's queue without starting, and the server may eventually drop it. This is now detected, and the live view shows "queued 2:13 (service busy)".
- Once a model has been queued for more than
dispatch.busy_ask_minminutes (2 by default), Claude asks you whether to stop it and go ahead with the other participants' results, wait 5 more minutes, or keep waiting. - In the live view, press x on a queued model, then x again to confirm, to stop it.
- New
await-busyandcancelcommands.
Live view
- After opening, it switches the terminal panel to that tab, so it isn't hidden behind another panel.
- Each round of a discussion opens a new tab; a group view shows only the current round, with "round 2" in the title.
- Two conversations that happen to use the same group name no longer mix: a group only counts runs from the current conversation.
- The summary a group leaves when it ends uses the same layout as the live panel: rules between blocks, with status and elapsed time on the right of each title line.
- An interrupted run's duration is measured to its last activity instead of growing forever.
Discussions
- When you explicitly ask to discuss something with Codex or other models, a discussion starts right away;
/codex-bridge-en:discusswithout a topic uses the question the conversation was just on. - A
simpleone-off question keeps it short: no proposal written first, no critique round, and no decision record.
Other
- The session-start reminder only lists hands-on runs that haven't been handled; running
cancelon a run that ended without finishing marks it handled, so it isn't listed again. - In the Microsoft Store version of the Claude desktop app, the live view can now find its script (it used to fail with
ERR_MODULE_NOT_FOUND). - On macOS and Linux, when
codexisn't on PATH, the script also looks in node's own folder and common install folders such as Homebrew, npm and Volta. checkreports whether the live-view launcher's path is ASCII-only (the desktop app's terminal panel only accepts ASCII commands); group names may only use letters, digits and. _ -.
Upgrading
/plugin marketplace update claude-codex-bridge
The attachments are the packaged plugins; .zip and .plugin have identical contents.
v0.10.4
改动
单个任务的实时查看改成时间线。左边一列是时间,模型说的话是节点,执行的命令、搜索和文件改动挂在竖线下面:
10:18 ┌ gpt-6-astra(Codex CLI,effort max)
│ 执行 · API 协作方与配置重构 · 等级 complex
│
10:18 ◆ 我先检查 Node、仓库状态和相关入口,再改配置迁移与 API 讨论路径。
│ $ node --version
│ $ git status --short
│ … 另有 6 条命令(加 --verbose 查看)
10:19 ◆ 配置部分会按"迁移 → 合并 → 统一校验"处理。
│ ✎ 修改 codex-bridge/skills/dispatch/scripts/bridge.mjs
│
10:21 └ ✔ 完成 · 用时 2 分 46 秒 · 改动 3 个文件
- 最底下一行实时显示用时、命令数、改动数和计划进度,比如
⠹ gpt-6-astra · 运行中 2:40 · 命令 16 · 改动 3 个文件。 - 运行中的画面会随窗口大小重新排版,拉窄窗口不再错乱。可以用 ↑↓、PgUp/PgDn 或鼠标滚轮往回翻,End 回到最新,q 退出查看(任务照常运行)。结束或退出时,完整的时间线留在终端里。
- 失败的命令一定连同命令本身一起显示,折叠起来的命令也一样。
任务组的实时查看:各模型之间加了分隔线,每块标题行右侧显示状态和用时(比如 运行中 · 12:03 · 命令 23、完成 · 4 分 12 秒),顶部右侧是运行中、完成、失败各几个。拉窄窗口时整屏重画,不再错乱。
API 模型的思考进度合成一行。以前每 15 秒打一行"思考中…",一次讨论能刷十几行。现在底部一行原地刷新,时间线上只记一笔"思考了 3 分 19 秒(64,897 字),开始输出回答"。
其他
- 用时写成"19 分 18 秒",状态写中文(完成、部分完成、等待决定、失败、中断……)。
- 断线后自动重连改为黄色提示,任务成功后不再出现在结果末尾,也不再记成错误。
- 搜索改用单宽的 ◎,空的搜索不再占一行。
- 每个 Codex 事件都记下收到的时间,回看已经结束的任务也有时间线。0.10.4 之前的记录没有时间,时间一列留空。
- 折行时不拆开英文单词、文件名和路径,开引号和开括号不留在行尾。
升级
/plugin marketplace update claude-codex-bridge
附件是打包好的插件,.zip 和 .plugin 内容相同。
English
Changes
The live view of a single run is now a timeline. Times run down the left; what the model says are nodes, and the commands it runs, searches and file changes hang off a rail below them:
10:18 ┌ gpt-6-astra (Codex CLI, effort max)
│ run · Refactor API agents and config · level complex
│
10:18 ◆ I'll check Node, the repo state and the entry points first, then the config migration.
│ $ node --version
│ $ git status --short
│ … 6 more commands (add --verbose to see them)
10:19 ◆ The config goes through migrate → merge → one validation pass.
│ ✎ changed codex-bridge/skills/dispatch/scripts/bridge.mjs
│
10:21 └ ✔ completed · took 2m 46s · 3 files changed
- A bottom line keeps showing elapsed time, command count, files changed and plan progress, e.g.
⠹ gpt-6-astra · running 2:40 · 16 commands · 3 files changed. - While the run is going, the view re-flows when the window is resized, so narrowing the window no longer garbles it. Scroll back with ↑↓, PgUp/PgDn or the mouse wheel, press End to jump to the latest, and q to stop watching (the run keeps going). When the run ends or you stop watching, the full timeline stays in the terminal.
- A failed command is always shown together with the command itself, even when that command was folded.
Live view of a group: blocks are separated by rules, each block's title line shows status and elapsed time on the right (e.g. running · 12:03 · 23 commands, done · 4m 12s), and the top right shows how many runs are running, done and failed. Narrowing the window redraws the whole screen instead of garbling it.
An API model's reasoning progress is one line. Before, a "Thinking…" line was printed every 15 seconds, a dozen or more per discussion. Now a bottom line updates in place, and the timeline records just "Thought for 3m 19s (64,897 characters), now writing the answer".
Other
- Durations read like "19m 18s", and statuses are spelled out (completed, partly done, needs a decision, failed, interrupted…).
- Automatic reconnects after a dropped connection show as a yellow note, aren't listed at the end of a successful run, and aren't recorded as errors.
- Searches use the single-width ◎, and empty searches no longer take a line.
- Every Codex event records when it arrived, so replaying a finished run shows times too. Records from before 0.10.4 have no times; that column stays blank.
- Line wrapping keeps English words, file names and paths whole, and doesn't leave an opening quote or bracket at the end of a line.
Upgrading
/plugin marketplace update claude-codex-bridge
The attachments are the packaged plugins; .zip and .plugin have identical contents.
v0.10.3
改动
终端显示以模型为主。Codex 是一个命令行工具,不是模型。现在各处显示的都是实际用的模型,接入方式和推理强度写在括号里:
discuss 开始|gpt-6-astra(Codex CLI,effort high)|等级 normal|记录目录 …
deepseek-v4-pro(API,effort high)
mimo-v2.6-pro(API,effort default)
启动提示、status、实时查看和任务组汇总都用这个写法。模式名(run、discuss、review)保持英文。
任务组的实时查看重做了。跟踪一个任务组(比如多个模型一起讨论)时:
- 一个窗口按模型分块,每块只显示这个模型最新的几行进度(说的话、执行的命令、思考内容),行数随窗口高度自动分配。
- 不再显示 run_id,按模型区分;status 和单个任务的实时查看里照样保留 run_id。
- 全部结束后,留下一份汇总:每个模型的结果、用时、token 用量和观点。
窗口大小变化时文字会重新排版。以前拉动终端窗口,已经显示的文字不会跟着变。现在任务组视图会整屏重画,单个任务的实时查看也不再自己断行,交给终端按窗口宽度重排。
其他
- 讨论和审查本来只读,只有真的改了文件时才显示改动数(这时要提醒检查)。
- 修复:API key 很短(不到 8 个字符)时,打码会把回答里的普通字母也换掉,弄坏报告。现在过短的 key 不打码。真实的 key 都比这长,不受影响。
升级
/plugin marketplace update claude-codex-bridge
附件是打包好的插件,.zip 和 .plugin 内容相同。
English
Changes
The terminal display now centers on the model. Codex is a command-line tool, not a model. Everywhere now shows the model actually used, with how it's reached and the reasoning effort in brackets:
discuss started | gpt-6-astra (Codex CLI, effort high) | level normal | run dir …
deepseek-v4-pro (API, effort high)
mimo-v2.6-pro (API, effort default)
The start message, status, the live view and the group summary all use this form. Mode names (run, discuss, review) stay as they are.
The live view for a group is redone. When following a group (such as several models discussing together):
- One window is split into a block per model. Each block shows only that model's latest few lines (what it says, the commands it runs, its reasoning), with the number of lines fitted to the window height.
- run_ids are no longer shown; runs are told apart by model. status and the live view of a single run still show the run_id.
- When everything finishes, a summary stays on screen: each model's result, time taken, token use and position.
Text reflows when the window is resized. Before, text already on screen didn't follow the window when you resized the terminal. Now the group view redraws the whole screen, and the single-run live view no longer breaks lines itself, so the terminal rewraps them to the window width.
Other
- Discussions and reviews are meant to be read-only, so they only show a file-change count when files were actually changed (which needs checking).
- Fix: with a very short API key (under 8 characters), redacting it also replaced ordinary letters in the answer and broke the report. Keys that short are no longer redacted. Real keys are all longer and aren't affected.
Upgrading
/plugin marketplace update claude-codex-bridge
The attachments are the packaged plugins; .zip and .plugin have identical contents.
v0.10.2
改动
内部文件改名。0.10 之后插件不只调度 Codex,还会组织多个模型讨论,原来的两个内部名字已经不准确了:
| 原来 | 现在 |
|---|---|
skill codex-dispatch(全名 codex-bridge:codex-dispatch) |
dispatch(全名 codex-bridge:dispatch) |
主脚本 skills/codex-dispatch/scripts/codex-run.mjs |
skills/dispatch/scripts/bridge.mjs |
终端提示前缀 codex-run: |
bridge: |
不变的:项目名、命令(/codex-bridge:rescue、/codex-bridge:discuss 等)、配置文件 ~/.claude/codex-bridge.json、运行记录目录 ~/.claude/codex-runs、环境变量,以及所有功能和行为。
对现有用户的影响:升级后照常使用,配置和运行记录都不用动。只有一种情况要留意:如果你在偏好文件、权限白名单或者自己的脚本里写过 codex-dispatch 或 codex-run.mjs,把它们改成新名字。
README 的配置示例也换成了第一次使用时实际生成的配置,"让其他模型参加讨论"一节改成从配置里的 DeepSeek 示例讲起。
升级
/plugin marketplace update claude-codex-bridge
附件是打包好的插件,.zip 和 .plugin 内容相同。
English
Changes
Internal renames. Since 0.10 the plugin does more than hand work to Codex; it also runs discussions among several models, so two internal names no longer fit:
| Before | Now |
|---|---|
skill codex-dispatch (full name codex-bridge-en:codex-dispatch) |
dispatch (full name codex-bridge-en:dispatch) |
main script skills/codex-dispatch/scripts/codex-run.mjs |
skills/dispatch/scripts/bridge.mjs |
terminal message prefix codex-run: |
bridge: |
Unchanged: the project name, the commands (/codex-bridge-en:rescue, /codex-bridge-en:discuss and so on), the config file ~/.claude/codex-bridge.json, the run record directory ~/.claude/codex-runs, the environment variables, and all features and behavior.
Effect on existing users: after upgrading, everything works as before, and your config and run records stay as they are. One thing to check: if your preference files, permission allowlists or your own scripts mention codex-dispatch or codex-run.mjs, change them to the new names.
The README's config example is now the config actually generated on first use, and "Adding other models to discussions" now starts from the DeepSeek example in that config.
Upgrading
/plugin marketplace update claude-codex-bridge
The attachments are the packaged plugins; .zip and .plugin have identical contents.
v0.10.1
改动
第一次使用时生成的配置里带上 DeepSeek 和 MiMo 两个示例。
"deepseek": {
"type": "openai-compatible",
"base_url": "https://api.deepseek.com",
"api_key": "",
"model": "deepseek-v4-pro"
},
"mimo": {
"type": "openai-compatible",
"base_url": "https://api.xiaomimimo.com/v1",
"api_key": "",
"model": "mimo-v2.6-pro"
}api_key留空,用来提醒可以填。它们没有加进讨论等级,讨论默认仍然只有 Codex;想用的话,填上api_key,再把它加进levels.discuss。api_key现在可以留空"",表示还没填,不再算配置错误。没有 key 的协作方被放进讨论等级时,运行时会提示 key 填在哪里。check和/codex-bridge:setup会把没填 key 的示例报成"还没有 API key",并说明不打算用的话可以不管,不影响整体结果。
对现有用户的影响:只有新生成的配置文件才带示例,已经有配置的用户不受影响。
升级
/plugin marketplace update claude-codex-bridge
附件是打包好的插件,.zip 和 .plugin 内容相同。
English
Changes
The config generated on first use now includes two examples, DeepSeek and MiMo.
"deepseek": {
"type": "openai-compatible",
"base_url": "https://api.deepseek.com",
"api_key": "",
"model": "deepseek-v4-pro"
},
"mimo": {
"type": "openai-compatible",
"base_url": "https://api.xiaomimimo.com/v1",
"api_key": "",
"model": "mimo-v2.6-pro"
}- The empty
api_keyis a reminder that a key can go there. The examples aren't added to any discussion level, so discussions still have only Codex by default; to use one, fill in itsapi_keyand add it tolevels.discuss. api_keycan now be left as"", meaning not filled in yet; it's no longer a config error. If an agent without a key is put in a discussion level, the run tells you where to fill in the key.checkand/codex-bridge-en:setupreport unfilled examples as having no API key yet, and say they can be left alone if you don't plan to use them; this doesn't affect the overall result.
Effect on existing users: only newly generated config files include the examples; existing configs are unaffected.
Upgrading
/plugin marketplace update claude-codex-bridge
The attachments are the packaged plugins; .zip and .plugin have identical contents.