Claude Code 接入硅基流动,一个中转搞定

1. Siliconflow 官方文档的坑

想用 Claude Code 接 Siliconflow 硅基流动的模型,以为照着 官网文档 配置就行:
69ac4755bf92a.png

结果,运行直接报 Not logged in:
69ac47b1dd1f3.png

有经验的朋友都知道,接入第三方模型是无须登录的,出现这个现象想必是踩坑了…

试着把 setting.json 中的 ANTHROPIC_API_KEY 字段名改为 ANTHROPIC_AUTH_TOKEN:
69ac48a85a21b.png

这回,直接报错。看来只是换了个坑:
69ac490a377ea.png

这是 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 配置:
69ac510e06c0a.png

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 硅基流动的模型。我觉得官方得好好刷新下指引文档。

参考链接