视频版: www.bilibili.com/video/BV1wm...
最近,Codex已经超越了Claude Code,成为了当前热度最高的AI编程工具。Codex的最大优势是便宜大碗,而且对中国用户友好。相比之下,Claude Code近期频繁出现限速、封号、降智等问题。本期视频是一个Codex的完整教程,主要介绍Codex的4种运行环境,还有一系列的进阶功能。视频里还会把免费的模型接入Codex,来实现免费使用。我还准备了一个实际的编程案例,来对比一下Codex与Cloud Code的编程效果。
Codex有四种运行环境:CLI (命令行环境)、IDE插件、SDK,还有云端环境。
我们先看最重要的一个CLI,也就是命令行环境。在开始之前,需要先把 Node.js 安装一下。我们来到 Node.js 的首页,nodejs.org/zh-cn,点击 Get 根据自己的操作系统下载对应的安装包安装即可。
Node.js 安装完成以后,来到 Codex 的 GitHub 首页 github.com/openai/code... ,找到这个安装命令。
npm i -g @openai/codex

我们打开一个命令行窗口,把命令复制进来,回车安装。
免费使用与ChatGPT Plus订阅
在 OpenAI 的官网可以看到,Codex 是 ChatGPT 的订阅会员才可以使用。当然,我们也可以免费接入国产模型来免费使用 Codex。视频的后面,我们会介绍免费使用的方法。我们先看如何弄一个 ChatGPT Plus 用户。我们来到 ChatGPT 的首页,chatgpt.com,注意要有国外的上网环境才可以访问到这个页面。点击免费注册,先注册一个账户。
安卓手机可以下载一个谷歌 Play 商店,
把手机切换到美国的上网环境,账号和设备偏好设置把地区切换成美国。

这里可以绑定一个国内的银行卡。然后,我们在谷歌 Play 里面下载 ChatGPT 手机版。
打开手机版的 ChatGPT,顶部有一个获取 Plus,点击一下。

订阅方式选择谷歌 Play,这样我们就订阅好了 ChatGPT Plus。
Codex CLI的启动与模型选择
接下来打开任意一个文件夹,右键打开一个命令行窗口。然后输入命令 codex 进行启动。
这里会弹出一个 ChatGPT 的登录页面,把自己的账户登录一下。回到命令行这边,敲一下回车。打个招呼,成功给到了输出,Codex CLI 就配置完成了。
我们可以输入这个命令:/model 用来切换模型。这里有两类模型:gpt-5 是一个通用模型,有着更广泛的知识;gpt-5-codex 是 OpenAI 推出的一个编程专用模型,特别为编程还有任务处理做了优化。
然后还有三个档位可以选择:low 的话响应速度最快,但是推理效果较差;选择 high 的话,推理效果最好,但是响应速度最慢。这里一般我选择中间这个。
免费接入国产模型教程
我们可以绑定免费的国产模型,达到一个免费使用的效果。我们看到,魔搭社区每天提供 2,000 次的免费 API 调用。
没有账户的话需要先注册一个。然后来到账号设置 -> 访问令牌,点击新建,随便起个名字。
切换到上面的模型库,在上面的筛选器勾选上支持推理 API。
比如这里,我以 GLM 4.6 为例,点击进去,右侧推理 API 有一个代码范例。
我们主要需要这里的 base_url 还有 api_key。我们来到 Codex 的配置文件夹,一般在 C盘/用户/你的用户名/.codex。找到这个配置文件 config.toml,如果没有的话可以新建一个。
进来以后把它原有的内容删除,我们填写上这一段。
ini
model = "ZhipuAI/GLM-4.6"
model_provider = "modelscope"
[model_providers.modelscope]
name = "Modelscope"
base_url = "https://api-inference.modelscope.cn/v1"
env_key = "MODELSCOPE_API_KEY"
这里的模型名称填写魔搭社区提供的模型名称ZhipuAI/GLM-4.6 ,base_url 填写魔搭社区提供的 API 端点。
配置文件里面不能直接写 API Key,这里只能填写存储了这个 API Key 的环境变量的名字。变量写好以后,在搜索栏搜索环境变量,点击环境变量,然后点击新建。

