Zum Hauptinhalt springen
Die V2 Sitzungs-API wird nicht mehr unterstützt. TypeScript Agent SDK 0.3.142 entfernt unstable_v2_createSession, unstable_v2_resumeSession, unstable_v2_prompt und die Typen SDKSession und SDKSessionOptions.Verwenden Sie zur Migration die query() API und die Sitzungsoptionen, die sie akzeptiert. Übergeben Sie ein AsyncIterable<SDKUserMessage> für mehrteilige Gespräche oder options.resume, um eine gespeicherte Sitzung fortzusetzen. Diese Seite wird als Referenz beibehalten, wenn Sie Code auf Agent SDK 0.2.x oder früher verwalten.
V2 war eine experimentelle Sitzungs-API, die die Notwendigkeit für asynchrone Generatoren und Yield-Koordination entfernte. Anstatt den Generator-Status über Turns hinweg zu verwalten, war jeder Turn ein separater send()/stream()-Zyklus. Die API-Oberfläche reduzierte sich auf drei Konzepte:
  • createSession() / resumeSession(): Ein Gespräch starten oder fortsetzen
  • session.send(): Eine Nachricht senden
  • session.stream(): Die Antwort abrufen

Installation

Agent SDK 0.2.x ist die letzte Version, die die V2-Schnittstelle enthält. Die Paketversion sprang von 0.2.x direkt zu 0.3.142, sodass die oben genannte Entfernungsversion und die Installationsfestlegung unten dieselbe Grenze beschreiben. Um die letzte V2-kompatible Version zu installieren, legen Sie die Hauptversion und Nebenversion fest:
Das SDK bündelt eine native Claude Code-Binärdatei für Ihre Plattform als optionale Abhängigkeit, sodass Sie Claude Code nicht separat installieren müssen.

Schnellstart

Einmalige Anfrage

Für einfache Einzelturn-Abfragen, bei denen Sie keine Sitzung beibehalten müssen, verwenden Sie unstable_v2_prompt(). Dieses Beispiel sendet eine Mathefrage und protokolliert die Antwort:

Grundlegende Sitzung

Für Interaktionen über eine einzelne Anfrage hinaus erstellen Sie eine Sitzung. V2 trennt das Senden und Streamen in unterschiedliche Schritte:
  • send() sendet Ihre Nachricht
  • stream() streamt die Antwort zurück
Diese explizite Trennung macht es einfacher, Logik zwischen Turns hinzuzufügen (wie das Verarbeiten von Antworten vor dem Senden von Folgefragen). Das folgende Beispiel erstellt eine Sitzung, sendet „Hello!” an Claude und gibt die Textantwort aus. Es verwendet await using (TypeScript 5.2+), um die Sitzung automatisch zu schließen, wenn der Block beendet wird. Sie können auch session.close() manuell aufrufen.

Mehrteiliges Gespräch

Sitzungen behalten den Kontext über mehrere Austausche hinweg bei. Um ein Gespräch fortzusetzen, rufen Sie send() erneut in derselben Sitzung auf. Claude merkt sich die vorherigen Turns. Dieses Beispiel stellt eine Mathefrage und stellt dann eine Folgefrage, die sich auf die vorherige Antwort bezieht:

Sitzung fortsetzen

Wenn Sie eine Sitzungs-ID aus einer vorherigen Interaktion haben, können Sie diese später fortsetzen. Dies ist nützlich für langfristige Workflows oder wenn Sie Gespräche über Anwendungsneustarts hinweg beibehalten müssen. Dieses Beispiel erstellt eine Sitzung, speichert ihre ID, schließt sie und setzt das Gespräch dann fort:

Bereinigung

Sitzungen können manuell oder automatisch mit await using geschlossen werden, einer TypeScript 5.2+-Funktion für automatische Ressourcenbereinigung. Wenn Sie eine ältere TypeScript-Version verwenden oder auf Kompatibilitätsprobleme stoßen, verwenden Sie stattdessen manuelle Bereinigung. Automatische Bereinigung (TypeScript 5.2+):
Manuelle Bereinigung:

API-Referenz

unstable_v2_createSession()

Erstellt eine neue Sitzung für mehrteilige Gespräche.

unstable_v2_resumeSession()

Setzt eine vorhandene Sitzung nach ID fort.

unstable_v2_prompt()

Einmalige Komfortfunktion für Einzelturn-Abfragen.

SDKSession-Schnittstelle

Funktionsverfügbarkeit

Die V2 Sitzungs-API unterstützt nicht alle V1-Funktionen. Die folgenden erfordern das V1 SDK:
  • Sitzungs-Forking (forkSession-Option)
  • Einige erweiterte Streaming-Eingabemuster

Siehe auch