最近,AI 编程工具越来越热。过去我们习惯在网页里问 AI:“这段代码是什么意思?”“这个报错怎么解决?”后来事情变了,AI 不再只是站在门外看代码,它开始走进项目目录,读文件、改文件、跑命令、看报错,像一个坐在终端里的编程助手。

Codex CLI 就是这样一个工具。

按照 OpenAI 官方介绍,Codex CLI 是一个可以在本地终端运行的 coding agent。它能够在你指定的项目目录中读取代码、修改代码,并运行命令;它是开源工具,并且面向终端场景设计。(OpenAI开发者) 官方快速开始文档也提到,Codex 默认以 Agent mode 启动,可以读取项目文件、运行命令,并在项目目录中写入修改。

这就是它最近受到关注的原因:它不是简单帮你“写一段代码”,而是可以参与一个完整的小型开发过程。比如:

它可以帮你阅读一个陌生项目,说明每个脚本是做什么的

可以根据你的需求修改 Python、Shell 或配置文件

可以运行测试,看到报错后继续定位问题

也可以在你不确定环境是否正确时,帮你检查 Python、pip、conda、依赖文件和运行入口。

过去我们写代码,像一个人在夜路里摸索。现在 Codex CLI 像一盏灯,但灯不是路。路还得自己走。你要告诉它目标,也要看懂它改了什么,更要知道什么时候该让它停下来。

这篇文章记录的是我在 Windows + WSL Ubuntu 22.04 环境下安装和使用 Codex CLI 的过程。

一、我的使用环境

我的电脑是 Windows 系统,开发环境主要放在 WSL 里的 Ubuntu 22.04。

简单说,就是外面看起来是 Windows,里面干活的是 Linux。很多生物信息、分子模拟、AI 编程和服务器脚本,放在这种环境里会更方便。

安装 Codex CLI 之前,需要先解决三件事:

第一,WSL 能不能正常联网;
第二,Node.js 是否安装正确;
第三,Codex CLI 能不能登录 OpenAI 账号。

这三件事像三道门。哪一道门没开,后面都走不动。

二、配置 WSL 网络

在 Windows PowerShell 中打开 WSL 配置文件:

notepad $env:UserProfile\.wslconfig

如果文件不存在,就新建一个,并写入:

[wsl2]
networkingMode=mirrored
dnsTunneling=true
autoProxy=true

然后重启 WSL:

wsl --shutdown

再重新进入 Ubuntu:

wsl -u <你的WSL用户名>

三、给 WSL 配置代理

如果你本地代理端口是 7890,可以在 WSL 中执行:

export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
export HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890

如果你的端口不是 7890,就改成自己的端口。

端口在哪里看?
打开你的代理软件,在“设置”“端口设置”“HTTP 代理端口”一类的位置里找。不同软件叫法不同,但意思差不多。

测试网络:

curl -I https://chatgpt.com
curl -I https://api.openai.com

如果返回 200301403404 这类 HTTP 状态码,一般说明网络已经连通。这里不一定非要返回 200。有时候 403 也说明你已经连到了服务器,只是访问权限不同。

四、安装 Node.js 22

Codex CLI 需要 Node.js 环境。这里安装 Node.js 22.x。

sudo apt update && sudo apt upgrade -y

然后执行:

curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs

检查版本:

node -v
npm -v

正常情况下,node -v 应该显示 v22.x.xnpm -v 会显示对应的 npm 版本。

版本号看起来枯燥,但它很重要。软件世界里,很多问题不是因为人错了,而是因为版本错了。

五、安装 Codex CLI

Node.js 安装好后,执行:

sudo npm install -g @openai/codex

安装完成后,可以检查版本:

codex --version

如果能看到版本号,说明安装成功。

六、登录 Codex CLI

安装成功后,还需要登录。

codex login --device-auth

终端会显示一个网页登录地址和一次性验证码。需要打开网页,登录自己的账号,然后输入验证码

Open this link in your browser:
https://auth.openai.com/codex/device

Enter this one-time code:
XXXX-XXXX

登录成功后,可以检查状态:

codex login status

退出登录:

codex logout

七、进入项目目录使用 Codex

Codex CLI 最适合在具体项目目录里使用。

进入工作目录

cd /path/to/your/project

调用codex

codex

八、常用命令

进入 Codex 交互模式后,可以使用这些命令:

查看修改内容:

/diff

让 Codex 检查当前改动:

/review

修改权限:

/permissions

压缩长对话上下文:

/compact

退出:

/exit

这些命令不花哨,但很有用。尤其是 /diff。让 AI 改代码之前和之后,都应该看 diff。否则不知道它到底动了哪里。

九、权限不要随便放开

Codex CLI 可以读文件、改文件、运行命令,所以权限设置很重要。

一般建议先使用默认权限。默认权限通常允许它在当前工作区内读写和运行命令,但如果要访问互联网或修改工作区外的文件,需要用户确认。

不要一上来就给 Full Access。
这不是不信任 AI,而是不要把钥匙全挂在门上。

工具越强,越要有边界。
刀可以切菜,也可以伤手。问题不在刀,而在拿刀的人有没有数。

十、一个比较稳妥的提示词

不要只说:

帮我改代码。

这句话太宽。Codex 可能会改,但你不一定知道它为什么改、怎么改、改完怎么测。

可以写得具体一点,例如:

请根据刚才的分析,修改 XXX.py,实现批量处理。
修改前先给出计划。
修改后展示 /diff。
并告诉我如何测试。

如果希望它帮你检查环境、安装依赖、运行代码,可以这样写:

我已经修改好了代码。请你在当前项目目录中运行修改后的代码,并完成以下任务:

1. 先检查当前 Python 环境:
   - which python
   - python --version
   - which pip
   - pip --version
   - 如果是 conda 环境,请检查 conda info --envs

2. 阅读项目中的 README、requirements.txt、environment.yml、pyproject.toml 或脚本开头的 import,判断运行入口和依赖。

3. 创建新的 conda 环境。缺少 Python 包时,优先使用新环境安装:
   - 如果存在 requirements.txt,优先使用 python -m pip install -r requirements.txt
   - 如果只缺少单个包,使用 pip 或 conda 安装
   - 如果存在 environment.yml,请先说明是否需要 conda env update,不要直接覆盖环境

4. 运行修改后的主脚本。如果报错:
   - 展示完整报错的关键部分;
   - 判断是缺包、路径错误、参数错误、数据文件缺失,还是代码逻辑错误;
   - 如果是缺包,请申请安装;
   - 安装后重新运行;
   - 如果是代码问题,请先解释原因,再修改代码。

5. 每次修改文件后,请展示 diff。

6. 最后总结:
   - 实际运行了哪些命令;
   - 安装了哪些包;
   - 修改了哪些文件;
   - 代码是否成功运行;
   - 输出文件保存在哪里。

提示词写得细,不是啰嗦。
这是把活交代清楚。
人和 AI 合作,最怕的不是 AI 不会干,而是人没说清楚要它怎么干。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