mirror of
https://github.com/Wei-Shaw/claude-relay-service.git
synced 2026-01-22 16:43:35 +00:00
feat: 增加Claude Code 调用 Gemini 3 模型说明
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,6 +1,3 @@
|
||||
# fork add
|
||||
docs/
|
||||
|
||||
# Dependencies
|
||||
node_modules/
|
||||
npm-debug.log*
|
||||
|
||||
@@ -431,7 +431,9 @@ GEMINI_API_KEY="后台创建的API密钥"
|
||||
GEMINI_MODEL="gemini-2.5-pro" # 如果你有gemini3权限可以填: gemini-3-pro-preview
|
||||
```
|
||||
|
||||
> **认证**:只能选 ```Use Gemini API Key``` 进行认证,如果提示 ```Enter Gemini API Key``` 请直接留空按回车。如果一打开就跳 Google请删除 ```~/.gemini/settings.json``` 后再尝试启动```gemini```。
|
||||
> **认证**:只能选 ```Use Gemini API Key``` 进行认证,如果提示 ```Enter Gemini API Key``` 请直接留空按回车。如果一打开就跳 Google请删除 ```~/.gemini/settings.json``` 后再尝试启动```gemini```。
|
||||
|
||||
> 💡 **进阶用法**:想在 Claude Code 中直接使用 Gemini 3 模型?请参考 [Claude Code 调用 Gemini 3 模型指南](docs/claude-code-gemini3-guide/README.md)
|
||||
|
||||
**使用 Claude Code:**
|
||||
|
||||
|
||||
240
docs/claude-code-gemini3-guide/README.md
Normal file
240
docs/claude-code-gemini3-guide/README.md
Normal file
@@ -0,0 +1,240 @@
|
||||
# Claude Code 调用 Gemini 3 模型指南
|
||||
|
||||
本文档介绍如何通过 **claude-code-router (CCR)** 在 Claude Code 中调用 Gemini 3 模型,其他模型也可以参照此教程尝试。
|
||||
|
||||
---
|
||||
|
||||
## 概述
|
||||
|
||||
通过 CCR 转换格式,你可以让 Claude Code 客户端无缝使用 Gemini 3 模型。
|
||||
|
||||
### 工作原理
|
||||
|
||||
```
|
||||
Claude Code → CCR (模型路由) → CRS (账户调度) → Gemini API
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 第一步:安装 claude-code-router
|
||||
|
||||
安装 CCR:
|
||||
|
||||
> **安装位置建议**:
|
||||
> - 如果只是本地使用,可以只安装到使用 Claude Code 的电脑上
|
||||
> - 如果需要 CRS 项目接入 CCR,建议安装在与 CRS 同一台服务器上
|
||||
|
||||
```bash
|
||||
npm install -g @musistudio/claude-code-router
|
||||
```
|
||||
|
||||
验证安装:
|
||||
|
||||
```bash
|
||||
ccr -v
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 第二步:配置 CCR
|
||||
|
||||
创建或编辑 CCR 配置文件(通常位于 `~/.claude-code-router/config.json`):
|
||||
|
||||
```json
|
||||
{
|
||||
"APIKEY": "sk-c0e7fed7b-这里随便你自定义",
|
||||
"LOG": true,
|
||||
"HOST": "127.0.0.1",
|
||||
"API_TIMEOUT_MS": 600000,
|
||||
"NON_INTERACTIVE_MODE": false,
|
||||
"Providers": [
|
||||
{
|
||||
"name": "gemini",
|
||||
"api_base_url": "http://127.0.0.1:3000/gemini/v1beta/models/",
|
||||
"api_key": "cr_xxxxxxxxxxxxxxxxxxxxx",
|
||||
"models": ["gemini-2.5-flash", "gemini-2.5-pro", "gemini-3-pro-preview"],
|
||||
"transformer": {
|
||||
"use": ["gemini"]
|
||||
}
|
||||
}
|
||||
],
|
||||
"Router": {
|
||||
"default": "gemini",
|
||||
"background": "gemini,gemini-3-pro-preview",
|
||||
"think": "gemini,gemini-3-pro-preview",
|
||||
"longContext": "gemini,gemini-3-pro-preview",
|
||||
"longContextThreshold": 60000,
|
||||
"webSearch": "gemini,gemini-2.5-flash"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 配置说明
|
||||
|
||||
| 字段 | 说明 |
|
||||
|------|------|
|
||||
| `APIKEY` | CCR 自定义的 API Key,Claude Code 将使用这个 Key 访问 CCR |
|
||||
| `api_base_url` | CRS 服务的 Gemini API 地址 |
|
||||
| `api_key` | CRS 后台创建的 API Key(cr_ 开头),用于调度 OAuth、Gemini-API 账号 |
|
||||
|
||||
---
|
||||
|
||||
## 第三步:在 CRS 中配置 Gemini 账号
|
||||
|
||||
确保你的 CRS 服务已添加 Gemini 账号:
|
||||
|
||||
1. 登录 CRS 管理界面
|
||||
2. 进入「Gemini 账户」页面
|
||||
3. 添加 Gemini OAuth 账号或 API Key 账号
|
||||
4. 确保账号状态为「活跃」
|
||||
|
||||
---
|
||||
|
||||
## 第四步:启动 CCR 服务
|
||||
|
||||
保存配置后,启动 CCR 服务:
|
||||
|
||||
```bash
|
||||
ccr start
|
||||
```
|
||||
|
||||
查看服务状态:
|
||||
|
||||
```bash
|
||||
ccr status
|
||||
```
|
||||
|
||||
输出示例:
|
||||
|
||||
```
|
||||
API Endpoint: http://127.0.0.1:3456
|
||||
```
|
||||
|
||||
**重要**:每次修改配置后,需要重启 CCR 服务才能生效:
|
||||
|
||||
```bash
|
||||
ccr restart
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 第五步:配置 Claude Code
|
||||
|
||||
现在需要让 Claude Code 连接到 CCR 服务。有两种方式:
|
||||
|
||||
### 方式一:本地直接使用
|
||||
|
||||
设置环境变量让 Claude Code 直接连接 CCR:
|
||||
|
||||
```bash
|
||||
export ANTHROPIC_BASE_URL="http://127.0.0.1:3456/"
|
||||
export ANTHROPIC_AUTH_TOKEN="sk-c0e7fed7b-你的自定义Key"
|
||||
```
|
||||
|
||||
然后启动 Claude Code:
|
||||
|
||||
```bash
|
||||
claude
|
||||
```
|
||||
|
||||
### 方式二:通过 CRS 统一管理(推荐)
|
||||
|
||||
如果你希望通过 CRS 统一管理所有用户的访问,可以在 CRS 中添加 Claude Console 类型账号来代理 CCR。
|
||||
|
||||
#### 1. 在 CRS 添加 Claude Console 账号
|
||||
|
||||
登录 CRS 管理界面,添加一个 **Claude Console** 类型的账号:
|
||||
|
||||
| 字段 | 值 |
|
||||
|------|-----|
|
||||
| 账户名称 | CCR-Gemini3(或自定义名称)|
|
||||
| 账户类型 | Claude Console |
|
||||
| API 地址 | `http://127.0.0.1:3456`(CCR 服务地址)|
|
||||
| API Key | `sk-c0e7fed7b-你的自定义Key`(CCR 配置中的 APIKEY)|
|
||||
|
||||
> **注意**:如果 CCR 运行在其他服务器上,请将 `127.0.0.1` 替换为实际的服务器地址,配置文件中需要修改HOST参数为```0.0.0.0```。
|
||||
|
||||
#### 2. 配置模型映射
|
||||
|
||||
在 CRS 中配置模型映射,将 Claude 模型名映射到 Gemini 模型:
|
||||
|
||||
| Claude 模型 | 映射到 Gemini 模型 |
|
||||
|-------------|-------------------|
|
||||
| `claude-opus-4-1-20250805` | `gemini-3-pro-preview` |
|
||||
| `claude-sonnet-4-5-20250929` | `gemini-3-pro-preview` |
|
||||
| `claude-haiku-4-5-20251001` | `gemini-2.5-flash` |
|
||||
|
||||
**配置界面示例:**
|
||||
|
||||

|
||||
|
||||
> **说明**:
|
||||
> - Opus 和 Sonnet 映射到性能更强的 `gemini-3-pro-preview`
|
||||
> - Haiku 映射到响应更快的 `gemini-2.5-flash`
|
||||
|
||||
#### 3. 用户使用方式
|
||||
|
||||
用户现在可以通过 CRS 统一入口使用 Claude Code:
|
||||
|
||||
```bash
|
||||
export ANTHROPIC_BASE_URL="http://你的CRS服务器:3000/api/"
|
||||
export ANTHROPIC_AUTH_TOKEN="cr_用户的APIKey"
|
||||
```
|
||||
|
||||
Claude Code 会自动将请求路由到 CCR,再由 CCR 转发到 Gemini API。
|
||||
|
||||
---
|
||||
|
||||
## 常见问题
|
||||
|
||||
### Q: CCR 配置修改后没有生效?
|
||||
|
||||
A: 配置修改后必须重启 CCR 服务:
|
||||
|
||||
```bash
|
||||
ccr restart
|
||||
```
|
||||
|
||||
### Q: 连接超时怎么办?
|
||||
|
||||
A: 检查以下几点:
|
||||
1. CRS 服务是否正常运行
|
||||
2. CCR 配置中的 `api_base_url` 是否正确
|
||||
3. 防火墙是否允许相应端口
|
||||
4. 尝试增加 `API_TIMEOUT_MS` 的值
|
||||
|
||||
### Q: 模型映射不生效?
|
||||
|
||||
A: 确保:
|
||||
1. CRS 中已正确配置 Claude Console 账号
|
||||
2. 模型映射配置已保存
|
||||
3. 重启 CRS 服务使配置生效
|
||||
|
||||
### Q: 如何测试连接?
|
||||
|
||||
A: 使用 curl 测试 CCR 服务:
|
||||
|
||||
```bash
|
||||
curl -X POST http://127.0.0.1:3456/api/v1/messages \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "x-api-key: sk-c0e7fed7b-你的自定义Key" \
|
||||
-d '{
|
||||
"model": "claude-sonnet-4-5-20250929",
|
||||
"max_tokens": 100,
|
||||
"messages": [{"role": "user", "content": "Hello"}]
|
||||
}'
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 最佳实践
|
||||
|
||||
1. **生产环境**:将 CCR 部署在与 CRS 相同的服务器上,减少网络延迟
|
||||
2. **API Key 管理**:为每个用户创建独立的 CRS API Key,便于使用统计
|
||||
3. **超时配置**:对于长时间运行的任务,适当增加 `API_TIMEOUT_MS`
|
||||
|
||||
---
|
||||
|
||||
## 相关资源
|
||||
|
||||
- [CCR 官方文档](https://github.com/musistudio/claude-code-router)
|
||||
BIN
docs/claude-code-gemini3-guide/model-mapping.png
Normal file
BIN
docs/claude-code-gemini3-guide/model-mapping.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 90 KiB |
Reference in New Issue
Block a user