开源 CLI 工具在开发者和 AI 社区中引起了极大的关注。随着 Claude 的 Codex CLI、OpenAI 的 Codex CLI 以及最近谷歌的 Gemini CLI 的发布,人们对 CLI 的兴趣骤然高涨。通过将 AI 支持融入日常任务,这些工具正在改变开发者使用终端的方式。
开发者可以利用这些 CLI 提高代码理解能力、加快调试速度,并自动执行复杂的编码任务。像 Codex CLI 这样的工具通过将强大的 AI 驱动功能(例如代码生成、重构和内联文档)直接引入命令行,帮助用户更高效地编写、分析和改进代码。随着谷歌推出的轻量级开源替代品 Gemini CLI 的推出,市场变得更加激动人心,Gemini CLI 正在迅速普及。
现在,让我们仔细看看 Gemini CLI 和 Codex CLI 在测试中的表现如何。
Gemini CLI和Codex CLI是什么?
Gemini CLI:Google 推出的一款开源 AI 代理,可将 Gemini 模型(例如 Gemini 2.5 Pro)集成到开发者终端中。
Codex CLI:一款开源命令行工具,由 OpenAI 的 Codex CLI 分支而来,现已支持包括 Gemini 2.5 Pro 在内的多家 AI 提供商。它使开发者能够在终端中与大型语言模型交互,执行代码生成、重构和脚本解释等任务。
如果您正在寻找详细的演示,请查看我们关于每个 CLI 工具的指南:
安装
在继续安装之前,请确保满足系统要求。
系统要求
要求/指标 | Codex CLI | Gemini CLI |
---|---|---|
操作系统 | macOS 12 及以上、Ubuntu 20.04 及以上、Windows 11(经 WSL2) | macOS、Windows、Linux(原生) |
Node.js 版本 | 22 或更高(推荐使用 LTS) | 18 或更高 |
npm | 必需(随 Node.js 一同安装) | 必需(随 Node.js 一同安装) |
Git | 可选但推荐 | 可选 |
内存 (RAM) | 最低 4 GB,推荐 8 GB | 同左 |
网络连接 | 必需 | 必需 |
认证方式 | OpenAI API 密钥 | Google 账户或 API 密钥 |
NodeJS 是这两个 CLI 的共同先决条件。您可以按照其官方页面上的说明安装 Node.js:https://nodejs.org/
Codex CLI安装步骤
- 检查 Node.js 版本:
node --version
- 确保 NodeJS 版本为 22 或更高版本。
- 全局安装 Codex CLI:
npm install -g @openai/codex
- 或者使用 pnpm:
pnpm add -g @openai/codex
- 设置您的 OpenAI API 密钥(如果您的项目目录的 .env 文件包含 OPEN AI API 密钥,那么我们不需要执行此任务):
export OPENAI_API_KEY="your-openai-api-key"
- 将此行添加到您的 shell 配置文件(例如 ~/.bashrc、~/.zshrc)中以实现持久性。
- 运行 Codex CLI:
codex
- 或者直接传递提示:
codex "explain this codebase to me"
Gemini CLI安装步骤
- 检查 Node.js 版本:
node --version
确保版本为 18 或更高。
- 全局安装 Gemini CLI(推荐):
npm install -g @google/gemini-cli
- 或者,无需安装直接运行:
npx https://github.com/google-gemini/gemini-cli
- 身份验证:
- 默认:出现提示时使用您的 Google 帐户登录(浏览器窗口将打开)。
- API 密钥(高级使用):
- 从 Google AI Studio 获取您的 API 密钥。
- 使用以下条目在您的环境中设置它:export GEMINI_API_KEY=”your-api-key”
- 运行 Gemini CLI:
gemini
- 或者直接传递提示:
gemini "Hello, can you help me with coding?"
注意事项
- 对于这两种工具,必须安装 Node.js 和 npm(Node 包管理器),并将其添加到系统 PATH 中。
- Codex CLI 需要 Node.js 22 及以上版本,而 Gemini CLI 则需要 Node.js 18 及以上版本。
- 两者都需要通过 API 密钥或帐户登录进行身份验证才能获得完整功能。
- 在 Windows 上,为了完全兼容,最好通过 WSL2 运行 Codex CLI。
- 请记住,当您想将 CLI 用于某个项目时,请确保将当前工作目录设置为项目所在的文件夹路径。
运行我们的CLI实例
让我们继续通过 3 个任务比较两种模型的性能
- 在本地主机上构建工作模型
- 阅读复杂的代码库并解释代码
- 错误调试
让我们首先使用 Codex CLI 进行尝试:
Codex CLI
如果所有要求都已满足,那么我们就可以开始测试了。
任务 1 – 解释代码库
我们可以看到,Codex 可以提供我们代码库的详细摘要,说实话,效果出奇地好。此外,Codex CLI 会临时要求我们授予特定代码段的访问权限,我们可以根据自己的判断授予或拒绝访问权限。经过一段时间的思考后,它提供了一份相当不错的报告。
报告的总体目的、代码库布局、关键组件、前端网站和资源都包含在内,并附有摘要。即使我给主要文件起了个比较模糊的名字,我仍然惊讶地发现它能够按时间顺序解码所有先前版本的代码文件。
任务 2 – 错误调试
由于我们允许 Codex CLI 访问我们的整个数据库(无论是私有数据库还是受保护数据库),它会在读取任何代码片段之前征求我们的授权。如果我们允许,它就会以适当的方式访问我们的代码片段。
总的来说,它能够识别每一个细微的错误,并偶尔修复代码中一些粗心大意的错误,删除一些对延迟略有影响的不必要部分。
任务 3 – 代码库的补充
这涉及了解每个模块如何在各个目录中定义,并桥接每个依赖项之间的知识,以确保创建一个新目录来构建新的 .py
文件,用于我们在请求访问时所请求的附加内容。
现在让我们尝试检查 Gemini CLI 的功能。
Gemini CLI
我喜欢 Dracula 主题。
与 Codex CLI 只需导出 OPENAI_API_KEY 不同,Gemini 有三种不同的登录方式:使用 Gmail 帐户、从 AIStudio 复制 GEMINI_API_KEY 或使用 Vertex AI 凭据。
任务 1 – 解释代码库
我观察到的主要区别是,与要求访问特定目录的 Codex CLI 不同,Gemini 跳过了此步骤,而是扫描了整个数据库。尽管如此,根据我的经验,它确实提供了不错的概览,但在输出方面远不及 Codex。
任务 2 – 错误调试
在我看来,Gemini 的响应比 Codex 的解释更到位,因为它能够识别安全风险的类型,对其进行解释,并提供文件名作为进一步调查和建议修改的参考。此外,如果遵循必要的说明,提供针对每个错误的全面策略,则可以在不影响其功能的情况下修改代码。
任务 3 – 代码库补充
Gemini CLI 无法运行此工作负载,因此没有输出任何结果。
Gemini CLI与Codex CLI:最终评测
任务/能力 | Codex CLI | Gemini CLI |
---|---|---|
代码库讲解 | 提供高度详尽的摘要:包括仓库结构、模块分析,即便文件名含糊也能处理。 | 给出还算不错的概览,但深度和结构性较弱;无需请求即可扫描完整数据库。 |
错误调试 | 能准确定位小错误并给出上下文修复方案。 | 解释能力强,可指出安全问题、相关文件名及改进策略。 |
代码库新增 | 能正确处理依赖映射并新增模块(如 .py 文件)。 | 任务执行失败,未产生输出。 |
访问控制 | 在分析特定代码段前会提示用户授权,隐私保护更好。 | 自动扫描,无需提示,潜在安全性较低。 |
综合表现 | 更稳定、粒度更细、注重隐私,适合真实编码任务。 | 错误分析表现可期,但在深度代码操作上不够一致。 |
小结
比较这两个 CLI 的功能时,我发现 Codex 比 Gemini CLI 提供的功能更多。目前,这两个 CLI 都是开源的,并且在未来版本中会提供更强大的功能。
由于 GPT 模型会分析我们的代码,Codex 还会以最大程度降低安全风险的方式请求访问我们的代码库和模块,从而提供更高的隐私保护。然而,Gemini CLI 似乎并没有定期请求访问权限;相反,它会在想要运行应用程序代码时询问。此外,我们应该记住,Gemini CLI 还会跟踪终端右侧的上下文。
当与 Cursor、Windsurf 等更智能的 Vibe 编码 IDE 结合使用时,这些 CLI 无疑会为 Vibe 编码工作流程和应用程序运行开辟新的可能性。然而,安全和隐私漏洞可能仍然存在,因此我建议谨慎选择授予这些 CLI 访问权限的内容和位置。
常见问题
Q1. Codex CLI 和 Gemini CLI 的主要区别是什么?
A. Codex CLI 提供更深入的代码洞察和细粒度的访问。Gemini CLI 速度更快、更简单,但细节性较低。
Q2. 哪一个更适合理解代码库?
A. Codex CLI。它提供结构化、详细的摘要——即使是混乱或不熟悉的代码。
Q3. 非程序员可以使用这些工具吗?
A. 可以。需要基本的终端使用经验,但两者都接受自然语言命令。
Q4. 是否存在隐私问题?
A. Codex 在读取代码之前会请求访问权限。Gemini 默认扫描范围更广,控制力较弱。
评论留言