Anthropic /messages 兼容
POST /api/v1/messages。Anthropic Python / TS SDK 直接换base_url 即可。
客户端配置
from anthropic import Anthropic
client = Anthropic(
api_key="sk-gw-XXXXXXXXXXXXXXXXXXXXXXXXXX",
base_url="https://heiyutv.com",
)注意:base_url 不带 /api/v1——Anthropic SDK 自己会拼上/v1/messages,网关 alias 把 /v1/messages映射到 /api/v1/messages。
字节级透传
请求 body 完全保留——包括 system、messages、tools、tool_choice、cache_control 等 Anthropic-only 字段。网关不会改写。
Cache control
cache_control: {type: "ephemeral"} 完全支持。网关旁路解析 usage 时区分 cache_creation_input_tokens /cache_read_input_tokens,按 Anthropic 公布的折扣价分别计费。
跨协议保护
如果你不小心把 Anthropic 的 messages: [{role: "user", content: "..."}]发到了 /chat/completions 端点,网关会返回400 ERR_PROTOCOL_MISMATCH 而不是把它当 OpenAI 请求处理。 反之亦然。
哪些模型能走 /messages?
目录里的对话模型全部可以。两条协议入口覆盖同一份目录, 所以你可以用 Anthropic SDK 调 gpt-5.6-terra 或deepseek-v4-pro,也可以用 OpenAI SDK 调claude-opus-5——选哪条入口取决于你手上的 SDK,而不是模型。
请求体按字节透传,网关只改写顶层 model 字段(把扁平 ID 换成 上游自己的模型名),其余字段——包括本网关未建模的新字段——原样转发。