HRouter

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。

开始前

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、超时与流式中断。