Anthropic SDK(Python / Node)接入自定义 Base URL
HRouter 兼容 Anthropic 的 Messages 接口格式,官方的 Anthropic Python 和 Node SDK 只需要改两个参数:base_url 指向 https://hrouter.net,api_key 换成你的 HRouter Key。注意这里的地址不带 /v1,因为 SDK 会自己拼接 /v1/messages。
开始前
- 一个可用的 HRouter Key,分组包含 Claude 模型,见 如何选择 Key 分组。
- 当前 Key 的 Claude 模型 ID,见 查询可用模型。
- 把 Key 放进环境变量,不要写进代码:
export HROUTER_API_KEY="sk-xxxxx"
export HROUTER_MODEL="从 /v1/models 返回的 claude-* id 里选一个"
Python
安装:
pip install anthropic
import os
import anthropic
client = anthropic.Anthropic(
base_url="https://hrouter.net",
api_key=os.environ["HROUTER_API_KEY"],
)
message = client.messages.create(
model=os.environ["HROUTER_MODEL"],
max_tokens=1024,
messages=[{"role": "user", "content": "用一句话介绍你自己"}],
)
print(message.content[0].text)
流式输出
with client.messages.stream(
model=os.environ["HROUTER_MODEL"],
max_tokens=1024,
messages=[{"role": "user", "content": "写一首四行的短诗"}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
Node.js
安装:
npm install @anthropic-ai/sdk
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
baseURL: "https://hrouter.net",
apiKey: process.env.HROUTER_API_KEY,
});
const message = await client.messages.create({
model: process.env.HROUTER_MODEL,
max_tokens: 1024,
messages: [{ role: "user", content: "用一句话介绍你自己" }],
});
console.log(message.content[0].text);
只用环境变量,不改代码
Anthropic SDK 会读取 ANTHROPIC_BASE_URL 和 ANTHROPIC_API_KEY:
export ANTHROPIC_BASE_URL="https://hrouter.net"
export ANTHROPIC_API_KEY="sk-xxxxx"
要注意的几点
- Base URL 不带
/v1。多写会变成/v1/v1/messages,返回 404,见 404 路径错误。 max_tokens是必填项,这是 Messages 接口本身的要求。- Key 通过
x-api-key请求头发送,SDK 会自动处理。 - OpenAI、Grok 的模型请用 OpenAI 协议,见 OpenAI SDK。
常见问题
401 authentication_error?
见 API 401 报错。
404? 见 404 路径错误 与 model_not_found。
429? 见 429 限流与额度。
请求超时或流式中断? 见 503、超时与流式中断。