Главная/Документация/Справочник/Справочник CLI
Справочник

Справочник CLI

Полный справочник команд клиента командной строки AIKraft Agents (craft-cli), включая установку, параметры подключения, управление сессиями и проверку сервера.

craft-cli — это терминальный клиент, который подключается к запущенному headless-серверу AIKraft Agents по протоколу WebSocket. Он предоставляет команды для просмотра ресурсов, управления сессиями, отправки сообщений с потоковой передачей в реальном времени и проверки состояния сервера.

Установка

terminalbash
# Клонирование репозитория
git clone https://github.com/anthropics/craft-agents.git
cd craft-agents

# Установка зависимостей
bun install

# Вариант A: Запуск напрямую
bun run apps/cli/src/index.ts <command>

# Вариант B: Глобальная установка (добавляет craft-cli в PATH)
cd apps/cli && bun link
craft-cli <command>

Быстрый старт

Самый быстрый способ попробовать — без настройки сервера:

terminalbash
# Самостоятельный запуск (автоматически запускает сервер)
ANTHROPIC_API_KEY=sk-... bun run apps/cli/src/index.ts run "Hello, world!"

Параметры подключения

Флаг Переменная окружения По умолчанию Описание
--url <ws[s]://...> CRAFT_SERVER_URL URL WebSocket-сервера
--token <secret> CRAFT_SERVER_TOKEN Токен аутентификации
--workspace <id> автоопределение ID workspace
--timeout <ms> 10000 Таймаут запроса
--tls-ca <path> CRAFT_TLS_CA Пользовательский сертификат CA (для самоподписанного TLS)
--json false Вывод JSON для скриптов
--send-timeout <ms> 300000 Таймаут для команды send

Флаги переопределяют переменные окружения. Если --workspace не указан, используется первый доступный workspace автоматически.

Команды

Информация и проверка состояния

Команда Канал Описание
ping только рукопожатие Проверка соединения — выводит clientId и задержку
health credentials:healthCheck Проверка состояния хранилища учётных данных
versions system:versions Отображение версий сервера

Просмотр ресурсов

Команда Канал Описание
workspaces workspaces:get Список всех workspace (id, name, path)
sessions sessions:get Список сессий (id, name, preview, status)
connections LLM_Connection:list Список LLM-подключений
sources sources:get Список настроенных источников

Операции с сессиями

Команда Канал Описание
session create [--name <n>] [--mode <m>] sessions:create Создание новой сессии
session messages <id> sessions:getMessages Вывод истории сообщений
session delete <id> sessions:delete Удаление сессии
cancel <id> sessions:cancel Отмена текущей обработки

Отправка сообщения (с потоковой передачей)

terminalbash
craft-cli send <session-id> <message>
echo "Summarize this" | craft-cli send <session-id>

Команда send подписывается на session:event и потоково передаёт ответ ИИ в stdout в реальном времени:

Тип события Вывод
text_delta Текст добавляется в строку
tool_start Маркер [tool: name — intent]
tool_result Вывод инструмента (усечён до 200 символов)
error Ошибка в stderr, код завершения 1
complete Перевод строки, код завершения 0
interrupted [interrupted], код завершения 130

Сырой RPC

terminalbash
craft-cli invoke <channel> [json-args...]   # Отправка любого RPC-канала
craft-cli listen <channel>                   # Подписка на push-события

invoke отправляет запрос на любой канал и выводит ответ. listen подписывается на push-канал и выводит события по мере поступления (Ctrl+C для остановки).

Run (самостоятельный запуск)

terminalbash
craft-cli run <prompt>
craft-cli run --workspace-dir ./project --source github "List open PRs"

Команда run полностью автономна — она запускает headless-сервер, создаёт сессию, отправляет запрос, потоково передаёт ответ и завершается. Не требуется отдельная настройка сервера. Ключ API определяется из --api-key, $LLM_API_KEY или переменной окружения конкретного провайдера (например, $ANTHROPIC_API_KEY, $OPENAI_API_KEY).

