用途:当 Lisa 在 Claude 侧新增或修改某项功能面(hooks、skills、agents、slash-commands、MCP servers、settings、memory)时,或任一侧发布新能力时,用于让 Claude 与 Codex 对话直至达到功能对等,弥补两侧漂移。
核心原则:经验优先,不信文档。每条对等结论必须有源码读取(codex --version、codex features list、~/.codex/、vendored Rust 源码、生成 schema)或运行时抓取(真实 codex exec 会话、抓取 hook stdin、确认阻断、确认上下文注入)作为依据,并标记 [VERIFIED]、[VERIFIED-BY-RUN] 或 [UNKNOWN];[UNKNOWN] 视为必须测试后才能依赖。
协议步骤:1. 盘点 Claude 侧,真实来源为 plugins/src/,记录事件/触发、matcher、脚本文件与适用技术栈;2. 向 Codex 写简报(/tmp/<topic>-brief.md),让它调查 Codex 侧并写回答,追问载荷与 [UNKNOWN] 项;3. 构建差距矩阵,将每项归类为已有等价、需适配、无等价;4. 在 Codex 侧来源中实现缺失等价并重建;5. 由 Codex 进行端到端经验验证(隔离 CODEX_HOME、真实 codex exec 会话、捕获命令与输出);6. 落地:回归测试、bun run typecheck、bun run test:unit、bun run build,并确保 bun run check:plugins 通过。
必要命令保持原样:codex exec -c mcp_servers={} -c model_reasoning_effort="high" "<prompt>",续接用 codex exec resume --last "<prompt>"。
已知 Codex 能力参考(codex-cli 0.125.0):hook 事件为 PreToolUse、PermissionRequest、PostToolUse、SessionStart、UserPromptSubmit、Stop;无 SubagentStart、SessionEnd、Notification、PreCompact。上下文注入格式为 {"hookSpecificOutput":{"hookEventName":"<event>","additionalContext":"..."}},用于 SessionStart/UserPromptSubmit/PostToolUse,不用于 PreToolUse。阻断为 PreToolUse exit 2 + stderr 或 permissionDecision:"deny"。编辑工具为 apply_patch,patch 体是字符串 tool_input.command,无 tool_input.file_path。hook 命令不设置 CLAUDE_PLUGIN_ROOT/CODEX_PLUGIN_ROOT。每次开始前应针对已安装的 Codex 版本重新验证。
限制:Codex 侧为派生/单独安装,hook 不经插件分发(Codex 不执行插件捆绑 hooks),而是由 src/codex/hooks-installer.ts 安装到项目 .codex/hooks.json;skills 经 .codex-plugin 的 SKILL.md 指针加载;MCP/设置/agents/AGENTS.md 各有安装器。技能详情未提供完整参数与示例代码。