轻量级 Claude 代理 - 无需重启即可切换供应商
轻量级 Claude API 反向代理工具,通过 Web 切换管理多个供应商,支持模型发现、快速复制、热重载配置。
适用场景:在多个公益站/转发站之间快速切换,无需重启 Claude Code。
copy config.in.json config.json
打开 config.json,填入你的供应商信息(详见下方配置说明)。
python ccproxy.py --config config.json
修改 Claude Code 配置文件,指向本地代理(详见下方 Claude Code 配置)。
浏览器访问 http://127.0.0.1:3456,使用 APIKEY 作为密码登录。
Refresh 按钮,确保能���常获取上游模型。
{
"HOST": "0.0.0.0",
"PORT": 3456,
"APIKEY": "sk-your-local-ui-key",
"Providers": [
{
"name": "example-provider1",
"api_base_url": "https://api.example.com/v1/messages",
"api_key": "sk-provider-key-1",
"models": [
"claude-sonnet-4-5-20250929",
"claude-opus-4-5-20251101"
],
"comment": "可选的备注信息"
}
]
}
| 配置项 | 说明 |
|---|---|
HOST |
代理服务器监听地址(通常使用 0.0.0.0 或 127.0.0.1) |
PORT |
代理服务器端口(默认 3456) |
APIKEY |
本地认证密钥 - 用于 Claude Code 连接和 Web UI 登录 |
Providers |
上游供应商列表,可配置多个 |
| 字段 | 说明 |
|---|---|
name |
供应商名称(自定义,用于识别) |
api_base_url |
上游 API 地址(通常以 /v1/messages 结尾) |
api_key |
上游 API 密钥 |
models |
可用模型列表(可通过 Web UI 自动刷新) |
comment |
可选备注(用于记录供应商信息) |
ANTHROPIC_AUTH_TOKEN)Claude Code 的配置文件通常位于:
%USERPROFILE%\.claude\config.json~/.claude/config.json{
"env": {
"ANTHROPIC_AUTH_TOKEN": "sk-your-local-ui-key",
"ANTHROPIC_BASE_URL": "http://127.0.0.1:3456"
}
}
ANTHROPIC_AUTH_TOKEN 必须与 config.json 中的 APIKEY 一致,ANTHROPIC_BASE_URL 指向本地代理地址(HOST:PORT)。修改配置后需要重启 Claude Code。
浏览器访问 http://127.0.0.1:3456,使用 APIKEY 作为密码登录(用户名任意)。
Refresh 按钮,从上游 /v1/models 获取最新模型列表Copy 按钮复制 /model xxx 命令,粘贴到 Claude Code 即可切换Reload Config 按钮重新加载配置,无需重启代理某些上游 API 需要特殊的请求头或请求体格式。在 Web UI 的 HTTP Overrides (Selected Provider) 面板中可以动态配置当前选中供应商的 HTTP 覆写规则:
| 配置项 | 说明 | 默认值 |
|---|---|---|
Token Placement |
Token ���递方式:Auto (Passthrough) / Query / Header / Both |
Auto |
Query Key |
Query 参数名(如 ?token=xxx 中的 "token") |
token |
Header Key |
HTTP Header 名称 | Authorization |
Header Value |
Header 值格式({token} 会被替换为实际密钥) |
Bearer {token} |
beta=true)提供快捷按钮快速配置常见格式:?token={token}、Authorization: Bearer {token}、Authorization: {token}、x-api-key: {token}。修改后点击 Apply 按钮应用,配置会保存到 proxy_state.json。
使用提供的 run.sh 脚本管理后台运行:
./run.sh start # 启动
./run.sh stop # 停止
./run.sh restart # 重启
./run.sh status # 查看状态
日志文件:ccproxy.log | PID 文件:ccproxy.pid
代理会将当前选择的 Provider 和认证覆盖规则保存到 proxy_state.json。删除此文件会重置为第一个 Provider。
A: 请检查:
ANTHROPIC_AUTH_TOKEN 是否与 APIKEY 一致ANTHROPIC_BASE_URL 地址是否正确(注意 HOST 和 PORT)A: 请确认:
config.json 中的 APIKEYA: 可能原因:
/v1/models 端点A: 这是正常的。切换 Provider 只影响后续的新请求。当前正在进行的对话会继续使用之前的 Provider。建议开启新对话测试。
A: 支持所有兼容 Claude API 格式的端点,包括:
注意:本项目不提供模型转换功能(如 OpenAI → Claude),仅支持原生 Claude 格式。
A: 编辑 config.json,在 Providers 数组中添加新条目,然后在 Web UI 点击 Reload Config 按钮即可。
A: config.json 格式兼容 ccr 和 ccproxy,可通用。本项目不包含模型转换功能。