AI 编程工具实战:用 Claude Code 改造 gemini-cli
这也是我用 AI 编程工具完成的第一个正式可以使用的完整项目, 项目工作量虽然不大, 但是也是体会到了 AI 可以让普通人可以做很多之前无法做到的事情。本人不懂前端开发, 未学习过 js ts 等前端开发语言,借助 AI 编程工具就可以实现前端开发, 这也是 AI 编程工具的强大之处。人非 AI 专业人士,使用 AI 编程工具,主要是为了提高工作效率,减少重复劳动,让 AI 做一些重复性的工作,解
一直在用 Claude Code 工具,爱上了 命令行版本的 AI 编程工具的强大,自此也爱上了命令行。
在 gemini-cli 发布的初期也体验了 gemini-2.5-pro ,由于使用的是免费账号,Google 做了限制,无法很畅快的使用,用的强大稍稍大一点就一被降级使用,体验大幅下降。
周末体验了 kimi2 后,充值了 ¥50 ,使用的是 VSCode 插件 Cline 进行体验,发现随便触发了几个任务之后,kimi2 账户就消耗了接近 ¥10,不知道是 Kimi2 本身费钱呢,还是 Cline 工具导致的 API 调用费用高。
遂决定使用 gemini-cli 做一个可以通过 API 接入任意 AI 大模型的 AI 编程工具,用来测试 kimi2 的效果和 cline 的费用。
我把他取名为 gemini-cli-nexus
,改造后的 gemini-cli-nexus 项目也开源在 github https://github.com/ai-embedded/gemini-cli-nexus 上默认分支 nexus ,欢迎大家体验。
gemini-cli-nexus
这是一个用 AI 编程工具修改 AI 编程工具完成的项目,将 gemini-cli 作为 AI 编程工具的底层,通过环境变量配置 AI 大模型,支持 OpenAI、Anthropic 等 AI 大模型,各国产大模型基本上提供这 2 套兼容的 API。
一直在使用 Cluade Code,所以该项目也是使用 Claude Code ,选择的模型是 claude 4.0 sonnet。
github 上已经有类似项目了,我这也有重复造轮子的嫌疑,索性没话太多时间和精力,估计算上代码编写,测试,问题修复、来回验证等时间,应该在 2-3 小时左右。
非常开心的是,今天(2025-7-23)一早也看到 QWen 发布了最新的 Qwen3 Coder,国产开源模型终于也有了可以和 Claude 4 Sonnet 相媲美的编程模式👍。
QWen 同时发布了一个 Qwen Code 工具,也是通过 gemini-cli 二次优化而来。
看到一些资料介绍 Qwen Code 进行了 prompt 和工具调用协议适配,能最大程度激发 Qwen3-Coder 在Agentic Coding 任务上的表现。
Qwen Code 也是通过环境变量配置 AI 大模型,支持 OpenAI API 来调用大模型。
接下来可以对比 Qwen Code 和 gemini-cli 的差异,可以在模型、工具、费用上对各模型来个大 PK。
gemini-cli-nexus
nexus
的意思是“连接点”或“核心”,这个名字强调了本工具作为与各种 AI 大模型交互的中心枢纽的角色。
这个名字是 gemini 推荐的😄,和 Google 的平台名字一样,应该没啥太大冲突。
gemini-cli-nexus 支持通过设置环境变量来配置 AI 大模型,目前支持以下接入 API 接口:
- gemini (默认)
- OpenAI 及兼容大模型
- Anthropic 及兼容大模型
保留了 gemini-cli 的所有功能,最小修改完成了 API 调用支持,方便后续跟随 gemini-cli 升级迭代。
默认启动与 gemini-cli 功能一致,使用 gemini 模型。
可通过以下环境变量配置支持 API 方式调用三方大模型,目前测试过的模型列表和 URL 如下表:
模型名称 | 模型 URL | 模型类型 |
---|---|---|
Kimi2 | https://api.moonshot.cn/anthropic | kimi-k2-0711-preview |
Kimi2 | https://api.moonshot.cn/anthropic | |
Deepseek | https://api.deepseek.com/v1 | deepseek-chat 或 deepseek-reasoner |
其他模型未详细测试
使用
和 gemini-cli 一样, 请先确认安装了 Node.js 20 以上版本。
安装
安装方式与 gemini-cli 一致, 推荐在项目目录下使用 npx 运行
$ npx https://github.com/ai-embedded/gemini-cli-nexus
注意:如果使用 npx 运行,请先设置环境变量后再运行 gemini-cli-nexus, 如未设置环境变量,gemini-cli-nexus 会使用默认的 gemini 模型。
全局安装先需要确认未安装 gemini-cli, 已安装 gemini-cli 请先卸载:
$ sudo npm uninstall -g gemini-cli
$ sudo npm install -g https://github.com/ai-embedded/gemini-cli-nexus
者使用 gitee 链接: https://gitee.com/ai-embedded/gemini-cli-nexus
环境变量设置
1. 推荐方式:使用统一的环境变量
# 设置 API Key(选择一个提供商)
export OPENAI_API_KEY="sk-your-openai-key-here"
# 或
export ANTHROPIC_API_KEY="sk-ant-your-anthropic-key-here"
# 设置模型(统一配置方式)
export MODEL="claude-sonnect-4-20250514"
2. .env 文件配置
在项目根目录创建 .env
文件:
# 选择一个提供商的 API Key
OPENAI_API_KEY=sk-your-openai-key-here
OPENAI_BASE_URL=https://api.openai.com/v1 # 可选
# ANTHROPIC_API_KEY=sk-ant-your-anthropic-key-here
# ANTHROPIC_BASE_URL=https://api.anthropic.com # 可选
MODEL=claude-sonnect-4-20250514
注意:如果同时设置了环境变量和
.env
文件,环境变量会覆盖.env
文件中的配置。
使用
启动 gemini-cli-nexus 后,依然显示 gemini-cli 的 logo, 支持 gemini-cli 的所有功能和登录方式, 只是比 gemini-cli 多了 2 种登录方式。
███ █████████ ██████████ ██████ ██████ █████ ██████ █████ █████
░░░███ ███░░░░░███░░███░░░░░█░░██████ ██████ ░░███ ░░██████ ░░███ ░░███
░░░███ ███ ░░░ ░███ █ ░ ░███░█████░███ ░███ ░███░███ ░███ ░███
░░░███ ░███ ░██████ ░███░░███ ░███ ░███ ░███░░███░███ ░███
███░ ░███ █████ ░███░░█ ░███ ░░░ ░███ ░███ ░███ ░░██████ ░███
███░ ░░███ ░░███ ░███ ░ █ ░███ ░███ ░███ ░███ ░░█████ ░███
███░ ░░█████████ ██████████ █████ █████ █████ █████ ░░█████ █████
░░░ ░░░░░░░░░ ░░░░░░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░░░░
Tips for getting started:
1. Ask questions, edit files, or run commands.
2. Be specific for the best results.
3. /help for more information.
╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ │
│ Get started │
│ │
│ How would you like to authenticate for this project? │
│ │
│ ● 1. Login with Google │
│ 2. Use Gemini API Key │
│ 3. Vertex AI │
│ 4. Use OpenAI API Key │
│ 5. Use Anthropic API Key │
│ │
│ (Use Enter to select) │
│ │
│ Terms of Services and Privacy Notice for Gemini CLI │
│ │
│ https://github.com/google-gemini/gemini-cli/blob/main/docs/tos-privacy.md │
│ │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
可以看到登录方式 4 和 5 是新增的,分别对应 OpenAI 和 Anthropic 的 API Key 登录方式。 如果未设置环境变量和 .env 文件,gemini-cli-nexus 又选择了 4 和 5 作为登录方式, 会报错,提示未设置 API Key。
OPENAI_API_KEY environment variable not found. Add that to your environment and try again (no reload needed if using .env)!
登录后, 就可以和使用 gemini-cli 一样使用命令行的 AI 编程了。
退出登录
我们在使用中经常会发现某个问题, 一个模型翻来倒去就是搞不定, 这个时候就是需要切模型的时候了。
-
使用
gemini-cli-nexus
的/logout
命令来退出登录。 -
如果未登录进
gemini-cli
无法正常使用/logout
命令, 此时需要手工删除配置来退出登录, 有以下 3 种方式:
- 方法 1:删除认证配置
$ rm ~/.gemini/settings.json
-
方法 2:编辑设置文件
~/.gemini/settings.json
,删除 selectedAuthType 字段 -
方法 3:完全重置
$ rm -rf ~/.gemini/
其他使用方式与 gemini-cli 一致。
总结
这也是我用 AI 编程工具完成的第一个正式可以使用的完整项目, 项目工作量虽然不大, 但是也是体会到了 AI 可以让普通人可以做很多之前无法做到的事情。
本人不懂前端开发, 未学习过 js ts 等前端开发语言,借助 AI 编程工具就可以实现前端开发, 这也是 AI 编程工具的强大之处。
人非 AI 专业人士,使用 AI 编程工具,主要是为了提高工作效率,减少重复劳动,让 AI 做一些重复性的工作,解放自己的双手, 将之前只能停留在想法中的事情借助 AI 编程实现。
对 AI 编程有兴趣的小伙伴,可以关注个人公众号:燕十三的物联网之旅
更多推荐
所有评论(0)