为每一个 AI 提供商 提供同一条规范协议
纯净 · Web 优先 · 多提供商 TypeScript AI SDK
29 个提供商统一在同一条 StreamPart 增量流之后。零运行时依赖 — SQLite、Redis、Postgres 包,循环内的护栏与交接,会自己连接的 MCP。fetch 能运行的地方就能运行。
npm install @deuz-sdk/core- 提供商 id
- 29
- 子路径
- 53
- 数据库包
- 3
- 几乎全部是加法
- 1.9 → 2.0
同一套 API 表面覆盖
- Anthropic
- OpenAI
- Google Gemini
- xAI Grok
- Azure
- Bedrock
- Ollama
- LM Studio
+ 另外 21 个,包括 Ollama 和 LM Studio
规范增量流
每个提供商的响应在你的代码看到之前都会被规范化为带类型的 StreamPart 流。原始 SSE 字节永远不会泄漏。
代理循环,现已带策略
并行自愈工具、可嵌套子代理,加上 2.0 护栏(pass / block / rewrite)以及把整次运行交出去的 handoff()。
把持久化指向数据库
memory / chat / session / run 接缝背后的 SQLite、Redis、Postgres 包。需要时用 FTS5 + pgvector — 不需要则零依赖。
零配置 MCP
在调用上点名服务器;循环负责连接、命名空间、热刷新和关闭。OAuth 2.0、sampling、roots,以及经 ping 验证的重连。
边缘安全内核
仅使用 Web API — 没有 node:*、没有 Buffer、没有环境状态。Node、Deno、Bun、Vercel Edge 和 Cloudflare Workers 均可运行。
语音、转写、视频
generateSpeech、transcribe 和 generateVideo 是独立的模型种类 — OpenAI、ElevenLabs、Deepgram,以及任何 OpenAI-Videos 中继。
// swap the factory to swap providers
import { streamChat } from '@deuz-sdk/core';
import { createAnthropic } from '@deuz-sdk/core/anthropic';
const anthropic = createAnthropic({ apiKey });
const res = streamChat({
model: anthropic('claude-opus-4-8'),
messages: [{ role: 'user', content: 'Hello!' }],
});
for await (const chunk of res.textStream) {
process.stdout.write(chunk);
}为你的编码代理准备
你的编码代理已经了解这个 SDK
仓库随附两个 Agent Skill,代理据此按真实接口编写代码,而不是凭记忆拼凑。其中每个符号都会在每次提交时与导出表核对,每个示例都会编译——不存在的名称无法合入。
它们如何被验证$ npx skills add Deuz-AI/Deuz-SDKdeuz-sdk完整接口:不变量、从任务到文件的路由,以及仅在需要时加载的十三个参考文件。
migrate-from-ai-sdk从 ai 与 @ai-sdk 系列包逐个名称验证过的迁移路径。