Skip to content

Codex 常见问题

一点点技巧,如何更高效地使用 Codex

很多人可能会在使用过一段时间Codex后认为模型不如以前好用,也就是出现所谓的“降智”现象
而就目前我的使用体验来看,Codex中提供的模型经过很多次升级,其实都没有出现“降智”,关键是在于你如何合理地去使用模型

  1. 任务划分: 任何时候,都不要去提交一个非常笼统的任务,例如 请帮我写一个管理系统后台 等,这样使用必然降智!Codex模型的特点是严谨有序,指哪打哪,这就意味着你需要对你的任务进行拆分

  2. 掌控之内: 在你开始一个任务之前,你需要对这个任务进行评估,思考这个任务是否已经拆分的足够细致,是否符合“模块化”开发的准则。在任务提交之前,你应该有能力预估Codex这次改动会修改哪些文件,产生哪些变动。一定不要让AI脱离你的认知与掌控之内,不然最终结局就是项目越改越乱,直到从原点重新开始

一些碎碎念

有一说一,AI时代让很多东西都变得十分简单,但是基础知识决定着你使用AI的上限,目前阶段的AI只算作是一个十分优秀的Copilot角色。这也导致同样的AI在不同的人手里会有不一样的发挥~

  1. 避免压缩: 在多数场景下,你的任务其实最多使用Codex大概60%的上下文就能解决。如果你的任务超过了60%的上下文仍未解决,甚至还需要压缩,那么你这次任务执行之前的拆分工作算是失败了,你需要更加精细地拆分你的任务。一个优秀的Codex Vibe Coding选手几乎不用进行内容压缩!

Windows系统下,丝滑使用Codex!

重要

此方法同时解决读写文件、乱码、Token耗费高、项目无记忆等多个痛点

  1. 确保你的Codex CLIVscode Codex插件正常运行,即你已经能顺利在Vscode的Codex插件上与模型进行对话

  2. 我们需要安装两个MCP工具:

  • Serena: 功能强大的编码代理工具包,提供语义检索和项目记忆功能 Github
  • Desktop-Commander: 一个优秀的文件操作工具 Github

Serena

  1. 确保你的电脑已经安装了Python,在终端中输入python会有交互产生

  1. 在终端输入以下命令来安装uv管理器
bash
pip install uv
  1. 安装完成之后,会弹出uv的命令提示

  1. 在终端中运行git命令,如果提示“命令未找到”,则需要你去安装,待安装好后进入下一步

Git下载地址

  1. 在D盘或者其他你存放代码的目录新建一个MCP目录,然后在目录下运行cmd命令行,输入以下命令拉取Serena的仓库
bash
git clone https://github.com/oraios/serena.git

完成后cd serena进入目录

  1. 运行以下命令启动Serena Mcp
bash
uv run serena start-mcp-server --context codex --transport streamable-http --port 9121

此时你的浏览器应该会自动弹出Serena的网页控制台

Desktop-Commander

重要

这个MCP工具存在一个BUG,会导致安装失败,作者到现在都没进行修复。为了能成功安装,流程会稍微复杂一些

  1. 请先在终端运行以下命令,观察是否能安装成功,若安装成功,则如图中所示。若安装成功,直接进入教程第三步,此步骤余下内容直接跳过
bash
npx @wonderwhy-er/desktop-commander@latest setup

  1. 如果报错了,请你下载 rg.exe 到本地

  2. 键盘按下“Win+R”键,输入以下内容后回车,打开你的用户目录

bash
%userprofile%
  1. 在此目录下,寻找是否有.cargo文件夹,若不存在,则手动进行创建

  2. 进入.cargo目录,之后创建bin目录,将刚才下载的 rg.exe 文件复制或剪切进入bin目录中

  3. 重新启动你的cmd终端窗口,输入以下命令

bash
npx @wonderwhy-er/desktop-commander@latest setup
  1. 此时,你应该已经安装成功

配置 MCP

  1. 键盘按下“Win+R”键,输入以下内容后回车,打开你的用户目录
bash
%userprofile%\.codex
  1. 找到目录中的config.toml文件,打开并编辑,在最后加上两个MCP设置,你的配置文件应该如下
toml
model_provider = "packycode"
model = "gpt-5.1-codex"
model_reasoning_effort = "high"
network_access = "enabled"
disable_response_storage = true
windows_wsl_setup_acknowledged = true
model_verbosity = "high"

[model_providers.packycode]
name = "packycode"
base_url = "https://gwlink.cc/v1"
wire_api = "responses"
requires_openai_auth = true

[mcp_servers.desktop-commander]
type = "stdio"
command = "cmd"
args = ["/c", "npx", "-y", "@wonderwhy-er/desktop-commander@latest","--no-onboarding"]

