Caicaini
免费开始

参考

使用 HTTP 客户端

Caicaini API 就是普通的 HTTP + JSON。没有专属客户端要安装。用你信得过的任何 HTTP 库,或者基于下面的模式写个小封装。

为什么不做官方 SDK

HTTP 接口面很小(六个端点),请求/响应形态采用业界通行的 Messages API 与 chat-completions 约定。把它们再包一层 SDK 反而引入额外依赖和自有 API,并不省你多少事。我们会在真正能带来价值的时候发布一个轻量的官方客户端。

在那之前:任何针对 Caicaini 实现的约定的第三方客户端库,只要能改 base URL,就能用。

环境变量

请始终从环境变量读取密钥和 base URL,不要写死在字面量里。

shell
# Set once, reuse everywhere.
export CAICAINI_API_KEY="cai_api_..."
export CAICAINI_BASE="https://caicaini.com/v1"

curl "$CAICAINI_BASE/messages" \
  -H "Authorization: Bearer $CAICAINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"caicaini/auto","max_tokens":256,"messages":[{"role":"user","content":"Hello!"}]}'

每种语言一个轻量客户端

下面每种语言大约 30 行代码:构造函数、非流式辅助、流式迭代器。复制、粘贴、改改即可。没有魔法。

# Set once, reuse everywhere.
export CAICAINI_API_KEY="cai_api_..."
export CAICAINI_BASE="https://caicaini.com/v1"

curl "$CAICAINI_BASE/messages" \
  -H "Authorization: Bearer $CAICAINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"caicaini/auto","max_tokens":256,"messages":[{"role":"user","content":"Hello!"}]}'

建议

  • 在 Node 20+、浏览器、Cloudflare Workers、Deno、Bun 上使用原生 fetch。内置、支持流式、占用最小。
  • Python 用 httpx。同时支持同步与异步,提供流式上下文管理器,并能很好地处理高并发的连接池。
  • 跨调用复用连接。冷连接的延迟主要来自 TLS 握手——每个进程保留一个客户端实例。
  • 设置宽裕的超时:非流式 120 秒,长流式 300 秒以上。模型需要时间,启用 扩展思考 时尤其如此。
  • 每次调用都把响应里的 id 记到日志里。提工单时这是我们追溯请求最快的标识。

浏览器

不要在浏览器里用真实密钥直接调用 API。每把密钥都代表你的账户。请走你自己掌控的服务器代理:一个简单的 Next.js Route Handler、一个 Cloudflare Worker、一个 Express 端点——任何能把密钥保留在服务端的方式都行。