8.9 KiB
Codex + Gemini 审稿人指南
使用:
- Codex 作为主执行者
- Gemini 作为审稿人
- 本地
gemini-reviewMCP bridge 作为传输层 - direct Gemini API 作为默认 reviewer backend
这份指南是对上游 skills/skills-codex/ 的叠加方案,不是替换。
架构
- 基础 skill 集:
skills/skills-codex/ - 审稿覆盖层:
skills/skills-codex-gemini-review/ - 审稿 bridge:
mcp-servers/gemini-review/
安装顺序很重要:
- 先安装
skills/skills-codex/* - 再安装
skills/skills-codex-gemini-review/* - 最后注册
gemini-reviewMCP
安装
git clone https://github.com/wanshuiyin/Auto-claude-code-research-in-sleep.git
cd Auto-claude-code-research-in-sleep
mkdir -p ~/.codex/skills
cp -a skills/skills-codex/* ~/.codex/skills/
cp -a skills/skills-codex-gemini-review/* ~/.codex/skills/
mkdir -p ~/.codex/mcp-servers/gemini-review
cp mcp-servers/gemini-review/server.py ~/.codex/mcp-servers/gemini-review/server.py
cp mcp-servers/gemini-review/README.md ~/.codex/mcp-servers/gemini-review/README.md
codex mcp add gemini-review --env GEMINI_REVIEW_BACKEND=api -- python3 ~/.codex/mcp-servers/gemini-review/server.py
推荐凭证文件:
mkdir -p ~/.gemini
cat > ~/.gemini/.env <<'EOF'
GEMINI_API_KEY="your-key"
EOF
chmod 600 ~/.gemini/.env
如果存在,bridge 会自动加载 ~/.gemini/.env。
为什么默认走 direct API
- 这条路径的目标是:最大化复用原始 ARIS 的 reviewer-aware skills,同时最少改 skill。
gemini-reviewbridge 保留了与 Claude-review overlay 相同的review/review_reply/review_start/review_reply_start/review_status契约。- 直接走 Gemini API 可以去掉本地 CLI 这一跳,让 reviewer 路径更接近 ARIS 里已有的 API 型集成方式。
接入边界说明
- Google AI Studio / Gemini API 在支持地区提供免费层;这不要求你先订阅 Gemini Advanced / Google One AI Premium。
- 免费层可用模型、速率限制和配额会变化,不应把某个固定额度或旧模型示例写成长期承诺。
- 免费层下的 prompt / response 处理条款与付费层不同;如果涉及敏感数据,必须先核对官方当前条款。
- 官方入口与定价说明:
- API key / AI Studio:https://aistudio.google.com/apikey
- Gemini API 定价与免费层:https://ai.google.dev/gemini-api/docs/pricing
可选 CLI fallback
这份指南的预期路径是 direct API。
如果你明确想切到 Gemini CLI,可改成:
codex mcp remove gemini-review
codex mcp add gemini-review --env GEMINI_REVIEW_BACKEND=cli -- python3 ~/.codex/mcp-servers/gemini-review/server.py
但这不是本指南的主路径。
验证
- 检查 MCP 是否注册成功:
codex mcp list
- 检查本地 Gemini 凭证文件是否存在:
test -f ~/.gemini/.env && echo "Gemini env file found"
- 在你的项目里启动 Codex:
codex -C /path/to/your/project
排障
如果默认 API 模型在你当前的免费层时间窗口里返回临时 429,不要改 bridge 结构,只需要覆盖 reviewer model:
codex mcp remove gemini-review
codex mcp add gemini-review --env GEMINI_REVIEW_BACKEND=api --env GEMINI_REVIEW_MODEL=gemini-flash-latest -- python3 ~/.codex/mcp-servers/gemini-review/server.py
这不会改变 ARIS 的 reviewer 契约,也不会改变 skill overlay 的组织方式,只是让同一个本地 gemini-review bridge 在底层改用另一个 Gemini API 模型。
验证结果摘要
这条路径做了两层验证:
- 全量 overlay 覆盖检查:
skills/skills-codex-gemini-review/覆盖的15个预定义 reviewer-aware Codex skill 都逐一核对过,确认已经指向gemini-review,不再依赖旧的 reviewer transport。 - bridge 运行时验证:本地
gemini-reviewMCP bridge 实测覆盖了:reviewreview_replyreview_startreview_reply_startreview_status- 基于本地图像的
imagePaths多模态审查
- 代表性 Codex 侧 smoke test:我们在一个私有、未公开的研究仓库上实跑了这套 overlay,确认真实的 Codex 执行能够进入 Gemini reviewer 路径,覆盖了研究审稿、idea 生成、论文规划这几类代表性工作流。
已经验证通过的点:
- direct API 审稿可以返回有效 reviewer 文本
- 异步 review job 可以完成,并可通过
review_status恢复状态 - 带 thread 状态的 follow-up review 可以继续多轮对话
imagePaths本地图像审查可用- 已实跑的 Codex skill 路径能够正确加载 Gemini overlay,并发出真实的
gemini-reviewtool call
测试中的实际观察:
- Gemini 免费层对这条 reviewer 路径是可用的,但如果在很短时间内集中压测,仍然可能出现临时
429 - 速率限制表现和具体模型有关;当前 API 模型面应以 AI Studio /
ListModels为准,而不是沿用旧配额表里的模型示例 - 在同一套环境上的后续重试中,把
GEMINI_REVIEW_MODEL覆盖为gemini-flash-latest后,direct API bridge 已成功跑通同步 review、异步review_start->review_status以及带 thread 的review_reply_start->review_status - 这类
429更像是短时间 burst limit,而不是集成本身失效 - 对超长 prompt,宿主侧 MCP tool timeout 仍可能先于同步调用返回,所以长审稿默认仍推荐
review_start/review_reply_start+review_status
这也是为什么 bridge 同时暴露同步和异步工具,而 reviewer-aware skill overlay 默认优先走异步流程。
会覆盖哪些 skill
这个 overlay 会替换预定义的 reviewer-aware Codex skills:
idea-creatoridea-discoveryidea-discovery-robotresearch-reviewnovelty-checkresearch-refineauto-review-loopgrant-proposalpaper-planpaper-figurepaper-poster-htmlpaper-slidespaper-writepaper-writingauto-paper-improvement-loop
其它能力仍然来自上游 skills/skills-codex/。
核心 8 个 vs 运行态 15 个
这条路径有两种都成立的描述方式:
- 核心 8 个:和现有 Claude-review 路径一一对齐的 reviewer overlay 核心集合
- 运行态 15 个:当前安装后的 Codex skill 集里,实际切到 Gemini reviewer 的完整 reviewer-aware 技能面
其中 核心 8 个 是:
research-reviewnovelty-checkresearch-refineauto-review-looppaper-planpaper-figurepaper-writeauto-paper-improvement-loop
这 8 个最直接对应早先 Claude-review overlay 的组织方式和 reviewer 契约。
另外扩展进去的 7 个 reviewer-aware 技能是:
idea-creatoridea-discoveryidea-discovery-robotgrant-proposalpaper-writingpaper-slidespaper-poster-html
所以更准确的理解是:
- 核心机制 仍然沿用和 Claude 路径相同的 8-skill overlay 形状
- 运行态 reviewer 覆盖面 则已经扩展到 15 个 skill
这也解释了为什么 diff 更大,但并不意味着 reviewer 契约本身被改乱了。
直接消费者 vs wrapper
这 15 个 skill 里又可以分成两类:
- 12 个直接消费者:自己会直接调用
mcp__gemini-review__review_start/review_reply_start/review_statusresearch-reviewnovelty-checkresearch-refineauto-review-looppaper-planpaper-figurepaper-writeauto-paper-improvement-loopidea-creatorgrant-proposalpaper-slidespaper-poster-html
- 3 个 wrapper:主要负责串联下游 reviewer-aware 子 skill,并向下传递
REVIEWER_MODEL=gemini-reviewidea-discoveryidea-discovery-robotpaper-writing
这层分类对验收很重要:不需要把 15 条工作流都完整跑到底,才能证明 reviewer transport 是通的。对于 PR 验收,更合理的做法是:全量结构检查 + bridge 运行时验证 + 少量直接消费者 / wrapper 的代表性 smoke test 组合验证。
异步 reviewer 流程
对于长论文 / 长项目审稿,使用:
review_startreview_reply_startreview_status
原因:即便走 direct API,超长同步 reviewer 调用仍然可能撞上宿主侧的 MCP timeout。保留异步 review* 流程,才能在不改原有 reviewer-aware skill 行为的前提下继续复用它们。
项目配置
这条路径不需要额外的项目配置文件。
- 继续使用你现有的
CLAUDE.md - 保持现有项目布局
- 只切换安装的 Codex skill 文件和 MCP 注册
维护原则
让这条路径保持足够窄:
- 基础能力继续复用
skills/skills-codex/* - 只在
skills/skills-codex-gemini-review/*里覆盖 reviewer-aware skills - 让
mcp-servers/gemini-review/server.py只聚焦review*兼容契约 - 如果某个 skill 需要审查 poster PNG,就通过 direct Gemini API backend 传
imagePaths,而不是再发明第二套 bridge