跳到正文

SDK 集成总览

网关是协议导向的入口:不管你在客户端用哪个 SDK,只要能说网关支持的协议(OpenAI / Anthropic / Gemini / DashScope / Realtime / MCP / 透传),把 base_url 指到网关、API key 换成网关签发的访问密钥,就能调网关里配好的任何模型——包括跨协议调别家模型。这一组页面按「你手上已有哪个 SDK」组织,每页给可直接复制的最小示例。

通用三步

所有 SDK 都遵循同一条接线规则:

  1. base_url 指向网关(默认 http://localhost:7890)。注意各 SDK 对 base_url 是否带 /v1 的约定不同,见各页示例。
  2. API key 填网关签发的访问密钥,不是上游的 sk-...。访问密钥在控制台「访问密钥」页签发。
  3. model 填网关里配置的模型名。网关不按模型名限制调用——控制台里配什么名,客户端就填什么名。

示例里出现的模型名(gpt-5.4-miniclaude-haiku-4-5gemini-3.5-flashqwen3.8-max 等)只是「某套网关配置下的真实名字」,实际以你的控制台配置为准。

认证头对照

数据面端点按顺序尝试以下认证方式,命中即用(详见 端点 · 认证):

请求头对应 SDK备注
Authorization: Bearer <访问密钥>OpenAI、DashScope、通用Bearer 前缀大小写不敏感
x-api-key: <访问密钥>Anthropic SDK也接受 Authorization
x-goog-api-key: <访问密钥>Gemini SDK也接受 Authorization
(无以上头)匿名兜底,仅当配了 anonymous=true 的密钥时

三把头其实是同一个「网关访问密钥」的不同挂载位——你在控制台签一把,按 SDK 的习惯放到对应头即可。

SDK 选型矩阵

「我已经在用 X,怎么接到网关?」按行找:

SDK / 框架语言落点协议 / 端点语言图像视频实时向量/重排页面
OpenAI SDKPy / Nodeopenai 系(/v1/chat/completions/v1/responses…)✅¹官方厂商 SDK
Anthropic SDKPy / Nodeanthropic/v1/messages输入理解官方厂商 SDK
Google GenAI SDKPy / JSgoogle/v1beta/models/*官方厂商 SDK
DashScope SDK / HTTPPydashscope/v1/services/*✅ 异步✅¹DashScope 原生与异步任务
OpenAI 兼容第三方(DeepSeek/GLM/Kimi/Grok…)Py / Nodeopenai 兼容视供应商视供应商官方厂商 SDK
Vercel AI SDKTSopenai / anthropic(provider 层)视 provider视 provider统一 SDK 与网关层
LiteLLMPyopenai 兼容视模型统一 SDK 与网关层
LangChain / LangGraphPy / TS其底层 chat model(OpenAI/Anthropic…)视模型编排框架
LlamaIndexPy / TSOpenAILike / chat model视模型编排框架
CrewAIPy底层 LiteLLM视模型编排框架
AutoGen / AG2Pyopenai 兼容视模型编排框架
OpenAI Agents SDKPy / TSopenai_response(默认)视模型Agent SDK
Claude Agent SDKPy / TSanthropic输入理解Agent SDK
Pydantic AIPyopenai 兼容视模型Agent SDK
Realtime(WebSocket)任意 WS 客户端openai_realtime/v1/realtime实时会话与语音

¹ 实时(Realtime)经网关的 OpenAI Realtime 客户端协议(/v1/realtime)通过原生 WebSocket 接入——无需厂商 SDK;model 填实时模型在网关里的配置名(OpenAI 或 DashScope)。

跨 SDK 通用坑

不管用哪个 SDK,经网关后都要注意这几点(各页会重复提醒,这里集中列出):

  • 模型名必须与网关配置一致。客户端填的 model 是「网关里配的名字」,不是厂商官网名,也不是上游真实模型 ID。填错了直接 404 model_not_found
  • base_url 带不带 /v1 因 SDK 而异。OpenAI SDK 填到 /v1,Anthropic SDK 填到根(它自动拼 /v1/messages),Google GenAI 填到根(走 http_options.base_url)。填错会多出或丢掉一段路径。
  • 跨协议时字段会被翻译、并受目标协议约束。例如网关里某模型的 gpt-5.6-sol 若上游是 Responses 协议,客户端传的 max_tokens 会被译成 max_output_tokens,且上游可能要求下限(如 ≥16),传太小会 400。
  • 思考块 / 签名经网关封装。Claude 与 Gemini 的思考内容(thinking / thoughtSignature)会经网关透传或剥离,取文本时要按 content 数组里 type == "text" 的元素取,别假设 content[0] 一定是文本。
  • 第三方 SDK 的模型名白名单。部分框架(LlamaIndex、AutoGen 等)会校验模型名是否符合它认识的家族,遇到未知网关名会拒绝——用它的「任意模型」入口或显式声明模型信息(见各页)。

下一步