变量名就是我们刚才填写的这个,
变量值填写魔搭社区我们刚才申请的 API Key。
这样确定保存一下,再把配置文件保存一下。我们回到命令行这边,再启动一下 Codex。这样我们就把国产的免费模型接入了 Codex,没有 ChatGPT 账户也可以直接使用。
使用自定义模型接入 Codex 有一个 bug,就是修改文件的时候,它总是倾向于使用 shell 工具来修改,这样效率很低,而且容易出错。如果出现这个 bug,我会中途打断它,告诉它使用 Codex 自带的 apply_patch 工具来修改文件,然后往后的操作就正常了。
我们也可以把这句话放到提示词里面,减少出现 bug 的概率。因为这个 bug 的存在,使用自定义模型不如使用 ChatGPT 的官方模型表现好。
编程效果对比:Codex vs Claude Code
接下来我们用一个例子来对比一下几个模型的编程效果:创建一个你画我猜的在线游戏,玩家可以在画布上面作画,AI 系统负责猜测是什么内容。
我们先来看 GPT-5 模型,它一次性就完成了功能的开发,而且整个页面比较美观,功能也是正常的,挑不出什么问题,我可以给他一个 97 分。
接下来是 OpenAI 的编程专用模型 gpt-5-codex,也是一次性就完成了功能的开发,这里有一个按钮看不太清楚,最终得分 95 分。
感觉这个编程专用模型比 gpt-5 反而要差一点。最后是 GLM-4.6,这里猜测结果显示是黑屏,有一个 bug,可能是这个画布背景没有设置好,这样给他一个 80 分。
从这个例子可以看出,表现最好的是 GPT-5 模型。GPT-5 模型搭配 Codex,它的编程效果跟 Claude Code 基本是持平的。
Codex 比起 Claude Code 还有一大优势,就是它的 Plus 会员给的额度是比较充足的,一般个人使用很难触发到它的速率上限,而且 ChatGPT 对中国用户更加友好,很少遇到过像 Claude 那样的封号问题。
Codex重要命令详解
我们来看几个 Codex 的重要命令。首先第一个命令 /init。
这个命令让 Codex 通读当前文件夹。Codex 会把他学到的关于项目的信息保存到一个叫做 AGENTS.md 文件里面。
后续我们跟 Codex 的所有对话都会带上这个文件作为上下文。这个文件有助于帮助 AI 更快速的理解整个项目。当然我们也可以修改这个文件,补充上一些认为重要的知识,比如这里我补充一句,它使用的技术栈是 Next.js 15。
这个命令跟 Claude Code 的 init 命令很像,有一点区别是这个 AGENTS.md 文件是一个更通用的文件,可以被大部分的 AI 编程工具识别使用。
下一个重要命令 /compact 用来压缩对话的上下文。
执行完以后,Codex 会把之前对话的一些不重要的内容排除掉,可以有效提高 AI 的专注力,并且降低 TOKEN 消耗。下一个命令 /new 用来新开一个对话,并且清除之前的对话记录。
当我们需要开始一个新任务的时候,就需要 new 一下。下一个重要命令 /approvals 可以调整 Codex 的运行权限。
有三个档位:只读模式下面所有修改操作都需要人工审核;自动模式只有敏感操作需要人工审核;Full Access 权限不再需要人工审核,它可以自动执行命令修改文件。
下一个命令 /mcp 列出所有安装过的 MCP 工具。
MCP 是一种标准化的工具箱,可以由 AI 调用,并且来操作一些外部工具。我们看如何把 MCP 安装进 Codex 里面。
这里我以 context7 mcp Server 举例。
这个 MCP 可以为 AI 提供一些最新的技术文档。我们来到它的 GitHub 首页,在下面有安装方式。我们找到 Codex 这一栏

