更新于 2026-04-14

Anthropic API Proxy: 零修改接入 Claude

大多数「LLM 网关」只做 OpenAI 兼容的 /v1/chat/completions。ModelServer 多做了一层 — 完整实现 Anthropic 原生 /v1/messages,让 Anthropic 官方 SDK / Claude Code 只改 base URL 就能接入,不用写适配层。

为什么需要原生 Anthropic API

Anthropic 的 SDK 和 Claude Code 都直接走 POST /v1/messages,请求体 schema 与 OpenAI 的 /v1/chat/completions 完全不同。几个具体差异:

  • 消息结构:Anthropic 的 system 是顶层字段,不是 message 数组里的一条
  • Tool use:tool_use / tool_result 是 content block,不是 function call
  • Prompt caching:cache_control 是 Anthropic 私有字段,OpenAI schema 里放不下
  • Streaming event:Anthropic 用 message_start / content_block_delta 等 event 类型,不是 OpenAI 的 delta

纯 OpenAI-compatible 网关调 Claude 时会做一层「OpenAI → Anthropic」转译,高级功能就会丢。原生代理直接透传,零损耗。

端点

ModelServer Anthropic Messages API
POST https://modelserver.dev/v1/messages
Headers:
  anthropic-version: 2023-06-01
  x-api-key: sk-你的key   # 或 Authorization: Bearer sk-...
  content-type: application/json

请求体 schema 与 Anthropic 官方完全一致。

Python SDK 接入

Anthropic Python SDK
from anthropic import Anthropic

client = Anthropic(
    base_url="https://modelserver.dev",
    api_key="sk-你的key",
)

msg = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "你好"}],
)
print(msg.content[0].text)

Node SDK 接入

Anthropic Node SDK
import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({
  baseURL: "https://modelserver.dev",
  apiKey: "sk-你的key",
});

const msg = await client.messages.create({
  model: "claude-sonnet-4-6",
  max_tokens: 1024,
  messages: [{ role: "user", content: "你好" }],
});
console.log(msg.content[0].text);

原生 curl

curl
curl https://modelserver.dev/v1/messages \
  -H "x-api-key: sk-你的key" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-4-6",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "你好"}]
  }'

高级功能

Streaming

透传 Anthropic 的 SSE 事件,stream: true 即可。message_startcontent_block_startcontent_block_deltamessage_deltamessage_stop 五种事件按官方文档处理。

Tool use

完整支持 tools 参数、tool_usetool_result content block。Claude Code 的全部工具调用都走这条链路。

Prompt caching

透传 cache_control: { type: "ephemeral" }。系统提示 + 大上下文缓存可省 90% 输入成本,计费按 Anthropic 缓存读取费率。

同时支持 OpenAI 形
ModelServer 在同一台服务器上同时暴露 /v1/messages(Anthropic)和 /v1/chat/completions(OpenAI),一把 key 用哪个端点都行。混用也 OK。

创建 API Key

5 分钟注册并获取 key,Anthropic SDK 只改 base URL 即可用。

立即登录
Anthropic API Proxy: 零修改接入 Claude | ModelServer