Deuz SDK 2.0 è uscito — store, guardrail, handoff e MCP zero-config. Novità della 2.0
v2.0.0 — Store persistenti, guardrail, handoff e MCP zero-config

Un protocollo canonico per ogni provider di IA

SDK IA TypeScript puro · web-first · multi-provider

29 provider dietro un unico stream delta StreamPart. Zero dipendenze runtime — pack SQLite, Redis e Postgres, guardrail e handoff nel loop, MCP che si connette da solo. Funziona ovunque funzioni fetch.

npm install @deuz-sdk/core
id provider
29
sottopath
53
pack database
3
per lo più additivo
1.9 → 2.0

Un’unica superficie API per

  • Anthropic
  • OpenAI
  • Google Gemini
  • xAI Grok
  • Azure
  • Bedrock
  • Ollama
  • LM Studio

+ altri 21, inclusi Ollama e LM Studio

Stream delta canonico

Ogni risposta del provider viene normalizzata in un unico stream StreamPart tipizzato prima che il tuo codice la veda. Nessun SSE grezzo trapela mai.

Loop agentico, ora con policy

Strumenti paralleli auto-riparanti, sub-agenti annidati, più i guardrail 2.0 (pass / block / rewrite) e handoff() per trasferire l’intero run.

Punta la persistenza a un database

Pack SQLite, Redis e Postgres dietro le seam memory, chat, session e run. FTS5 + pgvector se li vuoi — zero dipendenze altrimenti.

MCP zero-config

Indica i server sulla chiamata; il loop li connette, li namespace, li aggiorna e li chiude. OAuth 2.0, sampling, roots e reconnect verificato con ping.

Core edge-safe

Solo Web API — niente node:*, niente Buffer, nessuno stato ambientale. Node, Deno, Bun, Vercel Edge e Cloudflare Workers.

Speech, trascrizione, video

generateSpeech, transcribe e generateVideo come kind di modello distinti — OpenAI, ElevenLabs, Deepgram e qualsiasi relay OpenAI-Videos.

Streaming in tre righe

streamChat ritorna in modo sincrono e non lancia mai eccezioni — la richiesta parte pigramente alla prima lettura. Cambia la factory per cambiare provider; nient’altro si muove.

Inizia
// 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);
}

Per il tuo agente di codice

Il tuo agente conosce già questo SDK

Il repository include due Agent Skill, così l’agente scrive sulla superficie reale invece di ricostruirla a memoria. Ogni simbolo viene risolto contro la tabella degli export a ogni commit e ogni esempio viene compilato: un nome che non esiste non passa.

Come vengono verificate
$ npx skills add Deuz-AI/Deuz-SDK
  • deuz-sdk

    L’intera superficie: gli invarianti, un router da attività a file e tredici file di riferimento caricati solo quando servono.

  • migrate-from-ai-sdk

    La migrazione verificata, nome per nome, da ai e dai pacchetti @ai-sdk.