这里有它的配置文件。我们来到 Codex 的配置文件夹。Windows 电脑就是 C盘/用户/你的用户名/.codex;
苹果电脑的话是屏幕上的这个地址。进来以后还是找到这个 config.toml,我们在最下面加上这个配置。后面的 API Key 可以不用写。如果是苹果电脑的话,就用这套配置就可以了。
ini
[mcp_servers.context7]
args = ["-y", "@upstash/context7-mcp"]
command = "npx"
但是 Windows 电脑有点麻烦,Windows 电脑需要用下面这一套。

我们把下面这一段复制过来,然后粘贴上。下面的 API Key 可以不用写。Windows 电脑必须用这个格式,然后保存一下。
ini
[mcp_servers.context7]
command = "cmd"
args = [
"/c",
"npx",
"-y",
"@upstash/context7-mcp"
]
env = { SystemRoot="C:\Windows" }
startup_timeout_ms = 20_000
重启一下 Codex,我们再执行 /mcp 命令,就可以看到我们刚才安装的 context7。
我们再看一个例子:Excel MCP Server,允许 AI 通过它来操作 Excel 文件。这里有一段配置,我们需要在 Codex 里面配置一下。仿照刚才的写法,把刚才这一段复制出来。这里需要改的是下面的参数,因为这是一个 Python 的 MCP Server,所以命令改成 uvx。这里有两个参数:-y 不需要,把这个参数添加上,打一个逗号,把下面的参数 stdio 添加上。MCP Server 的名字改成 excel。这样第二个也配置完成了。
ini
[mcp_servers.excel]
command = "cmd"
args = [
"/c",
"uvx",
"excel-mcp-server",
"stdio"
]
env = { SystemRoot="C:\Windows" }
startup_timeout_ms = 20_000
我们重启一下 Codex,这里显示了我们配置好的两个 MCP Server。新建一个小学数学成绩的 Excel 格式的测试数据。
我需要它输出 20 个学生。调用了 MCP 工具,生成了 Excel 数据,可以成功显示数据。
MCP 的功能是正常的。
创建自定义命令
除了使用 Codex 这些内置的命令以外,我们也可以创建自定义命令。这里还是来到 Codex 的配置文件夹,在这里面新建一个文件夹叫做 prompts。
在 prompts 里面,就可以以文件的形式来创建自定义命令。每创建一个文件,就可以增加一个自定义命令,文件的名字就是命令的名字。这里我新建一个文件叫做 git_diff.md。
我想使用这个自定义命令来对比两个分支之间的差异,然后用自然语言进行总结。在自定义命令里面支持添加参数,比如我要对比分支 1 与分支 2 的差异,这样使用两个占位符作为自定义命令的参数。等下输入命令的时候,就可以使用这两个参数。

重启一下 Codex,然后我们输入 /git_diff 这个自定义命令,后面就可以接两个参数。然后我填两个参数,就是要对比的两个分支的名字
。
回车。Codex 通过 git 命令对比了两个分支的差异,并且进行了归纳总结。
IDE插件
前面的视频里面,我们主要介绍的从命令行里面使用 Codex。接下来,我们看另外一个重要的使用环境,就是在 IDE 的插件里面。我们可以在 VS Code 的里面,或者是那些基于 VS Code 的开发的 IDE 里面使用插件。这里我以 VS Code 为例,我们找到这个 Extensions 插件市场,搜索 Codex。安装这个 OpenAI 出品的官方的插件,点击 install。
如果之前在命令行里面配置过 Codex,在插件这边不需要任何配置,直接就可以使用。它的历史记录,还有配置文件跟命令行是共通的。

