尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

从Claude Code迁移到Codex CLI:配置、Skills与MCP全套迁移指南

从Claude Code迁移到Codex CLI:配置、Skills与MCP全套迁移指南 最近 OpenAI 开源 Codex Harness 的动作让不少 Claude Code 老用户开始做一件事把 Claude Code 里的项目记忆、skills、MCP 配置全部迁移到 Codex CLI。这个操作确实可行。Codex CLI 可以从 npm 直接装也可以直接跑 Harness 源码社区很快就发现它支持项目级记忆文件、skills 扩展、MCP 服务接入还能通过config.toml配置第三方兼容 API 端点。也就是说你在 Claude Code 里攒下的那套“家当”大部分都能搬过去。但有一点搬不走Claude 模型本身。Codex 默认调用 OpenAI 官方模型要使用 Claude 模型还是得走 Anthropic 官方渠道。这篇文章不讨论口号只做实操。接下来会完整过一遍Codex CLI 怎么装、怎么启动、Claude Code 的配置怎么迁、怎么接入 DeepSeek 这类第三方兼容端点、非交互模式怎么跑批量任务、常见报错怎么解。适合正在用 Claude Code 但想对比 Codex 的开发者也适合手里已经拿到 OpenAI API Key、想把 CLI Agent 接进现有工程流程的团队。1. 核心能力速览能力项说明项目类型AI 编码 CLI / Agent 框架开源情况OpenAI 已开源 Codex Harness代码仓库为openai/codex安装方式npm 全局安装或 Git 克隆后源码运行主要功能交互式编码 Agent、非交互命令执行、项目记忆、skills 扩展、MCP 服务接入、第三方 API 端点配置默认模型OpenAI 官方模型具体型号以官方文档为准是否支持 Claude 模型不支持直接调用Claude 模型需通过 Anthropic 官方渠道支持平台Windows、macOS、Linux是否需要 GPU不需要模型推理在云端完成本地配置目录~/.codex/项目记忆文件AGENTS.md可手动导入 Claude Code 的CLAUDE.md是否支持批量任务支持通过非交互模式codex exec实现适合场景代码生成、代码重构、批量脚本、工程配置迁移、第三方模型接入验证从能力表就能看出来Codex 和 Claude Code 在形态上高度相似都是终端下的 AI 编程助手都依赖云端模型都不需要本地显卡。所以才会出现“配置搬家”的玩法。2. 适用场景与使用边界先回答最实际的问题谁适合折腾这套迁移第一类是已经付费使用 Claude Code但团队或自己又持有 OpenAI API Key 的开发者。两边订阅都花着钱与其让 Codex 闲置不如把 Claude Code 的工程规范复制过去让两个工具共用一套项目方法论。第二类是需要把 AI 编码能力接进自动化脚本的团队。Codex 的codex exec非交互模式对 CI 和批处理非常友好比如批量加注释、批量补测试用例、批量做代码风格修改。第三类是想验证“Codex 接入 DeepSeek”这类第三方兼容端点的同学。通过修改~/.codex/config.toml可以让 Codex CLI 的交互框架对接其他兼容 OpenAI 协议的大模型服务省掉重复安装 CLI 的成本。但使用边界也要说清楚迁移的不是模型。“搬空 Claude Code”这个说法只是网络表达实际迁移的是配置、项目记忆、skills 和 MCP 设置。Claude 模型仍然属于 Anthropic想用 Claude 模型必须继续使用 Anthropic 官方工具或 API。代码会上传云端。Codex 的推理在 OpenAI 云端完成企业项目和私有代码在接入前需要做数据合规评估。API Key 是敏感信息。不要写进配置文件、不要提交到 Git 仓库、不要在群里分享。第三方端点有风险。接入 DeepSeek、代理网关等兼容端点时要确认服务商的服务条款和隐私政策不要传输违规内容。3. 环境准备与前置条件Codex CLI 对环境要求不高本地不跑模型所以不需要 GPU也不需要大显存。核心依赖就三样依赖项版本要求说明Node.js18 及以上npm 安装 Codex CLI 需要Git建议最新稳定版源码安装 Codex Harness 时需要OpenAI API Key 或 ChatGPT 登录有其一即可本地 CLI 调用云端模型需要操作系统方面Windows、macOS、Linux 都支持。Windows 上建议使用 PowerShell 或 Windows TerminalmacOS 使用 Terminal 或 iTerm2。磁盘空间方面CLI 本体加node_modules依赖通常占用几百 MB 空间具体大小以 npm 实际安装为准。注意 npm 全局目录不要放在权限受限的系统盘路径下否则后面会出现“无法将 codex 识别为命令”的问题。在开始之前先检查本机 Node.js 和 npm 版本node -v npm -v如果node命令不存在需要先安装 Node.js。Windows 用户到 Node.js 官网下载 LTS 版本安装包macOS 用户可以用 Homebrew 安装brew install node准备好之后进入安装部署环节。4. Codex CLI 安装部署与启动4.1 npm 全局安装最直接的安装方式是通过 npm 全局安装 Codex CLInpm install -g openai/codex安装完成后验证版本codex --version如果提示codex 不是内部或外部命令或者 PowerShell 提示“无法将 codex 项识别为 cmdlet、函数、脚本文件或可运行程序的名称”说明 npm 全局目录没有加入 PATH。先用下面的命令找到 npm 全局目录npm prefix -g然后把这个目录加入系统 PATH 的环境变量。Windows 用户可以在“系统属性 - 环境变量”里追加路径macOS 用户通常在~/.zshrc里追加export PATH$(npm prefix -g)/bin:$PATH source ~/.zshrc如果不想改 PATH也可以直接用npx openai/codex启动但不建议长期依赖这种写法因为 IDE 插件和其他工具经常需要直接定位codex可执行文件。4.2 通过源码安装 Codex Harness想跑最新开发版或者想阅读 Agent 框架源码可以克隆官方仓库git clone https://github.com/openai/codex.git cd codex npm install源码安装后可以通过仓库内的入口文件启动。具体启动命令以仓库 README 为准。这种方式更接近“研究 Harness 实现”普通使用场景直接 npm 安装即可。4.3 配置 OpenAI API KeyCodex CLI 支持两种认证方式ChatGPT 账号登录和 API Key。使用 API Key 时在终端设置环境变量。Windows PowerShell$env:OPENAI_API_KEY你的API KeymacOS / Linuxexport OPENAI_API_KEY你的API KeyAPI Key 从 OpenAI 官方后台获取。获取之后不要把 Key 粘贴到公开文章、聊天群或代码仓库里。4.4 启动交互式会话配置好 Key 之后在任意项目目录下启动codex首次启动会进入交互式界面。先跑一个最小任务验证链路比如列出当前目录下所有 JavaScript 文件并统计每个文件的代码行数如果 Codex 能正确执行并返回结果说明本地 CLI、网络链路和 API Key 都正常。这里建议第一次测试时不要给太复杂的任务。先验证工具本身能跑通再逐步增加项目记忆、skills 和 MCP 配置。5. Claude Code 配置迁移到 Codex所谓“搬家”核心就是把下面几类配置迁移过去配置类型Claude Code 位置Codex 位置项目记忆CLAUDE.md项目根目录AGENTS.md项目根目录用户级记忆~/.claude/CLAUDE.md~/.codex/AGENTS.mdSkills 技能包~/.claude/skills或.claude/skills~/.codex/skillsMCP 服务配置.mcp.json或~/.claude.json~/.codex/config.toml用户设置~/.claude/settings.json~/.codex/config.toml下面逐个操作。5.1 项目记忆文件迁移CLAUDE.md 转 AGENTS.mdClaude Code 会在项目根目录维护CLAUDE.md里面通常包含项目结构说明、代码风格规范、常用命令、构建和测试方式。Codex 的对应文件是AGENTS.md。最简单的迁移方式就是复制后改名cp CLAUDE.md AGENTS.md但复制之后要做一次内容审计。原因有两点第一CLAUDE.md里的 Markdown 格式和指令式内容通常通用但如果有针对 Claude 特有限定语义的表述Codex 可能无法完全理解。建议把“在修改代码前先阅读 CLAUDE.md”这类指令改写成 Codex 能识别的通用形式。第二如果项目里同时存在多个记忆文件Codex 会优先合并项目根目录的AGENTS.md、用户目录的~/.codex/AGENTS.md以及config.toml中的指令。可以把CLAUDE.md中的环境变量说明、构建命令、测试命令提取成结构化条目放进AGENTS.md减少重复表述。迁移完跑一个验证任务codex 根据 AGENTS.md 里的规范给 src/utils.js 增加错误处理观察 Codex 是否遵循了AGENTS.md中的约定。如果没有生效检查文件是否放在项目根目录以及文件名大小写是否正确。5.2 Skills 目录迁移Claude Code 的 skills 是一组带SKILL.md的目录里面定义了技能描述和调用方式。社区常把 skills 用作团队最佳实践沉淀。Codex 从 Harness 开源后同样支持 skills 扩展。通用迁移步骤是mkdir -p ~/.codex/skills # 把 Claude Code 的 skills 目录复制过去 cp -r ~/.claude/skills/* ~/.codex/skills/复制之后重点检查每个 skill 的SKILL.md文件。不同工具的 skill 格式存在细微差异尤其是 frontmatter 里的字段名和描述文本。把description写得更具体一些Codex 在任务匹配时会更准确。验证方式是直接触发一次技能调用。比如让 Codex 执行“用项目里的 code-review skill 审查当前改动”然后看它是否加载了对应 skill 文件。5.3 MCP 服务配置迁移MCP 让 AI 编码工具能够连接外部数据源和工具比如文件系统、数据库、GitHub、浏览器。Claude Code 的 MCP 配置在.mcp.json或~/.claude.jsonCodex 则统一放在~/.codex/config.toml。在 Codex 中通过[mcp_servers]声明 MCP 服务。一个文件系统 MCP 的配置示例[mcp_servers.filesystem] command npx args [-y, modelcontextprotocol/server-filesystem, ./]迁移时做两步第一步查看 Claude Code 的.mcp.json记录每个 MCP 服务器使用的command、args和env。第二步把这些字段平移到 Codex 的config.toml。如果原配置里使用了环境变量需要在env中指定变量名。示例[mcp_servers.github] command npx args [-y, modelcontextprotocol/server-github] env { GITHUB_PERSONAL_ACCESS_TOKEN 这里填你的Token }注意不要把真实 Token 写进博客或仓库这里只是占位示意。验证 MCP 是否生效可以在 Codex 交互界面里问它“使用 filesystem MCP 列出当前目录文件”。如果工具能正确返回文件列表说明 MCP 接入成功。5.4 用户级配置迁移Claude Code 的用户级记忆文件是~/.claude/CLAUDE.md通常存放个人编码偏好、默认编辑器、提交信息规范。Codex 的用户级记忆文件是~/.codex/AGENTS.md。同样先复制mkdir -p ~/.codex cp ~/.claude/CLAUDE.md ~/.codex/AGENTS.md然后编辑~/.codex/config.toml加入[instructions]配置指向这个文件[instructions] path ~/.codex/AGENTS.md后续如果要修改全局规范直接编辑~/.codex/AGENTS.md即可。6. Codex 接入第三方模型与非交互 API 调用6.1 为什么社区关注 Codex 接入 DeepSeekOpenAI Codex CLI 默认走 OpenAI 端点但config.toml支持自定义model_providers。社区很快发现这个机制可以对接 DeepSeek 等兼容 OpenAI 协议的服务于是“codex 接入 deepseek”这类问题在搜索里非常热门。需要说明的是这种接入本质上是换了 Codex CLI 背后的模型服务商CLI 本身的交互框架、文件编辑能力、项目记忆机制仍然保留。这正好补上了“Codex 框架 不同模型服务”的拼图。6.2 配置 model_providers编辑~/.codex/config.toml添加一个 provider 配置。以 DeepSeek 官方 API 为例model deepseek-chat model_provider deepseek [model_providers.deepseek] name DeepSeek base_url https://api.deepseek.com/v1 env_key DEEPSEEK_API_KEY设置说明配置项作用model指定要使用的模型名称具体以服务商文档为准model_provider对应下方[model_providers.xxx]的标识base_url服务商的 API 基础地址需要支持 OpenAI 兼容协议env_key从哪个环境变量读取 API Key需要注意base_url必须指向支持 OpenAI 兼容协议的服务端。不同服务商可能在路径后缀上存在差异如果出现 404优先检查base_url是否和服务商文档一致。配置完成后设置对应的环境变量。Windows PowerShell$env:DEEPSEEK_API_KEY你的DeepSeek API KeymacOS / Linuxexport DEEPSEEK_API_KEY你的DeepSeek API Key然后验证codex exec 用 Python 写一个快速排序函数如果 Codex 能正常返回代码说明第三方端点已经跑通。6.3 非交互模式codex execcodex exec是 Codex CLI 的非交互模式可以直接把任务通过命令行参数传入适合脚本和批处理。基本用法codex exec 给当前目录下所有 js 文件增加 JSDoc 注释全程自动执行模式codex exec --full-auto 运行测试并修复失败的用例--full-auto会让 Agent 自动完成文件读取、代码修改和命令执行不需要人工确认。批量任务建议使用这个模式但要注意任务边界。6.4 批量任务示例下面是一个简单的批量脚本示例对src目录下的每个 JavaScript 文件执行注释补全任务for f in ./src/*.js; do echo 处理文件: $f codex exec --full-auto 给 $f 增加文件头注释说明函数职责 done也可以用 Python 做更精细的批量控制import subprocess import pathlib files list(pathlib.Path(./src).glob(*.js)) for f in files: print(f处理: {f}) prompt f给 {f} 增加函数级 JSDoc 注释 result subprocess.run( [codex, exec, --full-auto, prompt], capture_outputTrue, textTrue, timeout180, ) if result.returncode ! 0: print(f失败: {f}, {result.stderr[-500:]}) else: print(f完成: {f})批量任务要重点控制两件事一是并发数量避免同一时间发起大量 API 请求导致限流二是单任务超时时间给每个子进程设置合理的timeout防止任务永久卡住。7. 资源占用与性能观察Codex CLI 本地不跑模型所以性能瓶颈不在显卡而在网络链路和 API 服务端。本地资源占用方面CLI 进程本身占用的 CPU 和内存不会很高。启动后可以在系统任务管理器或 Mac 的“活动监视器”里看到node进程内存占用通常几十 MB 到几百 MB 不等取决于任务复杂度和上下文长度。如果同时开很多codex exec子进程才会出现明显的内存增长。网络方面Codex 在处理长任务时需要多次请求模型服务网络延迟会直接影响响应速度。如果终端感觉响应慢先检查是否开启了系统代理代理是否稳定服务商 API 是否有并发限制项目目录里的文件是否过多导致 Agent 频繁读取上下文磁盘方面npm 全局安装的 CLI 本体和依赖通常几百 MB。日志文件主要在~/.codex/log目录下长时间使用后可以定期清理。还有一个性能观察技巧在非交互模式下使用codex exec时可以通过命令执行耗时来估算单次任务的成本。time codex exec 运行项目测试记录不同任务的耗时时长后续做批量任务时就能估算总时长和 API 费用。8. 常见问题与排查方法下面是社区里出现频率较高的几类问题整理成排查表。问题现象可能原因排查方式解决方案启动后提示codex 不是内部或外部命令npm 全局目录未加入 PATH执行npm prefix -g查看全局目录把全局目录加入系统 PATH或改用npx openai/codexPowerShell 提示无法将 codex 项识别为 cmdletPowerShell 环境变量未刷新执行echo $env:PATH检查路径修改系统环境变量后重启终端VS Code 插件提示Unable to locate the Codex CLI binary. Set Codex CLI PathIDE 插件找不到 codex 可执行文件执行where codex或which codex获取路径在插件设置里手动指定 codex 二进制路径调用时出现cc switch local proxy failed while handling codex endpoint /responses本地代理或 HTTPS 代理配置异常检查HTTP_PROXY、HTTPS_PROXY环境变量确认代理地址可访问关闭无效代理或更新代理地址后重启终端API 返回 401 UnauthorizedAPI Key 未设置或已失效检查env_key对应的环境变量是否已设置重新配置 API Key确认 Key 状态有效model_provider 返回 404base_url路径错误对照服务商官方 API 文档检查地址修正base_url后缀MCP 服务启动失败MCP server 命令路径错误单独在终端运行该命令测试修正config.toml中的 command 和 args批量任务执行到一半卡住网络超时或 API 限流查看~/.codex/log日志缩短单任务内容、增加超时时间、降低并发几个排查思路再展开一下。关于“cc switch local proxy failed while handling codex endpoint /responses”这个报错它出现在调用 Codex 的/responses端点过程里。优先检查系统代理环境变量。很多开发者会同时配置HTTP_PROXY和HTTPS_PROXY如果代理服务本身不可用就会导致请求失败。做法是先清掉这些环境变量重试一次。如果请求通过 OpenAI 官方服务正常返回说明问题出在代理地址上。关于 IDE 找不到 CLI 二进制的问题ChatGPT 桌面客户端、VS Code 扩展都会尝试自己定位codex。如果之前用npx方式使用过插件可能只缓存了临时路径。最稳妥的做法是重新执行一次全局安装然后通过where codex或which codex拿到真实路径填入插件设置。9. 最佳实践与合规提醒从实际使用的角度给出下面几条建议。第一第一次迁移先做最小验证。不要一上来就把所有 skills 和 MCP 全部搬过去。建议先在测试项目里只迁移AGENTS.md跑通一个任务再逐步增加 skills 和 MCP。第二配置分目录管理。~/.codex/ config.toml # 主配置 AGENTS.md # 用户级记忆 skills/ # 技能包 log/ # 日志模型文件、输入素材、输出结果在项目内分目录管理避免 Agent 频繁扫描无关文件。mkdir -p project/input project/output project/log第三密钥统一走环境变量不要硬编码到配置文件。config.toml里的env_key只写变量名具体 Key 通过终端导出。第四批量任务要加日志和失败重试。每次调用codex exec时把 stdout 和 stderr 保存下来失败时自动重试一到两次。脚本里建议使用timeout参数避免进程永久挂起。第五接口服务要限制访问范围。如果通过 Harness 的 server 模式把 Codex 能力开放给团队务必加上认证至少不要监听公网0.0.0.0。第六合规红线必须守住。涉及企业内部代码时先评估数据上传到第三方模型服务的风险。涉及人脸、声音、版权素材时必须确认授权。API Key 不要分享给无关人员不要提交到公开仓库。第七关于 Claude 模型的使用边界。Codex 无法直接调用 Claude 模型如果业务场景必须使用 Claude 模型应该使用 Anthropic 官方提供的 Claude Code 或 API。不要在未获得授权的情况下通过第三方网关绕过模型服务条款。10. 总结与下一步这次内容里最值得动手尝试的有三件事一是把 Codex CLI 完整装一遍用最小任务验证交互链路。二是做一次 Claude Code 到 Codex 的配置迁移重点处理CLAUDE.md转AGENTS.md、skills 复制、MCP 配置平移这三步。只做项目记忆迁移的话最快就是一条命令cp CLAUDE.md AGENTS.md三是在config.toml里配置一个第三方兼容端点比如 DeepSeek验证“Codex 框架 不同模型服务”的组合是否适合自己。最容易踩的坑有三个Windows 下 npm 全局目录没加入 PATHAPI Key 没有设置到正确环境变量本地代理地址不可用导致请求失败。这三个问题都在前面的排查表里遇到直接对照处理。后续可以继续扩展的方向包括把 skills 体系在团队内标准化沉淀代码规范、审查模板和测试生成策略把codex exec接进 CI 流程在合并请求前自动执行静态分析和测试生成持续关注 Codex Harness 的 server 模式和模型配置能力接口稳定后可以直接封装成团队内部工具。这篇文章适合先收藏备用尤其是第三部分的“配置迁移清单”和第八部分的“问题排查表”真正操作时对照着来会省不少时间。
返回列表