TypeScript
Создавайте пользовательских ИИ-агентов с помощью Claude Code TypeScript SDK
Предварительные требования
- Node.js 18+
Установка
Установите @anthropic-ai/claude-code
из NPM:
Чтобы просмотреть исходный код TypeScript SDK, посетите страницу @anthropic-ai/claude-code
на NPM.
Базовое использование
Основной интерфейс через TypeScript SDK - это функция query
, которая возвращает асинхронный итератор, передающий сообщения по мере их поступления:
Параметры конфигурации
Аргумент | Тип | Описание | По умолчанию |
---|---|---|---|
abortController | AbortController | Контроллер прерывания для отмены операций | new AbortController() |
additionalDirectories | string[] | Дополнительные директории для включения в сессию | undefined |
allowedTools | string[] | Список инструментов, которые Claude может использовать | Все инструменты включены по умолчанию |
appendSystemPrompt | string | Текст для добавления к системному промпту по умолчанию | undefined |
canUseTool | CanUseTool | Пользовательская функция разрешений для использования инструментов | undefined |
continue | boolean | Продолжить самую последнюю сессию | false |
customSystemPrompt | string | Полностью заменить системный промпт по умолчанию | undefined |
cwd | string | Текущий рабочий каталог | process.cwd() |
disallowedTools | string[] | Список инструментов, которые Claude не может использовать | undefined |
env | Dict<string> | Переменные окружения для установки | undefined |
executable | 'bun' | 'deno' | 'node' | Какую среду выполнения JavaScript использовать | node при работе с Node.js, bun при работе с Bun |
executableArgs | string[] | Аргументы для передачи исполняемому файлу | [] |
fallbackModel | string | Модель для использования, если основная модель не работает | undefined |
maxThinkingTokens | number | Максимальное количество токенов для процесса размышления Claude | undefined |
maxTurns | number | Максимальное количество ходов разговора | undefined |
mcpServers | Record<string, McpServerConfig> | Конфигурации MCP-серверов | undefined |
model | string | Модель Claude для использования | Использует значение по умолчанию из конфигурации CLI |
pathToClaudeCodeExecutable | string | Путь к исполняемому файлу Claude Code | Исполняемый файл, поставляемый с @anthropic-ai/claude-code |
permissionMode | PermissionMode | Режим разрешений для сессии | "default" (варианты: "default" , "acceptEdits" , "bypassPermissions" , "plan" ) |
permissionPromptToolName | string | Имя MCP-инструмента для запросов разрешений | undefined |
resume | string | ID сессии для возобновления | undefined |
stderr | (data: string) => void | Обратный вызов для вывода stderr | undefined |
strictMcpConfig | boolean | Принудительная строгая валидация конфигурации MCP | undefined |
Многоходовые разговоры
Для многоходовых разговоров у вас есть два варианта.
Вы можете генерировать ответы и возобновлять их, или можете использовать режим потокового ввода, который принимает async/generator для массива сообщений. На данный момент режим потокового ввода - единственный способ прикреплять изображения через сообщения.
Возобновление с управлением сессиями
Режим потокового ввода
Режим потокового ввода позволяет предоставлять сообщения как асинхронный итерируемый объект вместо одной строки. Это обеспечивает многоходовые разговоры, прикрепление изображений и динамическую генерацию сообщений:
Потоковый ввод с изображениями
Режим потокового ввода - единственный способ прикреплять изображения через сообщения:
Пользовательские системные промпты
Системные промпты определяют роль, экспертизу и поведение вашего агента:
Пользовательские инструменты через MCP
Протокол контекста модели (MCP) позволяет предоставить вашим агентам пользовательские инструменты и возможности:
Пользовательские инструменты с использованием MCP
Вы можете реализовать пользовательские инструменты с помощью MCP, например, вот как можно создать пользовательский инструмент обработки разрешений.
Форматы вывода
Текстовый вывод (по умолчанию)
JSON вывод
Форматы ввода
Примеры интеграции агентов
Агент реагирования на инциденты SRE
Автоматизированная проверка безопасности
Многоходовой юридический помощник
Схема сообщений
Сообщения, возвращаемые из JSON API, строго типизированы согласно следующей схеме:
Дополнительные поддерживающие типы:
Типы Message
, MessageParam
и Usage
доступны в Anthropic TypeScript SDK.
Связанные ресурсы
- Использование CLI и элементы управления - Полная документация CLI
- Интеграция с GitHub Actions - Автоматизируйте свой рабочий процесс GitHub с Claude
- Общие рабочие процессы - Пошаговые руководства для общих случаев использования