今天折腾 Claude Code Router,想接入 Gemini Balance 的 API。以为很简单,结果卡在了一个特别细节的地方。
问题是这样的
我按照文档配置,怎么都连不上。一开始以为是 API key 的问题,检查了好几遍都没问题。然后开始怀疑网络,用 curl 测试发现 API 是通的。
最后发现问题出在 URL 上。
官方的 Gemini API 地址是:
https://generativelanguage.googleapis.com/v1beta/models/
注意最后有个斜杠。
但是 Gemini Balance 给的地址是:
https://url/gemini/v1beta/models/models
没有斜杠,而且多了个 models。
解决过程
我最后的 Balance 的配置C:\Users\xxx\.claude-code-router\config.json
:
{"APIKEY": "","LOG": true,"API_TIMEOUT_MS": 600000,"NON_INTERACTIVE_MODE": false,"Providers": [{"name": "gemini","api_base_url": "https://url/gemini/v1beta/models/models","api_key": "your-api-key","models": ["gemini-2.5-pro"] , "transformer": {"use": ["gemini"]} }],"Router": {"default": "gemini,gemini-2.5-pro","background": "gemini,gemini-2.5-pro","think": "gemini,gemini-2.5-pro","longContext": "gemini,gemini-2.5-pro","longContextThreshold": 60000,"webSearch": "gemini,gemini-2.5-pro"}}
配置路由,让所有请求都走这个:
"Router": {"default": "gemini,gemini-2.5-pro","background": "gemini,gemini-2.5-pro","think": "gemini,gemini-2.5-pro","longContext": "gemini,gemini-2.5-pro","longContextThreshold": 60000,"webSearch": "gemini,gemini-2.5-pro"
}
改完配置记得重启:
ccr restart
然后启动:
ccr code
居然就成功了。
为什么这样配置能work
不同的服务商虽然都说自己兼容 OpenAI API,但实际上总有些小差别。URL 路径、请求格式、响应格式都可能不一样。
其他配置
顺便说说其他几个有用的配置:
{"LOG": true,"API_TIMEOUT_MS": 600000,"NON_INTERACTIVE_MODE": false
}
LOG: true
可以看到详细的请求日志,调试的时候很有用。
API_TIMEOUT_MS
设置超时时间,Gemini 有时候响应比较慢,设长一点比较安全。
总结
- 不同服务商的 API,哪怕声称兼容,细节上总会有差异
- Claude Code Router 的 transformer 机制确实解决了这个问题
- 遇到问题先开 LOG,能省很多时间
现在 Claude Code 可以正常用 Gemini Balance API 了,写代码的体验还不错。有了这个配置经验,以后接入其他服务商应该会更顺利一些。
关注 【松哥AI自动化】 公众号,每周获取深度技术解析,从源码角度彻底理解各种工具的实现原理。更重要的是,遇到技术难题时,直接联系我!我会根据你的具体情况,提供最适合的解决方案和技术指导。
上期回顾:(跨平台自动化框架的OCR点击操作实现详解与思考)