BUZZ AI Gateway
文档 · 指南 · 快速接入

快速接入

注册账号、创建 API key、跑通第一个 Claude 调用,大约 5 分钟。BUZZ 与 Anthropic Messages API 即插即用兼容,大多数现有代码只需要改 base URL 和 key 就能直接跑。

POST https://buzzai.cc/v1/messages
读完你会拿到什么。 一把可用的 API key、一次成功返回的 hello world、流式版本的同一调用,以及可切换的模型 ID 列表。

1注册 BUZZ 账号

打开 https://buzzai.cc/auth?action=register 完成注册流程,注册成功后会进入用户后台。

2创建 API key

在用户后台打开 Tokens 页面,点击 Add Token。表单里可以设置:

Key 由后端生成,创建接口本身不会回显完整 key。要拿到完整 key,可以在后台 token 行里点复制按钮,或者调 POST /api/token/<id>/key(用户后台的复制按钮就是这个端点的封装)。列表接口出于安全只返回 mask 形式,例如 OnyH**********esAm

把 key 当密码对待。 完整 key 仅在创建时展示一次。丢失就重新生成,而不是去找回。请放进环境变量,不要硬编码到源码里。

把 key 导出到当前 shell,后面所有示例都会用到这个变量:

export BUZZ_API_KEY="sk-..."

3发起第一次调用

Base URL 是 https://buzzai.cc,端点是 POST /v1/messages。挑一个你熟悉的语言:

curl -X POST https://buzzai.cc/v1/messages \
  -H "Authorization: Bearer $BUZZ_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-haiku-4-5-20251001",
    "max_tokens": 80,
    "messages": [
      {"role": "user", "content": "reply with exactly: hello world"}
    ]
  }'
import os
from anthropic import Anthropic

client = Anthropic(
    base_url="https://buzzai.cc",
    api_key=os.environ["BUZZ_API_KEY"],
)

message = client.messages.create(
    model="claude-haiku-4-5-20251001",
    max_tokens=80,
    messages=[
        {"role": "user", "content": "reply with exactly: hello world"}
    ],
)

print(message.content[0].text)
import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({
  baseURL: "https://buzzai.cc",
  apiKey: process.env.BUZZ_API_KEY,
});

const message = await client.messages.create({
  model: "claude-haiku-4-5-20251001",
  max_tokens: 80,
  messages: [
    { role: "user", content: "reply with exactly: hello world" },
  ],
});

console.log(message.content[0].text);

Python 和 Node.js 示例用的是 Anthropic 官方 SDK。BUZZ 同时接受 Authorization: Bearer <key>x-api-key: <key>,所以原版 SDK 不用改逻辑,只要把 base_url / baseURL 指到 https://buzzai.cc 即可。

4校验响应

成功返回的 JSON 长这样:

{
  "id": "msg_01ouKJ3o9AnAJb7JtWF25Dk2",
  "type": "message",
  "role": "assistant",
  "model": "claude-haiku-4-5-20251001",
  "content": [
    {"type": "text", "text": "hello world"}
  ],
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 6,
    "output_tokens": 2,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0,
    "service_tier": "standard"
  }
}

需要确认的字段:

字段含义
id消息 ID,以 msg_ 开头
content[0].text模型的回复文本,应该包含 hello world
stop_reasonend_turn 表示模型自然结束;max_tokens 表示触顶
usage.input_tokens / output_tokens这次请求的计费 token

BUZZ 可能附加一些计费用的额外字段,例如 usage.iterations[]context_management.applied_edits。请确保你的 JSON 解析器能容忍未知字段。

如果拿到的是错误,常见情况:

HTTPerror.type典型原因
401buzz_errorAPI key 缺失或无效,重新 export BUZZ_API_KEY
403permission_errorKey 配置了 IP 白名单且当前机器不在列表内,或者 key 已被禁用。
503buzz_error / model_not_foundBUZZ 在你 key 所属的 group 下没有该模型的可用 channel。换一个模型 ID 试试。

5启用流式

请求体加一行 "stream": true,BUZZ 就会返回 Server-Sent Events 流而不是一个完整的 JSON。

curl -N -X POST https://buzzai.cc/v1/messages \
  -H "Authorization: Bearer $BUZZ_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-haiku-4-5-20251001",
    "max_tokens": 80,
    "stream": true,
    "messages": [
      {"role": "user", "content": "count from 1 to 3"}
    ]
  }'

你会看到一连串 event: 行:message_start 开头,接着 content_block_start、若干 content_block_delta(每条带一段文本增量),然后 content_block_stopmessage_delta,最后是 message_stop。Anthropic 官方 SDK 调用流式 API 时会自动处理这些事件。

完整事件 schema 和 SDK 用法见 流式处理指南

6切换模型

model 字段换成另一个 ID 即可切换模型。BUZZ 当前可用的 Claude 系列:

模型适合场景
claude-opus-4-7最强推理、Agent 工作流、Extended Thinking
claude-sonnet-4-6性价比平衡,大多数生产场景
claude-haiku-4-5-20251001价格最低、延迟最低,大批量任务

带日期的别名也都能用,例如 claude-haiku-4-5-20251001claude-sonnet-4-5-20250929claude-opus-4-5-20251101。要拿到当前 key 实时可用的模型 ID 列表,可以调 GET /v1/models:

curl https://buzzai.cc/v1/models \
  -H "Authorization: Bearer $BUZZ_API_KEY"
遇到 503 model_not_found 说明该 key 当前绑定的 channel group 没路由这个模型。从 GET /v1/models 里挑一个返回值,或者在用户后台改 key 的 group。

下一步