Appearance
Anthropic Messages
接口:
text
POST /v1/messages该接口用于 Anthropic Messages 兼容调用。Chat/Responses 客户端请优先使用 OpenAI-compatible 接口。
请求字段
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | Claude/Anthropic 兼容模型 ID |
messages | array | 是 | Anthropic messages |
max_tokens | number | 是 | 最大输出 token 数 |
system | string/array | 否 | 系统指令 |
temperature | number | 否 | 采样温度 |
top_p | number | 否 | 核采样参数 |
top_k | integer | 否 | Top-K 采样 |
stop_sequences | array | 否 | 停止序列 |
stream | boolean | 否 | 是否流式输出 |
tools | array | 否 | Anthropic tools |
tool_choice | object | 否 | 工具选择,如 {"type":"auto"} / {"type":"any"} / {"type":"tool","name":"..."} |
metadata | object | 否 | 请求元数据,如 {"user_id":"..."} |
thinking | object | 否 | Claude Code/Anthropic extended thinking,如 {"type":"enabled","budget_tokens":1024} |
响应字段
返回 Anthropic Messages 风格响应。流式请求返回 Anthropic SSE 事件。
Claude Code
Claude Code 可使用:
text
ANTHROPIC_BASE_URL=https://llm.xiaoyue9527.xyz
ANTHROPIC_API_KEY=sk-gtw-REPLACE_ME注意 ANTHROPIC_BASE_URL 使用网关根地址,不带 /v1。Claude Code 会自行请求 /v1/messages、/v1/models 等路径;OpenAI SDK 仍使用带 /v1 的 https://llm.xiaoyue9527.xyz/v1。ANTHROPIC_API_KEY 填控制台签发的网关 API Key,不是上游 Anthropic 官方 key。
如果客户端只支持 Bearer token,也可以继续使用:
text
ANTHROPIC_AUTH_TOKEN=sk-gtw-REPLACE_ME已支持 POST /v1/messages 和 POST /v1/messages/count_tokens。count_tokens 使用网关本地启发式估算,结果用于客户端预检,不作为最终计费口径。
Claude Code 工具调用会按 Anthropic tool_use/tool_result 协议处理。网关会兼容部分客户端产生的嵌套 arguments 文本,尽量还原为结构化 tool input,但业务侧仍建议按 Anthropic tools schema 传入对象。
边界
| 边界 | 说明 |
|---|---|
| SDK | 仅用于 Anthropic Messages 兼容客户端 |
| 模型名 | 使用 /v1/models 返回的 Anthropic/Claude 兼容模型 |
| thinking | 支持 bool 扩展和 Anthropic object;路由到 Anthropic 上游时 object 会透传,路由到 OpenAI-compatible 上游时仅作为启用思考信号 |
| 工具调用 | 使用 Anthropic tool_use/tool_result;不要和 OpenAI tool_calls 混用 |
| count_tokens | 本地估算,不请求上游;实际 token 以生成接口返回 usage 为准 |
| OpenAI 工具格式 | 请使用 Chat/Responses 接口,不要混用协议 |
示例
bash
curl https://llm.xiaoyue9527.xyz/v1/messages \
-H 'Content-Type: application/json' \
-H 'x-api-key: sk-gtw-REPLACE_ME' \
--data-raw '{
"model": "claude-sonnet-4-6",
"max_tokens": 256,
"messages": [
{"role": "user", "content": "请只回复 OK"}
]
}'