我让 AI 来改一下,把这个蓝色按钮改成绿色。Codex 插件有一个好处,它可以弹出这种可视化的文件对比。这里点击 allow。点击这个 view all 按钮,
还可以在这个代码视图里面打开对比。
我再让他把按钮改成粉色。插件版还有一个好处,它提供了这个 Undo 按钮,也就是可以一键撤回更改。
我们看到现在按钮是粉色,我点击 Undo 按钮,这样把最新一次改动撤回了,按钮变成了绿色。我找到上面的 Undo,再点击一下,绿色也被撤回了,还原回了最初的蓝色。Codex 插件这个找回历史记录的功能非常好用。插件版还有一个好处,粘贴图片很方便。我们可以随便截一个图,然后粘贴到插件的对话窗口,非常方便的在 AI 对话里面插入图片。
云端运行环境
Codex 还有一个重要的运行方式,就是云端运行环境。不需要本地下载代码配置环境,Codex 可以直接在云端完成代码的修改,并且创建 Pull Request。我们来到 ChatGPT 的网页版,在左侧有一个 Codex 选项,点击一下。云端运行所有代码都是基于 GitHub 的,所以我们这里需要先绑定一下 GitHub 账户。点击中间这个按钮,然后登录一下 GitHub,完成绑定。我们以这个项目为例,我让 AI 帮我把这个按钮修改一下,让它变得更加显眼一些。在云端运行需要做的第一步,是先把项目上传到 GitHub 上面。这里回到 VS Code,找到左侧的 Source Control,
这里有一个 Publish。
我们给项目起个名字,我点击 Publish to GitHub 上面,然后是一个私有仓库。
传成功以后,我们回到 Codex 的网页版,在存储库这里选择刚才上传的项目。
我说按钮字体看不清,弄成一个显眼的颜色,然后开始。Codex 会自动在云端创建运行环境。我们可以点进去看到它的执行日志。

它会自动完成代码的修改,而且整个修改过程都是异步的。他可以在后台自动静默执行,我们可以同时开启多个任务,让他在后台并行执行。
任务完成,点进去看一下。在这个页面可以审核它的代码修改。右上角有一个重要按钮:创建拉取请求。
点击一下,然后点击查看 PR。
这个改动就以一个 Pull Request 的形式提交到了 GitHub 上面。在这上面可以审核代码,如果没问题,直接点击这个 Merge 按钮,这样就把改动 Merge 进了主干分支。整个代码修改就完成了。在 VS Code 的这边,可以点击 Sync 把远端的分支同步过来,然后在本地也同步过来了修改后的效果。

Codex 的云端运行环境还有一个非常好用的功能,就是自动的代码审核。我们在 Codex 网页版这边,点击启动代码审核。
个人偏好设置这里的按钮,把它打开。

这样我们自己的仓库所有的 Pull Request,Codex 都会自动进行 Code Review,提出它对于 Pull Request 的建议,帮助我们提早发现 bug,更好的优化代码。这里我来试一下,我还是以刚才的仓库为例。这里我新建一个分支 new branch -> feature..。

我在新建的分支上面改点东西,然后提交。接下来创建一个 Pull Request,把我刚才建的分支往主干合并一下。点击 create。
等待了一分钟,Codex 自动进行了代码 review。它提出了自己的建议,认为把 https 改成 http 不合理,会导致 API 报错。这样在 Codex 的帮助下面,我们可以提早发现代码问题。这个功能非常的有用,给他点个赞。
Codex SDK
如果想把 Codex 的能力接入你自己的代码里面,可以使用 Codex SDK,这也是我们要介绍的最后一种运行环境。我们打开一个新的文件夹,执行第一个命令 npm init -y,把这个文件夹初始化成一个 NODE 工程。
接下来执行第二个命令安装 codex sdk。
接下来新建一个代码文件,我叫 main.mjs。把官网的这个示例代码粘贴进来。这里需要加一个配置:跳过 git 的安全检查。代码里不需要配置任何的 API Key,它是直接调用电脑上的 Codex 进行工作。这样我们代码就编写完成了。
javascript
import { Codex } from "@openai/codex-sdk";
const agent = new Codex({});
const thread = await agent.startThread(
{
skipGitRepoCheck: true
}
);
const result = await thread.run("Explore this repo");
console.log(result);
//resume thread
const result2 = await thread.run("Propose changes")
console.log(result2);
回到命令行这边,使用 NODE 把它运行一下。回车成功给到了输出,我们的 Codex SDK 就配置成功了。好,今天的视频就到这里,感谢大家,我们下期再见。