[mcp_servers.desktop-commander.env]
SystemRoot = 'C:\Windows'

[mcp_servers.serena]
url = "http://127.0.0.1:9121/mcp"
  1. 重启Vscode后即可使用

Vscode 插件不支持最新模型

  1. 找到 VSCode 中 Codex 插件所在目录,找到有一大堆 js 文件的目录

  1. 下载替换脚本后解压,将这个js文件复制到刚才有一大堆js文件的目录

替换脚本下载

  1. 重启你的vscode,你就能看见现在能选择最新模型啦!

Codex如何配置全局提示词

  1. 请你查看 Codex CLI 配置 中的前两步

  2. 教程中提到的AGENTS.md文件就是Codex的全局提示词文件,如果没有这个文件,你同样需要手动创建这个文件,然后写入提示词

  3. 写入提示词保存,重启你的Codex或者vscode,提示词即生效

Codex开启内置网络搜索

  1. 请你查看 Codex CLI 配置 中的前两步

  2. 打开教程中提到的config.toml文件,在里面加入以下内容

toml
[features]
web_search_request = true
  1. 运行Codex,进行尝试

Codex 在容器或CLI沙盒中的网络连接问题

当Codex在CLI沙盒或容器(如tun模式)中运行时遇到网络连接问题(如无法拉取安装包),且其他工具(如终端、Claude Code)正常,这通常是由于MTU设置不当引起的。

解决方案:

  • 将MTU值改为1500,此设置通常可在您的Clash客户端中进行更改。
  • 对于在Linux上找不到Clash MTU设置的用户,可以参考此链接:https://linux.do/t/topic/1220328

Connection failed 问题

报错信息类似为:

txt
Connection failed: error sending request for url (https://www.packycode.com/v1/responses)

出现这种情况是你本机网络出现了问题,按以下步骤排查

  1. 检查本机网络是否通畅,能否访问其他页面
  2. 检查你的电脑是否使用了网络代理(梯子)工具,如果存在请你关闭
  3. 使用终端,运行codex命令,尝试在CLI中发送对话信息,判断是否是Vscode Codex插件问题,如是,请你重启vscode进行尝试
  4. 如果还不行,带上你的报错截图,在群内咨询客服或群友

401报错问题

报错信息类似为:

txt
exceeded retry limit, last status: 401 Unauthorized, request id: xxxxxx
  1. 在Windows或MacOS的终端运行以下命令,判断是否存在环境变量

Windows

bash
cmd /c "echo ================= OPENAI ENV CHECK ================= & ^
if defined OPENAI_API_KEY (echo OPENAI_API_KEY  = OK) else (echo OPENAI_API_KEY  = MISSING) & ^
if defined OPENAI_BASE_URL (echo OPENAI_BASE_URL = OK) else (echo OPENAI_BASE_URL = MISSING) & ^
echo ========================================================="

如果输出以下内容,则直接进入第2步

txt
OPENAI_API_KEY  = MISSING
OPENAI_BASE_URL = MISSING

如果输出内容不同,请在终端运行以下命令后进入第二步

bash
cmd /c "setx OPENAI_API_KEY \"\" & setx OPENAI_BASE_URL \"\""

macOS

bash
echo "================= OPENAI ENV CHECK ================="
if [ -z "$OPENAI_API_KEY" ]; then
  echo "OPENAI_API_KEY  = MISSING"
else
  echo "OPENAI_API_KEY  = OK"
fi

if [ -z "$OPENAI_BASE_URL" ]; then
  echo "OPENAI_BASE_URL = MISSING"
else
  echo "OPENAI_BASE_URL = OK"
fi
echo "========================================================"

如果输出以下内容,则直接进入第2步

txt
OPENAI_API_KEY  = MISSING
OPENAI_BASE_URL = MISSING

如果输出内容不同,请在终端运行以下命令后进入第二步

bash
unset OPENAI_API_KEY OPENAI_BASE_URL
  1. 查看 Codex在CLI中的配置 一章

重要

你需要:

  1. 检查~/.codex/auth.json中的 ApiKey 配置是否正确
  2. 检查~/.codex/config.toml中的 请求地址 是否正确

403报错问题

报错信息类似为:

txt
unexpected status 403 Forbidden: {"error":{"message":"Usage not included in your
plan","type":"usage_not_included","param":null,"code":null,"plan_type":"basic"}}

出现这种情况是号池中的这个账号出现问题,你需要:

  1. 使用Ctrl+C来打断你的对话,如在vscode中,请点击停止按钮
  2. 重新发起对话进行尝试,观察是否再次出现此问题
  3. 如果重试3次以上无效,带上你的报错截图,在群内咨询客服或群友

一个 API Key 畅享所有大模型