Cookbook / Widget vocale per la documentazione
Parla con
la tua documentazione

Screenshot. Il template in esecuzione in locale.
- Modelli
- ink-2, sonic-3.6
- Lingue
- Inglese, spagnolo, francese, hindi, giapponese
- Licenza
- Apache-2.0
- Stack
- HonoNode.jsWeb ComponentsesbuildBM25 or OpenAI embeddings
- Prodotti Cartesia
- Managed AgentsInk 2Sonic 3.6
Cosa fa
Il widget funziona su qualsiasi sito e non ha bisogno di altre librerie. Il server è una piccola app Node che tiene l'indice di ricerca in un file locale. Per impostazione predefinita la ricerca confronta parole chiave. Con una chiave OpenAI confronta il significato, e gestisce meglio le domande formulate in modo diverso dalla documentazione. Una nuova indicizzazione elabora solo le pagine cambiate.
Eseguilo tu
Esegui la demo
Esegui i comandi qui sotto con Node 22.22 o successivo, apri
http://localhost:4512, premi Ask the docs e poi Start talking. Il sito demo è una copia di due pagine didocs.cartesia.ai.Variabili d'ambiente - CARTESIA_API_KEY
play.cartesia.ai/keys- OPENAI_API_KEY
- Opzionale. Passa la ricerca agli embedding
text-embedding-3-small - CARTESIA_AGENT_ID
- Scritta da
npm run setup:agent - CARTESIA_TOOL_IDS
- Opzionale. Scritta da
npm run setup:agentcosì sai quali tool eliminare. L'app non la legge - ALLOWED_ORIGINS
- Le origini della tua documentazione, separate da virgole
- PUBLIC_URL, TRUST_PROXY
- Dietro un proxy. Con
TRUST_PROXY=1 il limite di frequenza usa l'indirizzo aggiunto dal tuo proxy
Indicizza la tua documentazione
Esegui
npm run ingest--./my-docs--base-url/docs/ per una cartella di file .md o .mdx, oppurenpm run ingest -- --sitemapcon l'URL della tua sitemap per un sito online.Aggiungi il tag script
Distribuisci il server su qualsiasi host che esegua Node 22.22 o successivo, aggiungi un tag script che punti al suo
widget.jse impostaALLOWED_ORIGINSsull'origine della tua documentazione.
Crealo con il tuo agente di programmazione
Un prompt che dice al tuo agente di programmazione da dove partire e cosa leggere per primo.
Prompt
Add a voice assistant to my documentation site with a Cartesia Managed Agent. Start from https:/ and follow its AGENTS.md for the commands, files and rules. npm run setup:agent creates the agent and two client tools, search_docs and show_source. The widget gets a 60 second access token with only the agent grant from the Hono server and opens the Managed Agents WebSocket. search_docs results come from POST /api/search and must stay under 4,096 bytes. Index my docs with npm run ingest, either from a folder or with --sitemap. If I don't have a Cartesia API key yet, follow https:/ to get one.
Come funziona
Perché funziona così
La ricerca gira nel browser del visitatore
Cartesia chiama solo tool che si trovano a un indirizzo HTTPS pubblico. Un client tool invece gira nel browser del visitatore, che passa la domanda al tuo server, quindi la demo funziona su localhost senza tunnel.
I risultati stanno sotto i 4.096 byte
Cartesia rifiuta i risultati dei client tool oltre i 4.096 byte. server/search.ts ordina le sezioni, dà una piccola spinta alla pagina corrente e mette le prime quattro in un risultato sotto i 3.800 byte.
La vera protezione è il limite di frequenza
Il server respinge gli altri siti controllando l'header Origin, ma uno script può inviare qualsiasi header. Quello che protegge il tuo account è il limite di 4 token al minuto e 30 all'ora per indirizzo IP.
Personalizzalo
Prompt e tool
Modifica scripts/agent-config.ts, poi esegui npm run setup:agent -- --force. Il comando crea un nuovo agente e due nuovi tool e sovrascrive CARTESIA_TOOL_IDS, quindi prima copia i vecchi id ed elimina l'agente e i tool vecchi su play.cartesia.ai. I nomi dei tool sono anche in widget/src/tools.ts, quindi cambiali in entrambi i file.
Lingua
Imposta AGENT_LANGUAGE su es, fr, hi o ja prima della configurazione. Il prompt risponde già nella lingua del visitatore.
Archivio vettoriale
server/store.ts è l'unico file che legge o scrive l'indice. Sostituiscilo con pgvector o SQLite quando qualche migliaio di sezioni non basta.
Unisciti ai team che passano a Cartesia
Domande
Altri siti possono usare il mio widget e la mia chiave API?
No. Solo i siti che elenchi in ALLOWED_ORIGINS, più l'indirizzo del server stesso, possono avviare una chiamata. Le tue chiavi API restano sul server, e il browser riceve un token che dura 60 secondi e funziona solo per le chiamate agli agenti.
La knowledge base integrata di Cartesia non può farlo?
Può anche rispondere dalla tua documentazione. Questo template cerca invece sul tuo server, così ogni risultato porta il link della pagina e la sezione che servono al widget per scorrere fin lì.
Funziona con Docusaurus, Mintlify o Nextra?
Sì, ovunque tu possa aggiungere un tag script. Indicizza il sito dalla sua sitemap così i link alle sezioni corrispondono ai suoi titoli. Il widget segue la modalità scura del sito o l'impostazione di sistema del visitatore.
Perché la chiamata finisce quando clicco un link a un'altra pagina?
La chiamata vive nella pagina, e un sito con più pagine si ricarica a ogni navigazione. Durante una chiamata, le fonti su altre pagine si aprono invece in una nuova scheda.
Le chiamate dei visitatori vengono registrate?
Sì. Cartesia registra l'audio e la trascrizione di ogni chiamata dell'agente. Avvisa i tuoi visitatori e cancella le chiamate che non ti servono con l'API di Cartesia.
Esiste una guida passo passo per questo template?
Sì. La ricetta spiega il codice, il README copre configurazione, variabili d'ambiente e distribuzione, e la documentazione sui client tool spiega la parte Cartesia.
Altro dal cookbook
Inizia oggi
Parla con un esperto.
Contatta un membro del nostro team e scopri come Cartesia può aiutarti a creare esperienze vocali di altissimo livello.
Inizia a sviluppare.
Accedi ai nostri modelli tramite API e porta un agente vocale in produzione in pochi minuti.