Флаг По умолчанию Описание
--workspace-dir <path> Регистрация директории workspace перед запуском
--source <slug> Включение источника (можно повторять)
--output-format <fmt> text Формат вывода: text или stream-json
--mode <mode> allow-all Режим прав для сессии
--no-cleanup false Пропустить удаление сессии при завершении
--server-entry <path> Пользовательская точка входа сервера

Настройка LLM:

Флаг Переменная окружения По умолчанию Описание
--provider <name> LLM_PROVIDER anthropic Провайдер: anthropic, openai, google, openrouter, groq, mistral, xai и др.
--model <id> LLM_MODEL (по умолчанию провайдера) ID модели (например, claude-sonnet-4-5-20250929, gpt-4o, gemini-2.0-flash)
--api-key <key> LLM_API_KEY (переменная окружения провайдера) Ключ API — также проверяет переменные окружения конкретных провайдеров, таких как $OPENAI_API_KEY
--base-url <url> LLM_BASE_URL Пользовательский конечный точка для прокси, OpenRouter или локальных моделей
terminalbash
# Примеры с несколькими провайдерами
craft-cli run --provider openai --model gpt-4o "Summarize this repo"
GOOGLE_API_KEY=... craft-cli run --provider google --model gemini-2.0-flash "Hello"
craft-cli run --provider anthropic --base-url https://openrouter.ai/api/v1 --api-key $OR_KEY "Hello"

Проверка сервера

terminalbash
# Против запущенного сервера
craft-cli --validate-server --url ws://127.0.0.1:9100 --token <token>

# Самостоятельный запуск (автоматически запускает сервер)
craft-cli --validate-server

Если --url не указан, --validate-server автоматически запускает локальный headless-сервер, выполняет проверку и завершает его работу.

Выполняет 21-этапный интеграционный тест, охватывающий полный жизненный цикл сервера, включая создание источников и скиллов:

  1. Подключение + рукопожатие
  2. credentials:healthCheck
  3. system:versions
  4. system:homeDir
  5. workspaces:get
  6. sessions:get
  7. LLM_Connection:list
  8. sources:get
  9. sessions:create (временная сессия __cli-validate-*)
  10. sessions:getMessages
  11. Отправка сообщения + поток (текстовый ответ)
  12. Отправка сообщения + использование инструмента (инструмент Bash)
  13. sources:create (временный источник Cat Facts API)
  14. Отправка + упоминание источника (использует созданный источник)
  15. Отправка + создание скилла (запись SKILL.md через Bash)
  16. skills:get (проверка появления скилла)
  17. Отправка + упоминание скилла (вызов созданного скилла)
  18. skills:delete (очистка)
  19. sources:delete (очистка)
  20. sessions:delete (очистка)
  21. Отключение

Примечание: Этот тест изменяет состояние workspace — создаёт и удаляет временную сессию, источник и скилл. Все ресурсы очищаются по завершении. В случае ошибки продолжает выполнение и выводит сводку.

Используйте --json для машинно-читаемого вывода:

terminalbash
craft-cli --validate-server --json | jq '.results[] | select(.status == "FAIL")'

Устранение неполадок

Симптом Причина Решение
Таймаут соединения Сервер не запущен Проверьте URL сервера и убедитесь, что он запущен
AUTH_FAILED Неверный токен Проверьте, что CRAFT_SERVER_TOKEN совпадает
PROTOCOL_VERSION_UNSUPPORTED Несоответствие версий Обновите CLI и сервер
Ошибка WebSocket Проблемы с сетью/TLS Используйте --tls-ca для самоподписанных сертификатов

Нужен такой агент в вашей компании?

Устанавливаем под ключ: настройка на компьютерах сотрудников, единый аккаунт, интеграция с 1С и внутренними системами, обучение команды. Подробнее о внедрении →