Ein kanonisches Protokoll für jeden KI-Provider
Pures · Web-first · Multi-Provider AI SDK für TypeScript
29 Provider hinter einem StreamPart-Delta-Stream. Keine Runtime-Abhängigkeiten — SQLite-, Redis- und Postgres-Packs, Guardrails und Handoffs im Loop, MCP das sich selbst verbindet. Läuft überall, wo fetch läuft.
npm install @deuz-sdk/core- Provider-IDs
- 29
- Subpfade
- 53
- Datenbank-Packs
- 3
- größtenteils additiv
- 1.9 → 2.0
Eine API-Oberfläche für
- Anthropic
- OpenAI
- Google Gemini
- xAI Grok
- Azure
- Bedrock
- Ollama
- LM Studio
+ 21 weitere, inkl. Ollama und LM Studio
Kanonischer Delta-Stream
Jede Provider-Antwort wird zu einem typisierten StreamPart-Stream normalisiert, bevor dein Code sie sieht. Rohe SSE-Bytes dringen nie durch.
Agentischer Loop, jetzt mit Policy
Parallele, selbstheilende Tools, verschachtelte Sub-Agenten, plus Guardrails (pass / block / rewrite) und handoff() für den ganzen Run.
Persistenz auf eine Datenbank zeigen
SQLite-, Redis- und Postgres-Packs hinter Memory-, Chat-, Session- und Run-Nähten. FTS5 + pgvector wenn du sie willst — null Deps wenn nicht.
Zero-Config-MCP
Server am Call benennen; der Loop verbindet, namespaced, aktualisiert und schließt sie. OAuth 2.0, Sampling, Roots und ping-verifizierter Reconnect.
Edge-sicherer Kern
Nur Web-APIs — kein node:*, kein Buffer, kein Umgebungszustand. Node, Deno, Bun, Vercel Edge und Cloudflare Workers.
Sprache, Transkription, Video
generateSpeech, transcribe und generateVideo als eigene Modellarten — OpenAI, ElevenLabs, Deepgram und jeder OpenAI-Videos-Relay.
Streaming in drei Zeilen
streamChat kehrt synchron zurück und wirft nie — der Request startet lazy beim ersten Lesen. Tausche die Factory, um den Provider zu wechseln; sonst ändert sich nichts.
Loslegen// 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);
}Für deinen Coding-Agenten
Dein Coding-Agent kennt dieses SDK bereits
Zwei Agent Skills liegen im Repository, damit ein Agent gegen die echte Oberfläche schreibt, statt sie aus dem Gedächtnis zu rekonstruieren. Jedes Symbol darin wird bei jedem Commit gegen die Export-Tabelle aufgelöst und jedes Beispiel kompiliert — ein Name, den es nicht gibt, kommt nicht durch.
Wie sie geprüft werden$ npx skills add Deuz-AI/Deuz-SDKdeuz-sdkDie gesamte Oberfläche: die Invarianten, ein Router von Aufgabe zu Datei und dreizehn Referenzdateien, die nur bei Bedarf geladen werden.
migrate-from-ai-sdkDie geprüfte Migration Name für Name von ai und den @ai-sdk-Paketen.