Appearance
OpenRouter Client SDK 是覆盖 TypeScript、Python、Go 的轻量 API 客户端,从 OpenAPI spec 自动生成,与 REST API 一一对应。三个 SDK 都提供完整的类型安全,一行代码调用 300+ 模型。适合单次推理、streaming 响应、embeddings、API key 管理等直接调用场景。如果需要多轮 agent 循环、工具定义和状态管理,请选择 Agent SDK。
Client SDK 为 OpenRouter REST API 提供薄薄的类型安全封装层。处理认证、请求校验和响应类型推断,让你用一行代码调用 300+ 模型,无需处理各提供商的差异细节。
安装
| 语言 | 包名 | 安装命令 |
|---|---|---|
| TypeScript | @openrouter/sdk | npm install @openrouter/sdk |
| Python | openrouter | pip install openrouter |
| Go | go-sdk | go get github.com/OpenRouterTeam/go-sdk |
三个 SDK 均从 OpenRouter OpenAPI spec 自动生成,新模型、参数和接口在每次 API 发布后立即可用。
什么时候用 Client SDK
选择 Client SDK 的场景——需要直接高效地调用模型推理,并自行管理应用逻辑:
- 单次推理 — 发送 prompt,获取响应
- Streaming 响应 — 实时逐 token 输出
- Embeddings、视频、rerank — 生成向量表示、创建视频、结果重排序
- API key 和额度管理 — 程序化控制账户
- 自定义编排 — 自行管理对话循环、工具派发和状态
Client SDK 设计上故意保持精简——与 OpenRouter API 的表面 1:1 映射,完整类型安全,当你需要细粒度控制时不需要对抗任何抽象层。
如果想要更高级的 agent 原语——多轮循环、工具定义、stop conditions 和对话状态管理——选 Agent SDK。
快速示例
typescript
import OpenRouter from '@openrouter/sdk';
const client = new OpenRouter({
apiKey: process.env.OPENROUTER_API_KEY,
});
const response = await client.chat.send({
model: 'openai/gpt-5.2',
messages: [
{ role: 'user', content: 'Explain quantum computing in one sentence.' },
],
});
console.log(response.choices[0].message.content);Client SDK vs Agent SDK
| Client SDK | Agent SDK | |
|---|---|---|
| 定位 | 轻量 API 客户端——与 REST API 1:1 映射,完整类型安全 | Agent 原语——多轮循环、工具、stop conditions |
| 选择时机 | 直接调用模型,自行管理编排逻辑 | 需要内置 agent 循环、工具执行和状态管理 |
| 对话状态 | 自行维护 | callModel 自动管理 |
| 工具执行 | 自行派发 tool calls | tool() helper 自动执行 |
| 语言支持 | TypeScript、Python、Go | TypeScript |
常见问题
Q: Client SDK 和直接用 fetch 调 OpenRouter API 有什么区别?
A: Client SDK 提供完整的 TypeScript 类型推断、自动处理认证头、提供封装好的流式迭代接口,减少手写样板代码的工作量。功能上没有本质差异,但开发体验更好。
Q: 三个语言的 SDK 功能是否一致?
A: 基本功能一致,都从同一份 OpenAPI spec 生成。但由于语言特性不同,API 风格会有差异(如异步处理方式)。TypeScript 版本功能最全,因为 Agent SDK 也是基于 TypeScript 的。
Q: SDK 更新频率如何?
A: 三个 SDK 均从 OpenAPI spec 自动生成,每次 OpenRouter API 更新后会同步生成新版本。不需要等待手动维护。