1. Siliconflow 官方文档的坑
想用 Claude Code 接 Siliconflow 硅基流动的模型,以为照着 官网文档 配置就行:
结果,运行直接报 Not logged in:
有经验的朋友都知道,接入第三方模型是无须登录的,出现这个现象想必是踩坑了…
试着把 setting.json 中的 ANTHROPIC_API_KEY 字段名改为 ANTHROPIC_AUTH_TOKEN:
这回,直接报错。看来只是换了个坑:
这是 siliconflow server 返回的报错,因为 Siliconflow 的模型需要特殊的 thinking 配置,而 Claude Code 默认发过去的请求格式不匹配。
看来官方文档也不甚靠谱。
2. 中转方案:claude-code-router
claude code 有个第三方的转发器: claude-code-router,似乎可以解决这个问题。(github 源码)
数据链路大致是:
Claude Code → claude-code-router → Siliconflow
后面的实践表明,这款 router 可以解决 siliconflow 的接入问题。
3. 较佳实践:docker 部署
能用 docker 部署的服务,我都不会再直接安装到服务器上了。正好 claude-code-router 作者在 dockerhub 上发布了镜像。
3.1. 准备工作
确保你已经具备:
- Docker 和 Docker Compose
- Siliconflow 的 API Key
- 大概 5 分钟时间
3.2. 配置文件
分别需要准备 docker compose 的配置文件,和 claude-code-router 本身的配置文件。
docker-compose.yml 示例:
version: '3.8'
services:
claude-code-router:
image: musistudio/claude-code-router:latest
ports:
- "3456:3456"
restart: unless-stopped
volumes:
- /your_config_path:/root/.claude-code-router
claude-code-router 配置文件 config.json 示例:(重要配置)
# 放置路径: /your_config_path/config.json
# 使用时请删除所有 # 注释内容
{
"PROXY_URL": "http://ip:port", # 可选,支持配置 proxy
"LOG": true,
"APIKEY":"$CCR_KEY", # claude-code 接入 claude-code-router 时配置的 ANTHROPIC_AUTH_TOKEN
"HOST":"0.0.0.0", # docker 部署中,此处必须设为 0.0.0.0
"LOG_LEVEL": "trace",
"API_TIMEOUT_MS": 600000,
"NON_INTERACTIVE_MODE": false,
"Providers": [
{
"name": "siliconflow",
"api_base_url": "https://api.siliconflow.cn/v1/chat/completions",
"api_key": "$SILICONFLOW_API_KEY",
"models": [
"Pro/MiniMaxAI/MiniMax-M2.5",
"Pro/zai-org/GLM-5",
"zai-org/GLM-4.5-Air",
"Qwen/Qwen2.5-72B-Instruct-128K",
"Qwen/Qwen3-VL-235B-A22B-Thinking"
],
"transformer": {
"use": [
[
"max_tokens",
{
"max_tokens": 16384
}
]
]
}
}
],
"Router": {
"default": "siliconflow,Pro/MiniMaxAI/MiniMax-M2.5",
"background": "siliconflow,Qwen/Qwen2.5-72B-Instruct-128K",
"think": "siliconflow,Pro/zai-org/GLM-5",
"longContext": "siliconflow,Pro/MiniMaxAI/MiniMax-M2.5",
"longContextThreshold": 60000,
"webSearch": "siliconflow,zai-org/GLM-4.5-Air",
"image": "siliconflow,Qwen/Qwen3-VL-235B-A22B-Thinking"
}
}
4. 启动服务
docker-compose up -d
通过 docker 日志确认容器启动成功:
docker logs -f claude-code-router
成功加载 config 配置:
5. 配置 Claude Code
设置环境变量:
export ANTHROPIC_BASE_URL="http://localhost:3456"
export ANTHROPIC_AUTH_TOKEN="CCR config 中配置的 CCR_KEY"
或者直接在 Claude Code 的 ~/.claude/settings.json 里改:
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "CCR config 中配置的 CCR_KEY",
"ANTHROPIC_BASE_URL": "http://localhost:3456",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "siliconflow,zai-org/GLM-4.5-Air",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "siliconflow,Pro/zai-org/GLM-5",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "siliconflow,Pro/MiniMaxAI/MiniMax-M2.5",
"ANTHROPIC_MODEL": "siliconflow,Pro/MiniMaxAI/MiniMax-M2.5",
"ANTHROPIC_REASONING_MODEL": "siliconflow,Pro/zai-org/GLM-5",
"API_TIMEOUT_MS": "3000000",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
}
}
6. 测试一下
启动 claude code,随便对话一下,返回正常就说明成功了。
7. 总结
颇费周折,终于成功在 claude code 中接入了 siliconflow 硅基流动的模型。我觉得官方得好好刷新下指引文档。