TypeScript
Erstellen Sie benutzerdefinierte KI-Agenten mit dem Claude Code TypeScript SDK
Voraussetzungen
- Node.js 18+
Installation
Installieren Sie @anthropic-ai/claude-code
von NPM:
Um den TypeScript SDK-Quellcode anzuzeigen, besuchen Sie die @anthropic-ai/claude-code
Seite auf NPM.
Grundlegende Verwendung
Die primäre Schnittstelle über das TypeScript SDK ist die query
Funktion, die einen asynchronen Iterator zurückgibt, der Nachrichten streamt, sobald sie ankommen:
Konfigurationsoptionen
Argument | Typ | Beschreibung | Standard |
---|---|---|---|
abortController | AbortController | Abort-Controller zum Abbrechen von Operationen | new AbortController() |
additionalDirectories | string[] | Zusätzliche Verzeichnisse, die in die Sitzung einbezogen werden sollen | undefined |
allowedTools | string[] | Liste der Tools, die Claude verwenden darf | Alle Tools standardmäßig aktiviert |
appendSystemPrompt | string | Text, der an den Standard-System-Prompt angehängt wird | undefined |
canUseTool | CanUseTool | Benutzerdefinierte Berechtigungsfunktion für Tool-Verwendung | undefined |
continue | boolean | Die neueste Sitzung fortsetzen | false |
customSystemPrompt | string | Den Standard-System-Prompt vollständig ersetzen | undefined |
cwd | string | Aktuelles Arbeitsverzeichnis | process.cwd() |
disallowedTools | string[] | Liste der Tools, die Claude nicht verwenden darf | undefined |
env | Dict<string> | Umgebungsvariablen, die gesetzt werden sollen | undefined |
executable | 'bun' | 'deno' | 'node' | Welche JavaScript-Laufzeit verwendet werden soll | node beim Ausführen mit Node.js, bun beim Ausführen mit Bun |
executableArgs | string[] | Argumente, die an die ausführbare Datei übergeben werden | [] |
fallbackModel | string | Modell, das verwendet wird, wenn das primäre Modell fehlschlägt | undefined |
maxThinkingTokens | number | Maximale Tokens für Claudes Denkprozess | undefined |
maxTurns | number | Maximale Anzahl von Gesprächsrunden | undefined |
mcpServers | Record<string, McpServerConfig> | MCP-Server-Konfigurationen | undefined |
model | string | Zu verwendendes Claude-Modell | Verwendet Standard aus CLI-Konfiguration |
pathToClaudeCodeExecutable | string | Pfad zur Claude Code ausführbaren Datei | Ausführbare Datei, die mit @anthropic-ai/claude-code geliefert wird |
permissionMode | PermissionMode | Berechtigungsmodus für die Sitzung | "default" (Optionen: "default" , "acceptEdits" , "bypassPermissions" , "plan" ) |
permissionPromptToolName | string | Name des MCP-Tools für Berechtigungsaufforderungen | undefined |
resume | string | Sitzungs-ID zum Fortsetzen | undefined |
stderr | (data: string) => void | Callback für stderr-Ausgabe | undefined |
strictMcpConfig | boolean | Strenge MCP-Konfigurationsvalidierung durchsetzen | undefined |
Mehrrunden-Gespräche
Für Mehrrunden-Gespräche haben Sie zwei Optionen.
Sie können Antworten generieren und sie fortsetzen, oder Sie können den Streaming-Eingabemodus verwenden, der einen async/generator für ein Array von Nachrichten akzeptiert. Derzeit ist der Streaming-Eingabemodus die einzige Möglichkeit, Bilder über Nachrichten anzuhängen.
Fortsetzen mit Sitzungsverwaltung
Streaming-Eingabemodus
Der Streaming-Eingabemodus ermöglicht es Ihnen, Nachrichten als asynchrones Iterable anstatt als einzelnen String bereitzustellen. Dies ermöglicht Mehrrunden-Gespräche, Bildanhänge und dynamische Nachrichtengenerierung:
Streaming-Eingabe mit Bildern
Der Streaming-Eingabemodus ist die einzige Möglichkeit, Bilder über Nachrichten anzuhängen:
Benutzerdefinierte System-Prompts
System-Prompts definieren die Rolle, Expertise und das Verhalten Ihres Agenten:
Benutzerdefinierte Tools über MCP
Das Model Context Protocol (MCP) ermöglicht es Ihnen, Ihren Agenten benutzerdefinierte Tools und Fähigkeiten zu geben:
Benutzerdefinierte Tools mit MCPs
Sie können benutzerdefinierte Tools mit MCPs implementieren, zum Beispiel hier ist, wie Sie ein benutzerdefiniertes Berechtigungsbehandlungstool erstellen können.
Ausgabeformate
Textausgabe (Standard)
JSON-Ausgabe
Eingabeformate
Agent-Integrationsbeispiele
SRE-Incident-Response-Agent
Automatisierte Sicherheitsüberprüfung
Mehrrunden-Rechtsassistent
Nachrichtenschema
Nachrichten, die von der JSON-API zurückgegeben werden, sind streng typisiert nach folgendem Schema:
Zusätzliche unterstützende Typen:
Message
, MessageParam
und Usage
Typen sind im Anthropic TypeScript SDK verfügbar.
Verwandte Ressourcen
- CLI-Verwendung und -Steuerung - Vollständige CLI-Dokumentation
- GitHub Actions Integration - Automatisieren Sie Ihren GitHub-Workflow mit Claude
- Häufige Workflows - Schritt-für-Schritt-Anleitungen für häufige Anwendungsfälle