参考
使用 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 端点——任何能把密钥保留在服务端的方式都行。