signal online Asaqe Lee --:--:-- UTC reading mode
02 Asaqe.
System Record / Infrastructure Stack 4 min read skills-peer-consult

Peer Consult:用 Codex 统一收口,让 Claude + Gemini 给你“第二、第三意见”

卡住时缺的不是又一个模型,而是 Codex 收口、Claude 与 Gemini 给独立意见的可审计流程。

Peer Consult:用 Codex 统一收口,让 Claude + Gemini 给你“第二、第三意见”

当你在调试里卡住、测试一连两轮还是红的、或面对多个修复方案难以取舍时,真正稀缺的不是“再多一个模型”,而是一套可审计、可复盘、边界清晰的协作流程。peer-consult 就是为此而生:

以 Codex 为主执行者,同时征询 Claude Code 与 Gemini CLI 的独立意见,再由 Codex 汇总优缺点并做可验证的裁决。这篇文章给你一个可直接落地的工作流,从安装到产物、从安全边界到常见问题,一次讲清。


一、适用场景(触发条件)

  • 连续两轮定位 / 修复仍无进展,或关键测试失败且根因不清晰
  • 需要在多个方案间做取舍(性能 / 兼容 / 侵入性 / 可维护性)
  • 触及安全敏感面:鉴权 / 权限 / 反序列化 / 命令执行 / 依赖升级等
  • 当你觉得“需要第二意见”,其实就是这条技能的入口。

二、前置条件

本机可执行命令:claude 与 gemini

python3

目标项目目录可写(产物落盘到 docs/peer_consult/)


三、推荐安装方式(用户级)

把 Skill 从仓库移到本机,全局复用,但产物仍写回目标项目:

mkdir -p ~/.codex/skills

> 也可项目级运行(不推荐,但可用):

> python3 .codex/skills/peer-consult/scripts/peer_consult.py 

四、标准流程(必须按顺序)

1. 生成“咨询包”(上下文文件)

  • 复制模板:~/.codex/skills/peer-consult/assets/request_template.md
  • 保存为:docs/peer_consult/request.md 或 docs/peer_consult/request-<slug>.md
  • 只保留关键段并完成脱敏

2. 运行脚本收集两方意见

python3 ~/.codex/skills/peer-consult/scripts/peer_consult.py \
  --question "<一句话摘要>" \
  --context-file docs/peer_consult/request.md
  • 若不在项目根目录执行:追加 --project-root <path>(或 --cd <path>)
  • 如需保留原文用于调试:追加 --save-raw

3. 打开脚本生成的摘要文件,完善“Codex 裁决”

  • 共识点(两方一致的根因 / 方案)
  • 分歧点(各自方案的 trade-off)
  • 你的选择与理由(最小改动 + 可验证性 + 风险最小)
  • 测试计划(用于仲裁分歧)

4. 落地修复、跑测试、更新结论


五、输出与目录约定

默认在目标项目生成:

docs/peer_consult/
  README.md
  request.md                      # 可选:一次征询的上下文(脱敏后)
  YY-MM-DD-HHMM-xxxx.md           # 每次征询生成 1 份摘要(脚本自动生成)
  raw/                            # 仅失败或手动启用时保存原文(建议 gitignore)
  • 默认只保留摘要文件;原文仅在失败或 --save-raw 时写入 raw/

六、安全边界与约束(强制)

  • 该 Skill 只做“意见采集”,不允许外部代理直接改代码
  • 脚本不会自动读取 git diff/status;如需相关片段请手动脱敏后写入 docs/peer_consult/
  • 上下文文件禁止包含密钥 / 令牌 / 个人数据;必要时先脱敏再记录

七、进阶:结构化输出契约(摘要生成用)

脚本会要求 Claude/Gemini 返回仅 JSON(无 Markdown),结构如下(数组必须存在):

{
  "root_cause_hypotheses": ["string"],
  "recommended_fixes": [{"title": "string", "steps": ["string"], "risk": "low|medium|high"}],
  "tests_to_run": ["string"],
  "open_questions": ["string"]
}

八、常见问题

Q1: 会不会改我的代码?

不会。该 Skill 只做“意见采集”和摘要汇总,最终改动仍由你执行。

Q2: 为什么不让脚本直接读 git diff/status?

为了可审计与安全边界可控,避免隐式读取敏感信息。需要的片段请手动脱敏后落盘。

Q3: 什么时候会生成 raw 原文?

当任一侧调用失败 / 解析失败,或你显式传入 --save-raw 时。


结语

peer-consult 的价值不在“再多一个模型”,而在把协作流程固定成可执行的约束:该问什么、怎么问、产物落盘、谁来裁决、如何验证。

当你把这条链路跑顺了,每一次“卡住”都会更快变成一次“确定性推进”。