Skip to main content
L’API sessione V2 non è più supportata. TypeScript Agent SDK 0.3.142 rimuove unstable_v2_createSession, unstable_v2_resumeSession, unstable_v2_prompt e i tipi SDKSession e SDKSessionOptions.Per eseguire la migrazione, utilizzare l’API query() e le opzioni sessione che accetta. Passare un AsyncIterable<SDKUserMessage> per conversazioni multi-turno, oppure options.resume per continuare una sessione salvata. Questa pagina viene mantenuta come riferimento se si mantiene il codice su Agent SDK 0.2.x o versioni precedenti.
V2 era un’API sessione sperimentale che eliminava la necessità di generatori asincroni e coordinamento yield. Invece di gestire lo stato del generatore tra i turni, ogni turno era un ciclo send()/stream() separato. La superficie API si riduceva a creare una sessione, inviare un messaggio e trasmettere la risposta:
  • createSession() / resumeSession(): Avviare o continuare una conversazione
  • session.send(): Inviare un messaggio
  • session.stream(): Ottenere la risposta

Installazione

Agent SDK 0.2.x è l’ultima versione che include l’interfaccia V2. La versione del pacchetto è passata da 0.2.x direttamente a 0.3.142, quindi la versione di rimozione sopra e il pin di installazione sottostante descrivono lo stesso limite. Per installare l’ultima versione compatibile con V2, fissare la versione principale e secondaria:
L’SDK raggruppa un binario Claude Code nativo per la vostra piattaforma come dipendenza opzionale, quindi la maggior parte delle installazioni non necessita di un’installazione separata di Claude Code. Consultare la nota di installazione della guida rapida per le installazioni che ne hanno bisogno.

Avvio rapido

Prompt singolo

Per semplici query a turno singolo dove non è necessario mantenere una sessione, utilizzare unstable_v2_prompt(). Questo esempio invia una domanda matematica e registra la risposta:

Sessione di base

Per interazioni oltre un singolo prompt, creare una sessione. V2 separa l’invio e lo streaming in passaggi distinti:
  • send() invia il vostro messaggio
  • stream() trasmette la risposta
Questa separazione esplicita rende più facile aggiungere logica tra i turni (come elaborare le risposte prima di inviare i follow-up). L’esempio seguente crea una sessione, invia “Hello!” a Claude e stampa la risposta di testo. Utilizza await using (TypeScript 5.2+) per chiudere automaticamente la sessione quando il blocco esce. Potete anche chiamare session.close() manualmente.

Conversazione multi-turno

Le sessioni mantengono il contesto attraverso più scambi. Per continuare una conversazione, chiamare send() di nuovo sulla stessa sessione. Claude ricorda i turni precedenti. Questo esempio pone una domanda matematica, quindi pone un follow-up che fa riferimento alla risposta precedente:

Ripresa della sessione

Se avete un ID di sessione da un’interazione precedente, potete riprenderla in seguito. Questo è utile per flussi di lavoro di lunga durata o quando è necessario persistere le conversazioni tra i riavvii dell’applicazione. Questo esempio crea una sessione, memorizza il suo ID, la chiude, quindi riprende la conversazione:

Pulizia

Le sessioni possono essere chiuse manualmente o automaticamente utilizzando await using, una funzionalità di TypeScript 5.2+ per la pulizia automatica delle risorse. Se state utilizzando una versione precedente di TypeScript o riscontrate problemi di compatibilità, utilizzate invece la pulizia manuale. Gli esempi seguenti mostrano solo il modello di pulizia e non inviano alcun messaggio, quindi l’esecuzione non produce alcun output. Pulizia automatica (TypeScript 5.2+):
Pulizia manuale:

Riferimento API

unstable_v2_createSession()

Crea una nuova sessione per conversazioni multi-turno.

unstable_v2_resumeSession()

Riprende una sessione esistente per ID.

unstable_v2_prompt()

Funzione di convenienza one-shot per query a turno singolo.

Interfaccia SDKSession

Disponibilità delle funzionalità

L’API sessione V2 non supporta tutte le funzionalità V1. Le seguenti richiedono l’SDK V1:
  • Forking della sessione (opzione forkSession)
  • Alcuni pattern di input streaming avanzati

Vedere anche