OpenAI Codex CLI 是一款开源命令行工具,可将 OpenAI 最新推理模型的强大功能直接带到您的终端。可以把它想象成活在你 shell 中的轻量级人工智能编码助手:它可以读取你的代码、修改文件,甚至在你的项目环境中执行命令。这意味着你可以要求它构建功能、修复漏洞或解释不熟悉的代码,而无需离开你的开发工作流程。简而言之,这就是聊天驱动的开发 – 你用自然语言与 Codex 交互,它就会回应你的代码编辑或命令结果,从而有效地为你提供 ChatGPT 级别的推理能力,以及运行代码和实时查看结果的能力。听起来很吸引人,对吗?在本文中,我将进一步告诉你如何访问它并用于查询。
OpenAI Codex CLI的主要功能
OpenAI Codex CLI拥有多项强大功能,是开发人员的得力助手。Codex CLI 的最大优势之一是它完全在本地机器上运行。您的源代码和文件将保留在您的环境中,而不会批量上传到云服务。只有您的提示和高级上下文(如差异汇总或相关片段)才会被发送至 OpenAI API 以生成响应。由于 CLI 是开源的,并且在本地工作,因此它在设计上为您提供了隐私和控制–您的工作流程和代码保持私有。因此,Codex CLI 对那些不能或不想共享的代码库特别有吸引力,同时还能利用强大的人工智能辅助功能。
通过直接集成到终端,Codex CLI 自然而然地融入了开发人员的日常工作。你可以在 git 命令、文本编辑器和构建工具旁边与人工智能助手聊天,这意味着与使用单独的聊天界面相比,上下文切换更少。该工具专为快速迭代而设计:提出问题或下达指令,让它提出建议或应用修改,运行代码,然后重复–所有这一切都在同一个地方完成。
以下是一些亮点:
1. 零设置安装
Codex CLI 运行起来非常简单。您只需要 Node.js 和 OpenAI API 密钥,只需执行类似 npm install -g @openai/codex 这样的命令即可全局安装 CLI,无需其他设置。无需复杂的配置或环境设置;只需带上 API 密钥,它就能“正常工作”。(您甚至可以使用简单的 codex -upgrade 命令随时更新到最新版本)。
2. 原生终端设计
Codex 完全在终端中运行,因此感觉就像是 shell 环境的自然扩展。你可以从你的项目目录中调用它,并让它与你的本地文件和工具进行交互。这种终端原生方法意味着你无需切换到浏览器或图形用户界面,非常适合在编码时保持流程和上下文。CLI 提供类似聊天的文本交互界面,因此你可以在控制台中直接看到人工智能的响应(如代码差异或命令输出)。
3. 多模态输入
与纯文本工具不同,Codex CLI 接受多模态输入–你不仅可以传递文本提示,还可以传递截图或图表等图片来引导助手。例如,你可以将错误信息的截图或用户界面草图拖入终端,Codex 就能对其进行解释并采取行动。这是一项独特的功能,它能让人工智能利用视觉信息生成或编辑相应的代码。在引擎盖下,它使用支持视觉的模型来理解图像,从而实现根据堆栈跟踪截图进行调试或根据线框构建布局等用例。
4. 丰富的审批工作流程
通过丰富的审批系统,Codex CLI 可以让你对它的自主操作进行精细控制。您可以在三种模式(建议、自动编辑、完全自动)之间进行选择,以决定人工智能建议的代码更改或命令是自动执行还是需要您的确认。这种灵活的工作流程可让您决定自己的实际操作程度:您可以从保守的方式(对所有事情进行手动审批)开始,然后再对重复性任务进行完全自动化。我们将在下一节深入探讨这些模式,但关键的一点是,Codex 不会做出你不喜欢的更改–你总是负责审批。
5. 本地执行与隐私
所有代码执行和文件编辑都是在你的机器上,在你的项目环境中进行的。除了模型查询外,不会向外发送任何内容–CLI 不会将您的代码库上传至 OpenAI。这意味着您可以完全保密。您可以放心地在专有或敏感代码上使用 Codex CLI,因为该工具不会保留或共享您的数据。即使在使用最自主的模式时,Codex 也是在沙盒环境中运行,没有网络访问权限,从而确保其采取的任何行动都是在您的系统本地进行的。简而言之,你可以在不放弃隐私或安全的前提下,获得人工智能对程序员的好处。
你必须知道的Codex CLI模式
Github 链接:openai/codex
Codex CLI 的一个突出特点是它的审批工作流程–基本上,你可以决定人工智能有多大的自由度来进行更改或运行命令。有三种审批模式: 建议、自动编辑和完全自动。每种模式都在自动化和用户监督之间取得了不同的平衡,因此你可以根据手头的任务选择适合自己的模式。下面概述了它们的工作原理:
1. 建议模式(默认)
这是最保守的模式,非常适合你想仔细审查所有内容的情况。人工智能可以读取你的项目文件,并提出代码编辑或终端命令的建议,但未经你的明确批准,它不会应用更改或执行任何操作。从本质上讲,Codex 会像专家顾问一样与你互动:它可能会为修复错误提出补丁差异,或显示运行测试的 shell 命令,然后请求你的确认。建议模式适用于安全探索,例如学习新代码库或进行代码审查,在这种情况下,你可以看到建议,但需要手动应用。
2. 自动编辑模式
在自动编辑模式下,Codex 可以自动应用代码更改(它可以自行编辑/写入文件),但在运行任何 shell 命令前仍必须询问。这种模式非常适合重构或在代码库中进行重复编辑等任务。它既能获得人工智能直接修改代码的效率,又能在执行任何程序前保留一个控制检查点。例如,Codex 可能会在多个文件中重写一个函数,并立即保存更改,但如果它想运行你的测试套件或启动开发服务器,就会暂停并征求你的同意。自动编辑模式是一个平衡点:编码迭代速度更快,但你仍能监督命令等副作用。
3. 全自动模式
全自动模式赋予人工智能最大的自主权。Codex 可以读写文件,也可以自行执行 shell 命令,无需等待批准。在这种模式下,它将成为一个真正的自动代理–你可以要求它执行一项复杂的任务,然后坐下来等它完成所有步骤。为确保安全,全自动运行模式在受限沙箱中运行:所有命令都在禁止网络访问的情况下执行,并以项目目录为范围(不能在外部徘徊或访问互联网)。这种模式非常适合较长时间的任务,你可以信任人工智能的迭代能力,例如,在你短暂休息时修复一个损坏的构建或开发一个新功能的原型。当然,你应该谨慎使用 “全自动 ”模式–它功能强大,但你要确保已经备份或版本控制了你的代码(在启动“自动编辑”或“全自动”模式时,如果你不在 git 仓库中,CLI 实际上会向你发出警告)。
模式比较
下表总结了三种模式之间的差异,以及每种模式的典型用例:
模式 | What the Agent Can Do | When to Use (Use Cases) |
Suggest (default) | – 读取软件仓库中的任何文件- 提出编辑和 shell 命令(需要你的批准才能应用/执行) | 安全探索代码库、代码审查、学习新项目的结构,在这些情况下,您需要完全控制更改 。 |
Auto Edit | – 读取和修改文件(自动应用编辑)- 提出 shell 命令(执行仍需审批 | 重构代码或进行批量编辑,同时关注副作用。非常适合重复性修改,手动文件编辑非常乏味,但你仍希望批准任何命令 。 |
Full Auto | – 自主读取、写入和执行命令(所有操作均自动批准)- 在沙箱中运行(无网络,仅限于项目目录 | 大型或耗时的任务,如修复破损构建中的所有测试或从头开始构建一个新的应用程序。当您想将执行工作完全委托给人工智能(如快速原型开发)时 。 |
实际上,您可以根据自己的情况选择合理的模式。默认情况下,如果只运行 codex,它会以建议模式启动。要明确选择一种模式,可以在启动 CLI 时使用一个标记:例如,使用 -auto-edit 或 -full-auto 以这些模式启动 。还有一个交互式命令 (/mode) 可以在会话期间切换模式 。这样,你可以从建议模式开始,看看 Codex 打算做什么,然后在对它的建议感到满意后切换到自动编辑模式,在任务的最后阶段再切换到全自动模式。重要的是,你可以随时控制自主程度。
Codex CLI的系统要求
在安装 Codex CLI 之前,请确保您的开发环境满足最低要求。该工具可跨平台使用,但目前在类 Unix 系统上运行效果最佳。以下是最低和推荐规格:
要求 | 最低配置 | 推荐配置 |
Operating System | macOS 12+ or Ubuntu 20.04+/Debian 10+ (Linux); Windows 11 via WSL2 | 最新的操作系统更新(最新的 macOS 或 LTS Linux 版本;Windows 使用最新的 WSL2),以获得最佳兼容性。 |
Node.js | 22 (或者更高版本) | 最新的 Node.js LTS 版本(>= 22),以确保稳定性。 |
Git (optional) | 2.23+ (if using version control features) | 可用的最新 Git(可选,但建议使用 PR 助手等完整功能)。 |
Memory (RAM) | 至少4 GB | 8 GB 或以上(以便在大型任务中更流畅地运行)。 |
Codex CLI 已在 macOS 和 Linux 上进行了测试。Windows 用户可以通过 WSL2(Windows Subsystem for Linux)运行它,因为原生 Windows 支持仍处于试验阶段 。您还需要一个 OpenAI API 密钥(来自您的 OpenAI 账户)来验证 CLI,我们将在下文介绍。除此之外,不需要其他特殊硬件;只要能运行现代 Node.js,就可以使用了。
注意:使用 Codex CLI 时,建议将项目置于源代码控制 (git) 下,尤其是自动模式。虽然运行 CLI 并不严格要求 Git,但有了版本控制,您就可以轻松查看更改,并在需要时进行回滚。事实上,如果你试图在非 git 仓库的目录中使用自动编辑或完全自动,Codex 会发出警告提醒你。
如何使用OpenAI Codex CLI?
第 1 步:安装Node.js
- 从 nodejs.org 下载 Node.js v22+ 。
- 使用默认设置安装。
- 验证安装:
bash node --version # Should show v22+ npm --version # Should show v10
第 2 步:安装Codex CLI
bash npm install -g @openai/codex
- 故障排除:如果出现权限被拒绝的错误:
- Windows:以管理员身份运行 PowerShell。
- Linux/macOS:使用 sudo npm install -g @openai/codex (不建议使用;请修复 npm 权限)。
第 3 步:设置OpenAI API密钥
用于PowerShell(Windows):
Powershell
$env:OPENAI_API_KEY = "your-api-key-here"
要使其永久有效:
Powershell
setx OPENAI_API_KEY "your-api-key-here"
适用于Git Bash/MINGW64:
bash export OPENAI_API_KEY="your-api-key-here"
要使其永久有效,请添加到 ~/.bash_profile:
bash nano ~/.bash_profile # Add "export OPENAI_API_KEY=..." source ~/.bash_profile
第 4 步:修复“sh.exe”错误(仅限 Windows)
- 从 git-scm.com 安装 Windows 版 Git。
- 安装过程中,选择 “在命令提示符中使用 Git 和 Unix 工具”:
- 选择 “在命令提示符下使用 Git 和 Unix 工具”。
- 启用 “启用符号链接”。
- 重启终端
第 5 步:运行 Codex
交互模式
交互式运行:
第 4 步:运行Codex
交互模式
交互式运行:
Codex
动手实践OpenAI Codex CLI构建游戏和图像字幕应用程序
任务 1:基本提示执行
我从一项简单的任务开始,要求 Codex 写出 2-3 句关于我自己的内容。CLI 迅速而准确地做出了反应,在短短几秒钟内就生成了连贯、语法正确的输出。即使输入量极少,它也表现出了很强的提示理解能力和流畅性。
任务 2:使用 OpenAI 模型的图像字幕应用程序
接下来,我尝试构建一个更复杂的应用程序:一个图像字幕工具,用户上传图像并接收由 OpenAI 模型生成的描述性字幕。虽然 Codex 提供了一个不错的起点,但其代码已经过时–引用了已废弃的代码,并且缺少文件处理和模型集成的关键组件。我不得不自己动手更新代码。(我附上了一张截图以供参考。)这突出了一个局限性:对于较新或文档较少的应用程序接口,Codex 可能会依赖于较旧的模式或不完整的实现。
Codex CLI 出错
任务 3:用Python和Pygame玩俄罗斯方块游戏
输出
在最后一项任务中,我要求 Codex 使用 Python 和 Pygame 制作一个俄罗斯方块游戏。这一次,它成功了。代码结构合理,功能齐全,无需进行重大修改。游戏运行流畅,包含了所有核心机制–方块移动、旋转、清线和计分。这充分证明了 Codex 在与 Pygame 等成熟的库协同工作时处理基于图形的交互式项目的能力。
Codex CLI使用案例
Codex CLI 可在多个常见任务中为您的开发工作流程增添动力:
- 错误修复:当你遇到错误或测试失败时,可使用建议模式询问诸如 “为什么登录函数会出错?Codex 会分析代码,发现问题(如变量错误或检查缺失),并提出修复建议。您将审核并批准补丁。对于更棘手的问题,全自动模式可让 Codex 通过反复运行测试和应用更改来修复多个故障。你仍需验证结果,但它会处理繁重的工作。
- 代码重构:跨文件的代码重构–比如从回调切换到 async/await–可能很繁琐。在自动编辑模式下,Codex 可在整个代码库中应用一致的更改。例如,说 “将 API 路由重构为 async/await”,它就会处理文件编辑,只在需要时暂停。你可以通过差异来监督更改,让 Codex 来做粗活,而你则负责监督质量。
- 学习新的代码库:刚刚克隆了一个版本库?使用建议模式提问:“调度器类是做什么的?”或“身份验证是如何工作的?” Codex 会读取代码并用浅显易懂的语言进行解释,帮助你快速浏览陌生的项目。您可以请求摘要,了解模块职责,并在不做修改的情况下探索功能。
- 原型设计和脚手架:想要启动一个新项目或功能?全自动模式可以生成代码并设置一切。让它“用 Flask 创建一个简单的 TODO 网络应用程序”,它就会自动生成文件、安装依赖关系并运行应用程序。对于诸如“为该 CLI 工具添加 CSV 导出 ”之类的新功能,Codex 会编写并整合代码,为你提供一个工作基线。
Codex CLI 就像一个人工智能配对程序员,从日常编辑到复杂的自动化,它都能提供帮助。根据任务的不同,你可以控制它的动手或自主程度。
小结
有了 OpenAI Codex CLI,开发人员就能在终端上获得一个友好的人工智能伙伴–它能对代码进行推理,并处理编辑和运行代码的机制。我已经介绍了什么是 Codex CLI 以及它是如何工作的,从它的零工作量安装到让你掌控一切的巧妙审批模式。你已经看到了如何入门和运行一些基本命令,以及它如何帮助修复 bug、重构、学习代码库和构建新创意原型等实际应用案例。从本质上讲,Codex CLI 将 ChatGPT 体验带入你的开发环境,将自然语言指令转化为可运行的代码,而这一切仍由你掌控。这是一款令人兴奋的工具,它体现了人工智能辅助软件开发的未来:快速、灵活,并以增强开发人员能力为宗旨。在你的下一个项目中试试吧!
暂无评论内容