CRS(Claude Relay Service)不只支持 Claude Code 中转, 同样支持 Gemini CLI,让你通过统一的拼车服务使用 Google Gemini 模型。
前置条件
- 已部署并运行 CRS 服务(参考 CRS 部署教程)
- 已在 CRS 管理面板创建 API Key(权限需包含
all或gemini) - 本地已安装 Gemini CLI(
npm install -g @google/generative-ai-cli)
方式一:Gemini Assist API(推荐)
这是 CRS 推荐的方式,稳定性更好:
# 设置环境变量(写入 ~/.bashrc 或 ~/.zshrc 永久生效)
export CODE_ASSIST_ENDPOINT="http://你的服务器IP:3000/gemini"
export GOOGLE_CLOUD_ACCESS_TOKEN="CRS后台创建的API密钥"
export GOOGLE_GENAI_USE_GCA="true"
export GEMINI_MODEL="gemini-2.5-pro"
# 如果有 Gemini 3 访问权限
# export GEMINI_MODEL="gemini-3-pro-preview"
source ~/.bashrc认证方式
启动 gemini 后,认证界面只能选 Login with Google:
? How would you like to authenticate?
> Login with Google ← 选这个
Use Gemini API Key
⚠️ 常见问题:如果一启动就直接跳转 Google 登录页, 说明本地有残留配置。运行以下命令清除后重试:
bashrm ~/.gemini/settings.json gemini
启动后会提示 Failed to fetch user info: 401 Unauthorized,
这是正常现象,不影响实际使用,忽略即可。
方式二:Gemini API Key 方式
export GOOGLE_GEMINI_BASE_URL="http://你的服务器IP:3000/gemini"
export GEMINI_API_KEY="CRS后台创建的API密钥"
export GEMINI_MODEL="gemini-2.5-pro"
source ~/.bashrc认证方式
启动 gemini 后,选 Use Gemini API Key:
? How would you like to authenticate?
Login with Google
> Use Gemini API Key ← 选这个
如果提示 Enter Gemini API Key,直接留空按回车即可(Key 已通过环境变量设置)。
同样,如果打开就跳转 Google,先删除 ~/.gemini/settings.json。
两种方式对比
| 对比项 | Assist API(方式一) | Gemini API(方式二) |
|---|---|---|
| 稳定性 | ✅ 更好 | ⚠️ 一般 |
| 认证方式 | Login with Google | Use Gemini API Key |
| 启动提示 | 有 401 警告(正常) | 可能要手动处理 Key |
| 推荐程度 | ⭐⭐⭐⭐⭐ 推荐 | ⭐⭐⭐ |
启动 Gemini CLI
# 启动交互模式
gemini
# 单次查询
gemini "帮我解释这段代码"
# 在项目目录下使用
cd ~/my-project
gemini "分析这个项目的架构"模型切换
CRS 支持切换不同 Gemini 模型:
# 标准版(大多数用户)
export GEMINI_MODEL="gemini-2.5-pro"
# 如果你的 Gemini 账号有 Gemini 3 访问权限
export GEMINI_MODEL="gemini-3-pro-preview"进阶:在 Claude Code 中调用 Gemini 3
CRS 支持在 Claude Code 中直接使用 Gemini 3 模型,
具体配置参考 CRS 官方文档:
https://github.com/Wei-Shaw/claude-relay-service/blob/main/docs/claude-code-gemini3-guide/README.md
Nginx 反向代理注意事项
如果在 Nginx 前面代理 CRS 服务,需要在 nginx.conf 的 http 块中添加:
http {
underscores_in_headers on; # 必须添加!
# ... 其他配置
}不加这行,Nginx 会丢弃 session_id 等带下划线的请求头,
导致多账号粘性会话失效,影响 Gemini CLI 的正常使用。
来源:CRS GitHub 项目 - github.com/Wei-Shaw/claude-relay-service