利用OpenAI兼容接口通过单一端点调用GPT-4o/Claude/Gemini/DeepSeek,附Python/Node.js/curl示例代码。
如果你在开发 AI 应用,很可能需要同时管理多个服务商的 API 密钥:GPT-4o 一个、Claude 一个、Gemini 一个、DeepSeek 一个。每个服务商都有自己的 SDK、自己的认证流程、自己的计费面板,以及各自的速率限制需要监控。
好消息是:如今几乎所有主流模型都可以通过同一个 OpenAI 兼容的聊天补全接口来访问。这意味着一个客户端、一种密钥格式、一个基础 URL 就能覆盖你的整个技术栈。
官方 OpenAI SDK 支持指向任意兼容端点:
from openai import OpenAI
client = OpenAI(
api_key="sk-your-key",
base_url="https://caapi.top/v1", # <-- 唯一的改动
)
resp = client.chat.completions.create(
model="deepseek-chat",
messages=[{"role": "user", "content": "hello"}],
)
print(resp.choices[0].message.content)
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "sk-your-key",
baseURL: "https://caapi.top/v1",
});
const resp = await client.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: "hello" }],
});
curl(快速连通性检查):
curl -s https://caapi.top/v1/chat/completions \
-H "Authorization: Bearer sk-your-key" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-4o","messages":[{"role":"user","content":"ping"}]}'
从 GPT-4o 切换到 Claude 再到 DeepSeek,只需要把 model 改一个字——无需新 SDK,无需重写认证代码。
Cherry Studio、ChatBox、NextChat 等 GUI 客户端都支持自定义 OpenAI 兼容端点。每次配置都是相同的三个字段:
我维护了一个仓库,里面是热门客户端的复制即用配置模板:ai-api-config-templates——覆盖了 Cherry Studio、ChatBox、NextChat,以及可运行的 Python/Node 示例和一个 curl 测试脚本。
除了密钥整合这一收益,网关层还带来:
统一计费面板——所有模型的使用量和支出在一个面板里看,不用再盯四个后台。
随手做模型对比——因为所有模型都挂在同一个接口后面,跨模型做 A/B 测试 prompt 是零成本的事。
客户端可移植性——你的配置在任何支持 OpenAI 格式的客户端里都能用。
完整披露:上文示例中的网关 caapi.top 是我运行的一个服务。但这个模式本身——用同一个 OpenAI 兼容端点聚合多个模型——是通用的,本文中所有内容配合任何兼容网关均可用。