硅基动感动态血糖仪
44.69MB · 2025-11-21
由于Claude Code对国内使用的限制,OpenAI Codex的性价比和受欢迎程度明显提高,今天抽时间来体验一波。对其他AI Code CLI感兴趣的小伙伴也可以看往期内容:
codex-cli:0.53.0
Codex 是 OpenAI 开发的一款专为软件工程师设计的云端编程智能体,专门优化了代码生成能力。它基于 GPT 架构构建,通过对大量公开代码库(包括 GitHub 上的开源项目)进行训练,能够理解和生成多种编程语言的代码。
官方文档地址:developers.openai.com/codex/cli
Github地址:github.com/openai/code…
Codex CLI提供了多种安装方式,安装也很方便,可以根据自己的环境选择安装方式。
$ npm install -g @openai/codex
$ brew install codex
安装完成后,在命令行终端输入以下命令:
$ codex --version
或者
$ codex -V
命令行终端输出以下内容表示安装成功
Codex CLI没有提供更新命令,目前更新只能使用如下命令
# 更新
$ npm update -g @openai/codex
# 重新安装最新版本
$ npm install -g @openai/codex@latest
Codex CLI安装成功后,在命令行终端输入 codex 即可启动,但想要正常使用Codex还需要进行登录授权操作,Codex同样提供了 手动授权 和 自动授权 2种方式。
手动授权提供了使用 ChatGPT 和 API Key 2种授权方式:
授权成功后即可进入Codex CLI界面
在命令行终端导出 OPENAI_API_KEY
# macOS
$ export OPENAI_API_KEY="sk-你的API密钥"
# windos
$ setx OPENAI_API_KEY=sk-你的API密钥
或者在 ~/.codex/auth.json 文件中 OPENAI_API_KEY 配置
{
"OPENAI_API_KEY": "sk-你的API密钥"
}
配置完成后,在命令终端输入 codex 启动,首次使用会提示授权提示
授权完成后即可进入Codex CLI的主界面,Codex CLI的主界面并不像Gemini CLI和Claude Code CLI那样有好看的对话框样式,光标在哪哪里就是输入框
Codex CLI同样提供了参数配置,在命令行输入 codex --help 可以快速查看Codex CLI提供的参数,包含 命令 和 可选参数,我们可以很方便的对Codex CLI进行默认配置覆盖和快速使用。
Codex CLI命令行参数:
Codex CLI提供了很多命令,这里我们只尝试一些常用的命令。在命令行终端输入指令,Codex CLI就会直接调用模型进行处理,而不是打开Codex CLI的交互式命令
$ codex exec --full-auto "查看项目结构"
在命令行终端输入 codex mcp list 可以快速查看mcp列表
在命令行终端输入 codex resume 会列举之前对话的记录,选择一个记录可以恢复到该对话的交互式会话状态
可以看到上下文tokens还是保留的
ChatGPT最近发布了 gpt-5-codex 模型,也可以通过命令行参数一键设置
$ codex -m gpt-5-codex
Codex CLI支持图像输入,使用 --image 或 -i 可接收图像上下文,注意这里的图像只能是本地图片路径
$ codex --image img1.png,img2.jpg "总结图像内容"
在终端输入 /,可以看到Codex CLI提供所有指令,可以看到比Gemini CLI和Claude Code CLI要明显少很多。
命令行列表:
快捷键列表:
官网配置文件文档:github.com/openai/code…
Codex CLI提供了 ~/.codex/config.toml 全局配置文件,可以对Codex CLI的模型及提供商进行自定义配置,基本配置格式如下:
model = "gpt-4o"
model_provider = "openai-chat-completions"
[model_providers.openai-chat-completions]
# 将在 Codex 用户界面中显示的提供商名称
name = "OpenAI using Chat Completions"
# 提供商API请求路径后面将添加`/chat/completions`发送请求
base_url = ""
# API Key,发送请求将被添加到`Bearer TOKEN` HTTP header
env_key = "OPENAI_API_KEY"
# wire_api 的有效值为 “chat” 和 “responses”。如果省略,默认值为 “chat”。
wire_api = "chat"
# 请求额外参数
query_params = {}
该配置使得将 Codex CLI 与非 OpenAI 模型一起使用成为可能,只要提供商提供与OpenAI兼容的API就可以正常使用。
以Ollama为例,配置如下:
model = "gpt-4o"
model_provider = "ollama"
[model_providers.ollama]
name = "Ollama"
base_url = ""
以Mistral为例,配置如下
model = "mistral-large-latest"
model_provider = "mistral"
[model_providers.mistral]
name = "Mistral"
base_url = ""
env_key = "MISTRAL_API_KEY"
使用时先在命令行终端执行命令导出环境变量,然后启动Codex CLI
export MISTRAL_API_KEY="MISTRAL_API_KEY"
或者在 auth.json 文件添加API Key
{
"OPENAI_API_KEY": "your_custom_api_key"
}
上面配置文件都是单模型配置,Codex的config.toml还支持多模型配置,通过指定 profile 类型即可快速切换模型配置
profile = "gpt3"
[profiles.mistral]
model = "mistral-large-latest"
model_provider = "mistral"
[profiles.gpt3]
model = "gpt-3.5-turbo"
model_provider = "openai-chat-completions"
[profiles.packycode]
model_provider = "packycode"
model = "gpt-5"
model_reasoning_effort = "high"
disable_response_storage = true
[model_providers.openai-chat-completions]
name = "OpenAI using Chat Completions"
base_url = ""
wire_api = "chat"
env_key = "OPENAI_API_KEY"
[model_providers.mistral]
name = "Mistral"
base_url = ""
wire_api = "chat"
env_key = "MISTRAL_API_KEY"
[model_providers.packycode]
name = "packycode"
base_url = ""
wire_api = "responses"
env_key = "packycode"
配置项较多,对其他配置项感兴趣的小伙伴可以自行了解。
启动Codex CLI聊天界面如下
在光标处输入提示词即可使用Codex CLI处理任务
输入 / 快捷键,可以查看交互式命令列表
输入 @ 快捷键或者使用 /mention 交互指令可以引文件上下文,这里有个不太友好的地方,需要输入内容才会进行文件匹配,而且不支持文件夹引入。
Codex CLI也支持图像上下文引入,输入提示词可对图像进行分析等操作
在执行 /init 命令之前,我们需要先确定当前工作区的操作权限,Codex CLI不像Gemini CLI和Claude Code CLI需要权限时会询问,也没有提供切换模式的功能,因此我们需要创建或者编辑等权限时需要提前为工作区授权。
我们可以使用交互式指令 /approvals 切换授权模式,工作区默认为只读模式
授权完成后,执行 /init 命令创建记忆文件,Codex CLI会先输出一个记忆文件的要求和建议清单,不知道如何写的小伙伴可以按照清单提示编写
整理完成后,Codex CLI会将记忆文件内容输出到 AGENTS.md 文件
创建完成后,可以看到工作区根目录下会多一个 AGENTS.md 文件,内容和建议的记忆文件清单格式也是对照的
当然我们也可以修改和自己手动创建记忆文件,例如这里我可以让Codex CLI对话输出内容以中文形式展示
重启Codex CLI,再次输入对话,可以看到此时Codex CLI就会以中文输出内容
也可以新建 ~/.codex/AGENTS.md 全局记忆文件,不过Codex好像对用户级记忆文件支持的不是很好
Codex CLI支持MCP服务功能并提供了一系列MCP命令行工具,在命令行终端输入 codex mcp --help 可以查看MCP相关命令
命令行工具:
以context7为例,在命令行输入如下指令安装
$ codex mcp add context7 npx -y @upstash/context7-mcp
安装成功后使用 codex mcp list 查看已安装的MCP
在 ~/.codex/config.toml 全局配置文件中可以看到已添加到MCP服务配置信息
使用命令 codex mcp get context7 查看指定MCP的配置信息
也启动Codex CLI,使用交互式命令 /mcp 查看已安装MCP的工具信息
在Codex CLI中使用MCP服务和其他AI命令行终端一样,可以直接指定MCP调用,也可以等Agent判断自行调用即可。
查询React新特性,use context7
调用完成后效果如下:
Codex CLI的自定义命令是存放在 ~/.codex/prompts/ 目录下以 .md 结尾的Markdown文件,这和Claude Code CLI是有些差异的。
这里以重构项目自定义命令为例,创建 ~/.codex/prompts/refactor.md 文件,输入提示词
按照业界的最佳实践以最高的标准,帮我重构这个项目的代码
重启Codex CLI,输入 /refactor 检索自定义命令
回车执行,Codex CLI就会按照要求创建任务计划开始执行
在Codex CLI 0.44 版本提供了对带参自定义命令的支持,主要提供了 位置参数 和 命名参数 2种自定义命令参数方式
和Claude Code CLI的动态位置参数一样,Codex CLI也支持通过 $+数字 形式的动态取值方式获取外部传递的参数,以获取天气信息为例,创建 ~/.codex/prompts/weather.md
帮我查看一下 $1 在 $2 这一天的天气
重启Codex CLI,输入命令
/prompts:weather 北京 明天
可以看到Codex CLI准确获取了我们传递的参数并补全了提示词
命名参数(name arguments)是Codex CLI提供的独特的另一种动态传递参数的方式 ,还是以获取天气信息为例,创建 ~/.codex/prompts/weather_with_named.md
帮我查看一下 $CITY $DATE 的天气
重启Codex CLI,输入命令 /weather_with_named 回车,Codex CLI会自动补全参数
填写对应的参数执行
这里有个注意事项,占位参数名必须为全大写,如果写成小写将无法识别
可以看到改成小写的命名参数无法被识别,无法自动补全
即使手动补全也无法正常使用
/prompts:weather_with_named city="北京" date="明天"
我这次体验Codex CLI使用的是佬友提供的免费中转站,过程中没有遇到使用官方API Key的一些限制所以没有记录问题,以后遇到再做补充。Codex CLI整体体验下来感觉是比Gemini CLI、Claude Code CLI功能上要少很多,主要包括:
虽然Codex CLI在功能上还不够完善,但是随着Claude Code的限制,GPT5的热度和含金量还在上升,加上最近ChatGPT出了gpt-5-codex模型,Codex CLI还是值得入手的。
见原文:Codex CLI初体验