TypeScript
Costruisci agenti AI personalizzati con l’SDK TypeScript di Claude Code
Prerequisiti
- Node.js 18+
Installazione
Installa @anthropic-ai/claude-code
da NPM:
Per visualizzare il codice sorgente dell’SDK TypeScript, visita la pagina @anthropic-ai/claude-code
su NPM.
Utilizzo di base
L’interfaccia principale tramite l’SDK TypeScript è la funzione query
, che restituisce un iteratore asincrono che trasmette i messaggi man mano che arrivano:
Opzioni di configurazione
Argomento | Tipo | Descrizione | Predefinito |
---|---|---|---|
abortController | AbortController | Controller di interruzione per annullare le operazioni | new AbortController() |
additionalDirectories | string[] | Directory aggiuntive da includere nella sessione | undefined |
allowedTools | string[] | Elenco di strumenti che Claude è autorizzato a utilizzare | Tutti gli strumenti abilitati per impostazione predefinita |
appendSystemPrompt | string | Testo da aggiungere al prompt di sistema predefinito | undefined |
canUseTool | CanUseTool | Funzione di autorizzazione personalizzata per l’uso degli strumenti | undefined |
continue | boolean | Continua la sessione più recente | false |
customSystemPrompt | string | Sostituisce completamente il prompt di sistema predefinito | undefined |
cwd | string | Directory di lavoro corrente | process.cwd() |
disallowedTools | string[] | Elenco di strumenti che Claude non è autorizzato a utilizzare | undefined |
env | Dict<string> | Variabili d’ambiente da impostare | undefined |
executable | 'bun' | 'deno' | 'node' | Quale runtime JavaScript utilizzare | node quando si esegue con Node.js, bun quando si esegue con Bun |
executableArgs | string[] | Argomenti da passare all’eseguibile | [] |
fallbackModel | string | Modello da utilizzare se il modello primario fallisce | undefined |
maxThinkingTokens | number | Token massimi per il processo di ragionamento di Claude | undefined |
maxTurns | number | Numero massimo di turni di conversazione | undefined |
mcpServers | Record<string, McpServerConfig> | Configurazioni del server MCP | undefined |
model | string | Modello Claude da utilizzare | Utilizza il predefinito dalla configurazione CLI |
pathToClaudeCodeExecutable | string | Percorso dell’eseguibile Claude Code | Eseguibile fornito con @anthropic-ai/claude-code |
permissionMode | PermissionMode | Modalità di autorizzazione per la sessione | "default" (opzioni: "default" , "acceptEdits" , "bypassPermissions" , "plan" ) |
permissionPromptToolName | string | Nome dello strumento MCP per i prompt di autorizzazione | undefined |
resume | string | ID sessione da riprendere | undefined |
stderr | (data: string) => void | Callback per l’output stderr | undefined |
strictMcpConfig | boolean | Applica la validazione rigorosa della configurazione MCP | undefined |
Conversazioni multi-turno
Per le conversazioni multi-turno, hai due opzioni.
Puoi generare risposte e riprenderle, oppure puoi utilizzare la modalità di input streaming che accetta un async/generator per un array di messaggi. Per ora, la modalità di input streaming è l’unico modo per allegare immagini tramite messaggi.
Riprendi con gestione della sessione
Modalità di input streaming
La modalità di input streaming ti permette di fornire messaggi come un iterabile asincrono invece di una singola stringa. Questo abilita conversazioni multi-turno, allegati di immagini e generazione dinamica di messaggi:
Input streaming con immagini
La modalità di input streaming è l’unico modo per allegare immagini tramite messaggi:
Prompt di sistema personalizzati
I prompt di sistema definiscono il ruolo, l’expertise e il comportamento del tuo agente:
Strumenti personalizzati tramite MCP
Il Model Context Protocol (MCP) ti permette di dare ai tuoi agenti strumenti e capacità personalizzati:
Strumenti personalizzati utilizzando MCP
Puoi implementare strumenti personalizzati utilizzando MCP, ad esempio ecco come puoi creare uno strumento personalizzato per la gestione delle autorizzazioni.
Formati di output
Output di testo (predefinito)
Output JSON
Formati di input
Esempi di integrazione agenti
Agente di risposta agli incidenti SRE
Revisione di sicurezza automatizzata
Assistente legale multi-turno
Schema dei messaggi
I messaggi restituiti dall’API JSON sono rigorosamente tipizzati secondo il seguente schema:
Tipi di supporto aggiuntivi:
I tipi Message
, MessageParam
e Usage
sono disponibili nell’SDK TypeScript di Anthropic.
Risorse correlate
- Utilizzo CLI e controlli - Documentazione CLI completa
- Integrazione GitHub Actions - Automatizza il tuo flusso di lavoro GitHub con Claude
- Flussi di lavoro comuni - Guide passo-passo per casi d’uso comuni