跳到正文

协议转换

任何模型都可用于任何端点,并说明哪些内容会原样转发,以及转换无法承载的少数内容。

每个端点都可以调用任何模型。通过 /v1/responses 请求 Claude 模型, 或通过 /v1/messages 请求 GPT 模型,都是受支持的请求。

因此,只支持一种协议的客户端也能使用采用另一种协议的供应商模型, 而无需运行第二个网关。

端点 协议 常用客户端
/v1/chat/completions OpenAI Chat Completions OpenAI SDK、OpenClaw、Hermes、大多数编辑器
/v1/messages Anthropic Messages Anthropic SDK、Claude Code
/v1/responses OpenAI Responses Codex、较新的 OpenAI SDK

凭据可以通过 Authorization: Bearerx-api-keyapi-key 提交, 因为不同客户端采用的发送方式并不一致。

无需转换时

如果你的端点与模型供应商已经使用相同的协议,请求正文会直接转发, 而不会重新构建。只有模型 ID 会被改写。

缓存断点、推理签名以及 Webway 从未见过的字段都会原样送达供应商; 即使某项供应商功能在本页成文后才发布,也能在发布当天正常使用。

转换无法承载的内容

在上述直通路径以外,少数内容在目标协议中无处可放:

  • 缓存断点会在目标为聊天补全时被丢弃,因为聊天补全没有 cache_control。相关供应商会隐式缓存,因此损失的是控制能力, 而不是金钱。
  • 推理签名是供应商用来证明思考块未经修改便返回的凭证。它们仅适用于 签发它们的供应商,无法带入另一家供应商的协议,因此会被丢弃,而不是 伪造。
  • previous_response_id 会被拒绝并返回 400。Webway 不存储 对话状态;请发送完整的 input 数组。忽略该字段会在不作提示的情况下 丢失你的历史记录。

工具、工具结果、图像、系统提示词、停止原因、流式传输顺序和 token 计数 在双向转换中都会完整保留。

Token 计数

所有模型都支持 /v1/messages/count_tokens,包括供应商本身不提供该功能的 模型,因此 Claude Code 的上下文计量器在所有模型上都能工作。对于这些模型, 计数为估算值。

缓存输入按缓存费率计费,写入缓存按写入费率计费。在用量进入你的账单前, 系统会对其进行归一化:Anthropic 从 input_tokens 中排除缓存 token, 而 OpenAI 将其计入 prompt_tokensGET /v1/models 会分别公布各项费率。