支持的供应商、模型与 SDK
网关是协议导向的:没有内置的供应商或模型白名单——只要上游说网关支持的协议就能接入,控制台里配什么模型名、客户端就能调什么。本页把三个「支持什么」一次列清:供应商、模型、SDK。
支持的模型供应商
按协议接入(静态 API key / 凭证)
| 供应商 | 说明 | 上游协议 |
|---|---|---|
| OpenAI | GPT / o 系、GPT-Image、embedding、audio、realtime 全家族 | openai / openai_response / openai_images / openai_embeddings / openai_audio / openai_realtime |
| OpenAI 兼容供应商 | Azure OpenAI、DeepSeek、Moonshot Kimi、智谱 GLM、xAI Grok、MiniMax、字节豆包、Groq、Together、Mistral、OpenRouter、Cerebras,以及 vLLM / Ollama 等自托管 OpenAI 兼容服务 | openai 系 |
| Anthropic | Claude 官方 API | anthropic |
| Gemini(AI Studio / Vertex AI 的 Gemini API) | google | |
| AWS Bedrock | Bedrock 托管的 Claude / Llama / Nova / Mistral 等模型 | aws_converse / aws_invoke |
| Kiro(CodeWhisperer / Q Developer 家族) | AWS 的 AI IDE 通道,走 SSO 凭证登录(见下表) | aws_codewhisperer_streaming |
| 阿里云百炼 DashScope | Qwen 语言 / 多模态、wan 图像、视频生成、向量、重排、ASR、realtime | dashscope / dashscope_realtime |
| Rerank 供应商 | Jina / Cohere / vLLM 的 rerank 端点 | openai_rerank |
| 任意 HTTP 上游 | 不做协议翻译、原样转发 | passthrough |
不在表里的供应商:只要它提供上述任一协议的兼容端点,就能按对应协议接入,接入方法与表内供应商完全相同。
SSO 凭证登录(OAuth / 机器身份,免静态 API key)
部分上游不接受静态 API key,要用 OAuth 登录拿刷新凭证。网关内置 login 子命令与凭证托管,登录即自动建上游:
| 供应商 | 登录方式 | 状态 |
|---|---|---|
| Kiro | 门户 OAuth(Builder ID / Google / GitHub / IAM Identity Center) | 实验性(当前唯一 enabled=true) |
| Google Service Account | 服务账号 JWT(机器身份) | 已注册、未启用 |
| 阿里云百炼 Aliyun Bailian | client_credentials(机器身份) | 已注册、未启用 |
| Qoder / Qoder(中国站) | 手动粘贴 PAT / OAuth token | 已注册、未启用 |
| Z.ai / 智谱 BigModel | OAuth + 手动粘贴 | 已注册、未启用 |
| Anthropic (WIF) / OpenAI (WIF) | 工作负载身份联邦(token exchange) | 已注册、未启用 |
操作步骤见 上游 SSO 凭证登录。状态以 sso.toml 目录为准:Kiro 是当前唯一 enabled=true 的厂商(且本身 experimental=true,登录端点行为可能变化,失败时可用控制台手动粘贴兜底);其余八个已在目录注册 profile,但 enabled 门(默认 false,fail-closed)未打开——控制台不显示、凭证导入被拒绝,需等其 flow 适配并打开开关后才可登录。
支持的模型列表
先说机制:网关不按模型名限制调用。模型名由管理员在控制台定义,客户端填网关里配的名字即可。网关另内置一套按通配模式识别的模型元数据(tokenizer、上下文/输出上限、参考价),主流家族的新型号一发布就自动落入家族规则;下表外的模型同样能接,只是能力按默认值处理、定价可手动补(见 定价与计费)。
语言类(对话 / 推理 / 代码)
| 供应商 | 代表模型(最新在前) | 接入协议 |
|---|---|---|
| OpenAI | GPT-5.6 Sol / Terra / Luna、GPT-5.5 系、GPT-5.4 系、o 系推理、GPT-5.3 Codex | openai / openai_response |
| Anthropic | Claude Opus 5、Claude Sonnet 5、Claude Haiku 4.5、Fable 5 | anthropic |
| Gemini 3.1 Pro、Gemini 3.5 Flash、Gemini 2.5 Pro / Flash | google | |
| 阿里云百炼 | Qwen3.8-Max、Qwen3.7-Max、Qwen3.7 / 3.6 / 3.5-Plus、Qwen3-Coder、QwQ | dashscope |
| DeepSeek | DeepSeek V4-Pro、V4-Flash、R1 | openai 兼容 |
| 智谱 | GLM-5.2、GLM-5.1、GLM-5 | openai 兼容 |
| Moonshot | Kimi K3、K2.7、K2.6 | openai 兼容 |
| xAI | Grok 4.5 | openai 兼容 |
| MiniMax | MiniMax M3 | openai 兼容 |
| 字节豆包 | Doubao Seed 2.1 Pro / Turbo | openai 兼容 |
| AWS Bedrock | Bedrock 托管模型(如 anthropic.claude-opus-5*) | aws_converse / aws_invoke |
| Gemma | Gemma 4(Cerebras 托管) | openai 兼容 |
图片类(生成 / 编辑)
| 供应商 | 代表模型 | 接入协议 |
|---|---|---|
| OpenAI | GPT-Image-2(/v1/images/generations、/v1/images/edits) | openai_images |
gemini-3.1-flash-image 系(generateContent 内联图像输出,与 openai_images 互译) | google | |
| 阿里云百炼 | wan2.6-image、wanx 系 | dashscope |
视频类(生成)
| 供应商 | 代表模型 | 接入方式 |
|---|---|---|
| 阿里云百炼 | wanx2.1-t2v、happyhorse-1.0 / 1.1(t2v / i2v / r2v) | dashscope 异步任务(direct_path + async_mode,见 DashScope 快速部署) |
| 火山引擎 | Doubao Seedance 2.x | openai 兼容 / passthrough |
| Gemini Omni 系(preview,视频输出) | google |
实时类(Realtime 语音会话)
| 供应商 | 代表模型 | 上游协议 |
|---|---|---|
| OpenAI | gpt-realtime 系 | openai_realtime |
| 阿里云百炼 | Qwen3.5-Omni-Plus Realtime | dashscope_realtime |
两个实时上游共用同一个客户端入口 GET /v1/realtime(OpenAI Realtime 客户端协议),详见 Realtime 实时会话。
其他能力(向量 / 重排 / 语音)
| 能力 | 代表模型 | 接入协议 |
|---|---|---|
| 向量 | text-embedding-3 系、text-embedding-v4、BGE-M3 | openai_embeddings / dashscope |
| 重排 | gte-rerank、Qwen3-VL-Rerank、BGE Reranker v2-m3、Jina / Cohere 兼容端点 | openai_rerank / dashscope |
| 语音 | whisper 系、fun-asr、paraformer(ASR);TTS | openai_audio / dashscope |
支持的 SDK 与接入示例
通用规则(所有 SDK 都一样):
base_url指向网关(默认http://localhost:7890);- API key 填网关签发的访问密钥(不是上游的
sk-...); model填网关里配置的模型名——下面的示例填的是各厂商当前最新模型,实际以你的配置为准。
能力覆盖一览:
| SDK | 语言 | 图片 | 视频 | 实时 |
|---|---|---|---|---|
| OpenAI SDK | ✅ | ✅ | — | ✅(WebSocket) |
| Anthropic SDK | ✅ | —(仅图像输入理解) | — | — |
| Google GenAI SDK | ✅ | ✅ | — | — |
| DashScope SDK / HTTP | ✅ | ✅ | ✅(异步任务) | ✅¹ |
| boto3(Bedrock) | 无客户端端点² | — | — | — |
¹ DashScope 的实时模型经网关的 OpenAI Realtime 客户端协议接入(见下方实时示例,
model填 Qwen3.5-Omni-Plus Realtime 在网关里的配置名)。 ² Bedrock 是上游侧协议:客户端用 OpenAI / Anthropic / Gemini SDK 经协议互译访问 Bedrock 模型,见 端点 · 关于 AWS Bedrock 与透传。
OpenAI SDK(Python / Node)——语言、图片、实时
pip install openai websockets语言(最新旗舰 GPT-5.6 Sol):
from openai import OpenAI
client = OpenAI(base_url="http://localhost:7890/v1", api_key="<你的访问密钥>")
resp = client.chat.completions.create(
model="gpt-5.6-sol",
messages=[{"role": "user", "content": "用一句话介绍你自己"}],
)
print(resp.choices[0].message.content)图片(最新 GPT-Image-2):
img = client.images.generate(
model="gpt-image-2",
prompt="一只在代码海洋里游泳的猫,赛博朋克风",
size="1024x1024",
)
print(img.data[0].url)实时(最新 gpt-realtime,WebSocket 会话):
import asyncio, json, websockets
async def main():
async with websockets.connect(
"ws://localhost:7890/v1/realtime?model=gpt-realtime",
additional_headers={
"Authorization": "Bearer <你的访问密钥>",
"OpenAI-Beta": "realtime=v1",
},
) as ws:
await ws.send(json.dumps({
"type": "response.create",
"response": {"modalities": ["text"],
"instructions": "用中文说一句问候"},
}))
async for raw in ws:
ev = json.loads(raw)
if ev["type"] == "response.output_text.delta":
print(ev["delta"], end="")
elif ev["type"] == "response.done":
break
asyncio.run(main())音频模态(语音对话)在同一条连接上开
modalities: ["audio"]并推送 base64 PCM 帧即可,OpenAI Realtime 输入 / 输出采样率均为 24 kHz。向量 / 语音 / 重排同理走client.embeddings/client.audio/ POST/v1/rerank。
Anthropic SDK——语言
pip install anthropicimport anthropic
# base_url 填到根(SDK 自动拼 /v1/messages)
client = anthropic.Anthropic(base_url="http://localhost:7890", api_key="<你的访问密钥>")
msg = client.messages.create(
model="claude-opus-5",
max_tokens=1024,
messages=[{"role": "user", "content": "用一句话介绍你自己"}],
)
print(msg.content[0].text)Anthropic 协议是语言类协议(支持图像输入理解,无图像/视频生成与实时会话端点)。经协议互译,这个 SDK 也能调非 Claude 模型——
model填网关里配的任意模型名即可,见 协议互通矩阵。
Google GenAI SDK——语言、图片
pip install google-genai语言(最新 Gemini 3.1 Pro):
from google import genai
client = genai.Client(
api_key="<你的访问密钥>",
http_options={"base_url": "http://localhost:7890"},
)
resp = client.models.generate_content(
model="gemini-3.1-pro",
contents="用一句话介绍你自己",
)
print(resp.text)图片(最新 gemini-3.1-flash-image):
from google.genai import types
resp = client.models.generate_content(
model="gemini-3.1-flash-image",
contents="画一只在代码海洋里游泳的猫,赛博朋克风",
config=types.GenerateContentConfig(response_modalities=["IMAGE", "TEXT"]),
)
for part in resp.candidates[0].content.parts:
if part.inline_data:
with open("cat.png", "wb") as f:
f.write(part.inline_data.data)DashScope SDK / HTTP——语言、图片、视频、实时
DashScope 走网关的透传入口 /v1/services/{*rest},SDK 只需改 base_http_api_url:
pip install dashscope requestsimport dashscope
dashscope.base_http_api_url = "http://localhost:7890/v1"
dashscope.api_key = "<你的访问密钥>"语言(最新 Qwen3.8-Max):
from dashscope import Generation
resp = Generation.call(
model="qwen3.8-max",
messages=[{"role": "user", "content": "用一句话介绍你自己"}],
)
print(resp.output.choices[0].message.content)图片(最新 wan2.6-image,message-based 同步接口):
from dashscope.aigc.image_generation import ImageGeneration
resp = ImageGeneration.call(
model="wan2.6-image",
messages=[{"role": "user", "content": [{"text": "一只在代码海洋里游泳的猫,赛博朋克风"}]}],
)
# 同步接口一次性返回结果,图片在 message.content 里(非旧 prompt API 的 results[0].url)
print(resp.output.choices[0].message.content)视频(最新 wanx2.1-t2v,异步任务):视频生成是「提交任务 → 轮询取结果」两段式。SDK 的 fetch 轮询路径与网关的任务查询路径(/v1/services/{model}/tasks/{task_id})不同,这里用 HTTP 直调演示完整流程:
import time, requests
BASE = "http://localhost:7890/v1/services"
H = {"Authorization": "Bearer <你的访问密钥>", "Content-Type": "application/json"}
# 1) 提交异步视频任务(模型需按 direct_path + async_mode 配置,见 DashScope 快速部署)
r = requests.post(f"{BASE}/aigc/video-generation/video-synthesis", headers=H, json={
"model": "wanx2.1-t2v",
"input": {"prompt": "一只在代码海洋里游泳的猫,赛博朋克风"},
"parameters": {"size": "1280*720"},
})
task_id = r.json()["output"]["task_id"]
# 2) 轮询任务状态,成功后取视频 URL
while True:
s = requests.get(f"{BASE}/wanx2.1-t2v/tasks/{task_id}", headers=H).json()
status = s["output"]["task_status"]
if status == "SUCCEEDED":
print(s["output"]["video_url"])
break
if status in ("FAILED", "CANCELED"):
raise RuntimeError(s)
time.sleep(5)实时(最新 Qwen3.5-Omni-Plus Realtime):复用上方 OpenAI SDK 的实时示例,把 URL 里的模型名换成它在网关里的配置名:
ws://localhost:7890/v1/realtime?model=qwen3.5-omni-plus-realtime客户端侧始终说 OpenAI Realtime 协议;上游是
dashscope_realtime时网关桥接到 DashScope 实时会话,见 Realtime 实时会话。注意 DashScope 实时采样率非对称:输入 16 kHz、输出 24 kHz(OpenAI 输入 / 输出均为 24 kHz),播放时别用输入率解输出流(否则 1.5× 慢放、音调偏低)——这是厂商侧约定,网关桥接按帧透传、不做重采样。
常见问题
Q:我的模型 / 供应商不在上面的表里,能用吗? 能。网关按协议接入,不按名单限制:供应商提供兼容端点即可接入;模型名由你在控制台自由定义。表外模型走默认元数据,定价可手动配置。
Q:厂商发了更新一代的模型,要升级网关才能用吗? 不用。在控制台把新型号配成模型即可调用;内置元数据按家族通配模式(如 gpt-5*、claude*)识别,新型号自动继承家族的 tokenizer 与上下文规则,精确价格可手动补或随镜像更新。
Q:一个 SDK 能调别家厂商的模型吗? 能,这正是协议互译:OpenAI SDK 可以调 Claude / Gemini / Qwen,Anthropic SDK 也能调 GPT——model 填网关里配的模型名,网关自动翻译。支持的组合见 协议互通矩阵。
Q:视频 / 实时模型也能进负载均衡和计费吗? 能。视频按异步任务路径走(「计费按秒」只对 happyhorse-1.0/1.1 与 ASR 这类声明了 per_second 计费模式的模型成立;wanx2.1-t2v 在 meta.toml 无定价条目,按你的实际配置计费,见模型列表节);实时按会话里的每一轮计入与 HTTP 相同的统计 / 账单管线,见 Realtime 实时会话。
下一步:端点 · 认证 · 协议互通 看完整端点清单;协议互通矩阵 查互译组合;上游与模型字段 看怎么配一个模型;客户端接入与网关差异 看经网关后的行为差异。
