TypeScript
Construisez des agents IA personnalisés avec le SDK TypeScript Claude Code
Prérequis
- Node.js 18+
Installation
Installez @anthropic-ai/claude-code
depuis NPM :
Pour voir le code source du SDK TypeScript, visitez la page @anthropic-ai/claude-code
sur NPM.
Utilisation de base
L’interface principale via le SDK TypeScript est la fonction query
, qui retourne un itérateur asynchrone qui diffuse les messages au fur et à mesure qu’ils arrivent :
Options de configuration
Argument | Type | Description | Défaut |
---|---|---|---|
abortController | AbortController | Contrôleur d’abandon pour annuler les opérations | new AbortController() |
additionalDirectories | string[] | Répertoires supplémentaires à inclure dans la session | undefined |
allowedTools | string[] | Liste des outils que Claude est autorisé à utiliser | Tous les outils activés par défaut |
appendSystemPrompt | string | Texte à ajouter au prompt système par défaut | undefined |
canUseTool | CanUseTool | Fonction de permission personnalisée pour l’utilisation d’outils | undefined |
continue | boolean | Continuer la session la plus récente | false |
customSystemPrompt | string | Remplacer entièrement le prompt système par défaut | undefined |
cwd | string | Répertoire de travail actuel | process.cwd() |
disallowedTools | string[] | Liste des outils que Claude n’est pas autorisé à utiliser | undefined |
env | Dict<string> | Variables d’environnement à définir | undefined |
executable | 'bun' | 'deno' | 'node' | Quel runtime JavaScript utiliser | node lors de l’exécution avec Node.js, bun lors de l’exécution avec Bun |
executableArgs | string[] | Arguments à passer à l’exécutable | [] |
fallbackModel | string | Modèle à utiliser si le modèle principal échoue | undefined |
maxThinkingTokens | number | Tokens maximum pour le processus de réflexion de Claude | undefined |
maxTurns | number | Nombre maximum de tours de conversation | undefined |
mcpServers | Record<string, McpServerConfig> | Configurations des serveurs MCP | undefined |
model | string | Modèle Claude à utiliser | Utilise la valeur par défaut de la configuration CLI |
pathToClaudeCodeExecutable | string | Chemin vers l’exécutable Claude Code | Exécutable livré avec @anthropic-ai/claude-code |
permissionMode | PermissionMode | Mode de permission pour la session | "default" (options : "default" , "acceptEdits" , "bypassPermissions" , "plan" ) |
permissionPromptToolName | string | Nom de l’outil MCP pour les prompts de permission | undefined |
resume | string | ID de session à reprendre | undefined |
stderr | (data: string) => void | Callback pour la sortie stderr | undefined |
strictMcpConfig | boolean | Appliquer une validation stricte de la configuration MCP | undefined |
Conversations multi-tours
Pour les conversations multi-tours, vous avez deux options.
Vous pouvez générer des réponses et les reprendre, ou vous pouvez utiliser le mode d’entrée en streaming qui accepte un async/générateur pour un tableau de messages. Pour l’instant, le mode d’entrée en streaming est la seule façon d’attacher des images via des messages.
Reprendre avec la gestion de session
Mode d’entrée en streaming
Le mode d’entrée en streaming vous permet de fournir des messages comme un itérable asynchrone au lieu d’une seule chaîne. Cela permet les conversations multi-tours, les pièces jointes d’images et la génération dynamique de messages :
Entrée en streaming avec images
Le mode d’entrée en streaming est la seule façon d’attacher des images via des messages :
Prompts système personnalisés
Les prompts système définissent le rôle, l’expertise et le comportement de votre agent :
Outils personnalisés via MCP
Le Model Context Protocol (MCP) vous permet de donner à vos agents des outils et capacités personnalisés :
Outils personnalisés utilisant les MCP
Vous pouvez implémenter des outils personnalisés en utilisant les MCP, par exemple voici comment vous pouvez créer un outil de gestion de permissions personnalisé.
Formats de sortie
Sortie texte (par défaut)
Sortie JSON
Formats d’entrée
Exemples d’intégration d’agents
Agent de réponse aux incidents SRE
Révision de sécurité automatisée
Assistant juridique multi-tours
Schéma de messages
Les messages retournés par l’API JSON sont strictement typés selon le schéma suivant :
Types de support supplémentaires :
Les types Message
, MessageParam
et Usage
sont disponibles dans le SDK TypeScript Anthropic.
Ressources connexes
- Utilisation et contrôles CLI - Documentation CLI complète
- Intégration GitHub Actions - Automatisez votre flux de travail GitHub avec Claude
- Flux de travail courants - Guides étape par étape pour les cas d’usage courants