tokrouterdocs
快速开始

用 Anthropic 协议接入

用 Anthropic SDK 或 Claude Code 指向 TokRouter 的 /v1/messages 端点,可以用同一把 Key 调用任意厂商的模型。

网关原生接受 Anthropic Messages 协议(POST /v1/messages)。这意味着 Anthropic SDK 与 Claude Code 只需要改一个 base URL,不需要适配层。

Anthropic Python SDK

import os
import anthropic

client = anthropic.Anthropic(
    api_key=os.environ["TOKROUTER_API_KEY"],
    base_url="https://api.tokrouter.dev",   # SDK 会自己拼上 /v1/messages
)

msg = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "用一句话解释 SSE"}],
)
print(msg.content[0].text)

TypeScript SDK

import Anthropic from '@anthropic-ai/sdk'

const client = new Anthropic({
  apiKey: process.env.TOKROUTER_API_KEY!,
  baseURL: 'https://api.tokrouter.dev',
})

直接用 HTTP

curl https://api.tokrouter.dev/v1/messages \
  -H "x-api-key: $TOKROUTER_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-opus-5-5",
    "max_tokens": 512,
    "messages": [{"role": "user", "content": "你好"}]
  }'

两种鉴权头都接受

Anthropic 协议用 x-api-key,OpenAI 协议用 Authorization: Bearer。指向本网关时两种都可用, 按你使用的 SDK 默认值即可,不需要同时传。

用 Anthropic 协议调其他厂商的模型

model 字段决定上游厂商,与入站协议无关:

msg = client.messages.create(
    model="gpt-5.4",        # Anthropic 协议 → OpenAI 模型
    max_tokens=1024,
    messages=[{"role": "user", "content": "你好"}],
)

协议互转有边界

字段按 Anthropic Messages 语义解释后再映射到目标厂商。目标模型不支持的能力(例如某些模型没有 视觉输入或工具调用)会在网关侧报错,而不是静默降级。字段级差异见协议互转。