使用文档

一个端点,
所有模型。

Tare 是挡在你所有模型前面的一层 OpenAI 兼容网关 —— 我们的,和你自己带来的。一个 base URL、一把 key,每一个 token 都算得清。

快速开始快速上手

快速上手

1. 创建 key

控制台 → API Keys → 创建。完整的 key 只显示一次,平台仅存储哈希,列表中显示的是 ak-…3f2a。

2. 配置客户端 base URL

任何 OpenAI 兼容的客户端只需改两个配置。

Code / Terminal
curl https://tare.jamerly.ai/v1/chat/completions \
  -H "Authorization: Bearer $TARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "GLM 5.1",
    "messages": [{"role": "user", "content": "hello"}]
  }'
Code / Terminal
from openai import OpenAI

client = OpenAI(
    base_url="https://tare.jamerly.ai/v1",
    api_key=os.environ["TARE_API_KEY"],
)

3. 流式

传 stream: true,返回 SSE,以 data: [DONE] 结束。上游为 Anthropic 时该终止符 由 Tare 补齐(Anthropic 自身不发送),否则手写 SSE 解析的客户端会一直等待。

[!TIP] 用量在最后一帧。Tare 强制打开 stream_options.include_usage 并覆盖你的设置: 没有用量就无法计费和归因。

[!WARNING] 首字节之前可能先收到若干 SSE 注释(以 : 开头的行)。

大输入的调用里,上游要先把提示词读完才开始生成,首字节可能等上几十秒 (实测中位数之外有相当一部分超过 10 秒,最慢接近 80 秒)。这期间连接上没有任何字节, 客户端和沿途的代理会把它当成一条死连接掐掉。Tare 在静默约 5 秒后开始每隔几秒发一个 SSE 注释,让每一跳都知道连接还活着。

SSE 规范要求解析器忽略以 : 开头的行,所以标准 SDK 不用做任何事。 只有手写解析的客户端需要注意:不要把注释行当成数据帧去 JSON 解析。

model 字段

填平台侧的模型名,不是上游的名字,映射由 Tare 完成。回包里始终是你请求的那个名字 —— 即使中途故障转移换了上游,也不会出现你没请求过的模型名。

文档最后更新于 2026 年 9 月 20 日 06:31(UTC+8)