2026年8月5日
换 AI 服务商只要改一行:OpenAI 兼容 Base URL 实操教程
把现有的 OpenAI SDK、curl 脚本,或者 Claude Code 配置直接接到 TokenTable 的 OpenAI 兼容接口,不用重写代码——手把手的技术教程。
如果你已经决定要换掉现在用的服务商,只是需要具体的操作步骤,这篇就是给你的。TokenTable AI算力平台对外提供 OpenAI 兼容接口,只要你现在的代码是在跟 OpenAI、OpenRouter 或者其他任何 OpenAI 兼容中转服务对接,迁移就只是换个 Base URL 和 API key,完全不用重写对接逻辑。
第一步:拿到你的 API key
到 tokentable.asia 注册(邮箱或 Google 一键登录),打开会员中心,找到 API Key 卡片,点开/复制即可——key 是 tt-live-... 开头。如果 key 不小心泄露了,也有 重新生成 按钮可以立刻换掉(换掉之后旧 key 马上失效,所以要先把所有用到它的地方都更新完再点)。
第二步:把 OpenAI SDK 的 Base URL 指过去
其他代码逻辑完全不用动,只需要改两个字段:base_url(Python)/baseURL(Node)和 api_key/apiKey。
Python:
from openai import OpenAI
client = OpenAI(
api_key="tt-live-xxxxxxxxxxxxxxxx", # 从 tokentable.asia/dashboard 获取
base_url="https://tokentable.asia/v1",
)
response = client.chat.completions.create(
model="auto", # TokenTable 智能路由自动挑选最合适的底层模型
messages=[{"role": "user", "content": "用两句话解释一下 CAP 定理。"}],
)
print(response.choices[0].message.content)
Node.js / TypeScript:
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.TOKENTABLE_API_KEY,
baseURL: "https://tokentable.asia/v1",
});
const completion = await client.chat.completions.create({
model: "auto",
messages: [{ role: "user", content: "写一首关于分布式系统的俳句。" }],
});
console.log(completion.choices[0].message.content);
第三步:没用 SDK 的话,直接用 curl
curl https://tokentable.asia/v1/chat/completions \
-H "Authorization: Bearer $TOKENTABLE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "auto",
"messages": [{"role": "user", "content": "Hello!"}]
}'
这跟每一个 OpenAI 兼容客户端/框架(LangChain、LlamaIndex、LibreChat、Open WebUI、Dify 等等)本来就知道怎么发的请求格式完全一样——把它们的"OpenAI API"或者"自定义 OpenAI 兼容接口"设置填成 https://tokentable.asia/v1 就搞定了。
改用 Claude Code 接入(Anthropic Messages 格式)
Claude Code 走的不是 OpenAI 那套 schema,而是 Anthropic 的 Messages API——TokenTable 原生支持这个格式,不用额外套一层转接层。加到 ~/.bashrc 或 ~/.zshrc 里:
export ANTHROPIC_BASE_URL=https://tokentable.asia
export ANTHROPIC_AUTH_TOKEN=tt-live-xxxxxxxxxxxxxxxx
export ANTHROPIC_MODEL=auto
export ANTHROPIC_DEFAULT_HAIKU_MODEL=qwen3.6-plus
有个细节很多人会踩坑:Anthropic 的 Base URL 不要带 /v1——Claude Code 自己会补上 /v1/messages,多加一层路径会打到不存在的地址导致失败。环境变量设置好之后重开终端、执行 claude 就能直接用,工具调用(tool use)完整支持。
到底该填哪个 model ID?
大部分场景直接用 model: "auto" 就行。TokenTable 的路由会根据请求的特点自动挑选合适的底层模型——写代码类的 prompt 经常会路由到编程旗舰模型比如 kimi-k2.6,普通对话和推理可能路由到 qwen3.6-plus 这类模型,需要顶级推理能力的请求会路由到旗舰主餐模型,比如 Claude Opus 4.8、GPT-5.5 或者 Gemini 3.5 Flash。如果不想让 AUTO 自己判断、想指定具体模型,可以直接把该模型完整的 model ID 填进 model 字段——用法和任何 OpenAI 兼容 API 一样——这种情况会按该模型对应的倍率扣主餐配额,而不是走 AUTO 优化过的路径。AUTO 拿去处理例行步骤的副餐/轻量模型完全不会占用主餐配额。
如果你是拿这篇和 OpenRouter 做对比才点进来的,接入之后真正的差别在计费方式,不在对接难度:同样是 OpenAI 兼容格式,但 固定月费,不是按 token 跳表计费。也可以先 到聊天界面免费试用一下,确认响应符合预期之后,再接入正式的代码流程。