Claude 接入

使用 Anthropic Messages API 原生格式接入 Claude 模型。

适合已有 Anthropic Messages API 代码、不想改写成 OpenAI 风格的场景。

新项目建议优先走 OpenAI Compatible 快速入门,成本更低。

基础规则

项目值
Base URLhttps://ergouzi.life
EndpointPOST /v1/messages
鉴权头x-api-key: <API_KEY>
版本头anthropic-version: 2023-06-01

和 OpenAI 不同,这里用 x-api-key 而不是 Authorization: Bearer。

curl 示例

curl --request POST \
  --url https://ergouzi.life/v1/messages \
  --header "content-type: application/json" \
  --header "x-api-key: $DOGZEE_API_KEY" \
  --header "anthropic-version: 2023-06-01" \
  --data '{
    "model": "claude-sonnet-4-20250514",
    "max_tokens": 1024,
    "messages": [
      { "role": "user", "content": "Hello, Claude" }
    ]
  }'

SDK 接入

Node.js

npm install @anthropic-ai/sdk
import Anthropic from "@anthropic-ai/sdk";

const anthropic = new Anthropic({
  apiKey: process.env.ANTHROPIC_API_KEY,
  baseURL: "https://ergouzi.life",
});

const message = await anthropic.messages.create({
  model: "claude-sonnet-4-20250514",
  max_tokens: 1000,
  messages: [
    {
      role: "user",
      content: [{ type: "text", text: "请简要说明你接入的是哪个网关。" }],
    },
  ],
});

console.log(message.content);

Python

pip install anthropic
import anthropic
import os

client = anthropic.Anthropic(
    api_key=os.environ["ANTHROPIC_API_KEY"],
    base_url="https://ergouzi.life",
)

message = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1000,
    messages=[
        {
            "role": "user",
            "content": [{"type": "text", "text": "请简要说明你接入的是哪个网关。"}]
        }
    ],
)

print(message.content)

排错

  • 用了 Bearer 头 → 这条线用 x-api-key
  • 忘了 anthropic-version → 原生路线必须带版本头
  • 和 OpenAI 格式混写 → 走 Claude 原生就用 Claude 字段
  • 格式对但失败 → 检查分组是否支持该 Claude 模型