Gemini CLI与Codex CLI:哪个是更好的编码代理?

Gemini CLI与Codex CLI:哪个是更好的编码代理?

开源 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/

NodeJS

Codex CLI安装步骤

  1. 检查 Node.js 版本:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
node --version
node --version
node --version
  1. 确保 NodeJS 版本为 22 或更高版本。
  2. 全局安装 Codex CLI:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
npm install -g @openai/codex
npm install -g @openai/codex
npm install -g @openai/codex
  1. 或者使用 pnpm:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
pnpm add -g @openai/codex
pnpm add -g @openai/codex
pnpm add -g @openai/codex
  1. 设置您的 OpenAI API 密钥(如果您的项目目录的 .env 文件包含 OPEN AI API 密钥,那么我们不需要执行此任务):
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
export OPENAI_API_KEY="your-openai-api-key"
export OPENAI_API_KEY="your-openai-api-key"
export OPENAI_API_KEY="your-openai-api-key"
  1. 将此行添加到您的 shell 配置文件(例如 ~/.bashrc、~/.zshrc)中以实现持久性。
  2. 运行 Codex CLI:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
codex
codex
codex
  1. 或者直接传递提示:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
codex "explain this codebase to me"
codex "explain this codebase to me"
codex "explain this codebase to me"

Gemini CLI安装步骤

  1. 检查 Node.js 版本:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
node --version
node --version
node --version

确保版本为 18 或更高。

  1. 全局安装 Gemini CLI(推荐):
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
npm install -g @google/gemini-cli
npm install -g @google/gemini-cli
npm install -g @google/gemini-cli
  1. 或者,无需安装直接运行:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
npx https://github.com/google-gemini/gemini-cli
npx https://github.com/google-gemini/gemini-cli
npx https://github.com/google-gemini/gemini-cli
  1. 身份验证:
    1. 默认:出现提示时使用您的 Google 帐户登录(浏览器窗口将打开)。
    2. API 密钥(高级使用):
      1. 从 Google AI Studio 获取您的 API 密钥。
      2. 使用以下条目在您的环境中设置它:export GEMINI_API_KEY=”your-api-key”
  2. 运行 Gemini CLI:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
gemini
gemini
gemini
  1. 或者直接传递提示:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
gemini "Hello, can you help me with coding?"
gemini "Hello, can you help me with coding?"
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

Gemini CLI

我喜欢 Dracula 主题。

Gemini 有三种不同的登录方式

与 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 还会跟踪终端右侧的上下文。

当与 CursorWindsurf 等更智能的 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 默认扫描范围更广,控制力较弱。

评论留言