Claude Code 可以把 Messages 请求发到 XiuRouter。XiuRouter 有 POST /v1/messages,当前没有专用的 POST /v1/messages/count_tokens;Claude Code 官方把后者列为可选端点,缺失时会通过 Messages 回退计算。
前置条件
claude --version可以正常输出版本。- 已创建一把只给 Claude Code 使用的 XiuRouter API Key。
- 已选择 XiuRouter 当前可用的 Claude 模型 ID。
设置连接
在启动 Claude Code 的同一终端中设置:
export ANTHROPIC_BASE_URL="https://router-api.xiu.ai"
export ANTHROPIC_AUTH_TOKEN="YOUR_XIUROUTER_API_KEY"Base URL 不要加 /v1。Claude Code 会自己追加 /v1/messages。这里使用 ANTHROPIC_AUTH_TOKEN,由客户端发送 Bearer Token;XiuRouter Messages 路由接受该方式。
先验证 Messages
curl https://router-api.xiu.ai/v1/messages \
-H "x-api-key: $ANTHROPIC_AUTH_TOKEN" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "YOUR_CLAUDE_MODEL_ID",
"max_tokens": 64,
"messages": [
{
"role": "user",
"content": "请只回复:Messages 已连接"
}
]
}'收到 200 只证明 Key、模型和 Messages 路由可用,还不能证明 Claude Code 全部流程可用。
运行最小任务
claude -p "请只回复:Claude Code 已连接" \
--model YOUR_CLAUDE_MODEL_ID如果基础任务成功,再测试只读工具调用。日志中出现 count_tokens 的 404 时,不要轮换 Key 或反复充值;Claude Code 应回退到 Messages。继续确认任务是否完成,并在“使用记录”中核对由回退产生的请求和费用。
常见失败
| 现象 | 处理 |
|---|---|
| 请求发到 Anthropic 官方地址 | 从设置环境变量的同一终端启动 Claude Code |
路径变成 /v1/v1/messages |
把 ANTHROPIC_BASE_URL 改为不含 /v1 的地址 |
401 |
确认 ANTHROPIC_AUTH_TOKEN 是 XiuRouter API Key |
404 且路径含 count_tokens |
这是可选端点;确认 Claude Code 是否继续通过 Messages 完成任务 |
count_tokens 回退后任务仍停止 |
记录随后发送的 Messages 请求、响应和客户端版本,再定位真正失败字段 |
| 普通回复成功,工具任务失败 | 记录请求路径、模型和 anthropic-beta;不要扩大到生产任务 |
回滚
unset ANTHROPIC_BASE_URL
unset ANTHROPIC_AUTH_TOKEN关闭当前 Claude Code 进程后重新启动,确认它恢复原来的 provider。撤销测试 Key 前,先确认没有其他终端仍在使用。
来源与核对日期
本文按 Claude Code 官方 LLM gateway 配置、gateway protocol 和 XiuRouter 当前路由代码核对,日期为 2026-08-19。/v1/messages/count_tokens 当前没有专用路由,但官方允许回退;最终兼容判断以你的真实小任务和使用记录为准。