Режим без интерфейса
Запуск Claude Code программно без интерактивного пользовательского интерфейса
Обзор
Режим без интерфейса позволяет запускать Claude Code программно из скриптов командной строки и инструментов автоматизации без какого-либо интерактивного пользовательского интерфейса.
Основное использование
Основным интерфейсом командной строки для Claude Code является команда claude
. Используйте флаг --print
(или -p
) для запуска в неинтерактивном режиме и вывода окончательного результата:
Параметры конфигурации
SDK использует все параметры CLI, доступные в Claude Code. Вот основные из них для использования SDK:
Флаг | Описание | Пример |
---|---|---|
--print , -p | Запуск в неинтерактивном режиме | claude -p "query" |
--output-format | Указать формат вывода (text , json , stream-json ) | claude -p --output-format json |
--resume , -r | Возобновить разговор по ID сессии | claude --resume abc123 |
--continue , -c | Продолжить самый последний разговор | claude --continue |
--verbose | Включить подробное логирование | claude --verbose |
--append-system-prompt | Добавить к системному промпту (только с --print ) | claude --append-system-prompt "Custom instruction" |
--allowedTools | Список разрешенных инструментов, разделенных пробелами, или строка со списком разрешенных инструментов, разделенных запятыми | claude --allowedTools mcp__slack mcp__filesystem claude --allowedTools "Bash(npm install),mcp__filesystem" |
--disallowedTools | Список запрещенных инструментов, разделенных пробелами, или строка со списком запрещенных инструментов, разделенных запятыми | claude --disallowedTools mcp__splunk mcp__github claude --disallowedTools "Bash(git commit),mcp__github" |
--mcp-config | Загрузить MCP серверы из JSON файла | claude --mcp-config servers.json |
--permission-prompt-tool | MCP инструмент для обработки запросов разрешений (только с --print ) | claude --permission-prompt-tool mcp__auth__prompt |
Для полного списка параметров CLI и функций смотрите документацию справочника CLI.
Многоходовые разговоры
Для многоходовых разговоров вы можете возобновлять разговоры или продолжать с самой последней сессии:
Форматы вывода
Текстовый вывод (по умолчанию)
JSON вывод
Возвращает структурированные данные, включая метаданные:
Формат ответа:
Потоковый JSON вывод
Передает каждое сообщение по мере его получения:
Каждый разговор начинается с начального системного сообщения init
, за которым следует список сообщений пользователя и ассистента, за которым следует финальное системное сообщение result
со статистикой. Каждое сообщение выдается как отдельный JSON объект.
Форматы ввода
Текстовый ввод (по умолчанию)
Потоковый JSON ввод
Поток сообщений, предоставляемых через stdin
, где каждое сообщение представляет ход пользователя. Это позволяет делать несколько ходов разговора без перезапуска бинарного файла claude
и позволяет предоставлять руководство модели во время обработки запроса.
Каждое сообщение является JSON объектом ‘User message’, следующим тому же формату, что и схема выходного сообщения. Сообщения форматируются с использованием формата jsonl, где каждая строка ввода является полным JSON объектом. Потоковый JSON ввод требует -p
и --output-format stream-json
.
Примеры интеграции агентов
SRE бот реагирования на инциденты
Автоматизированная проверка безопасности
Многоходовой юридический помощник
Лучшие практики
-
Используйте JSON формат вывода для программного разбора ответов:
-
Обрабатывайте ошибки корректно - проверяйте коды выхода и stderr:
-
Используйте управление сессиями для поддержания контекста в многоходовых разговорах
-
Учитывайте таймауты для долго выполняющихся операций:
-
Соблюдайте ограничения скорости при выполнении множественных запросов, добавляя задержки между вызовами
Связанные ресурсы
- Использование CLI и элементы управления - Полная документация CLI
- Общие рабочие процессы - Пошаговые руководства для общих случаев использования