datarim
CLI для внешних AI-агентов — программный доступ ко всему pipeline через HTTP webhook (AAL 3 opt-in)
Обзор
CLI datarim — это автономный неинтерактивный интерфейс командной строки, предназначенный для внешних AI-агентов и систем автоматизации. Он предоставляет доступ ко всему конвейеру Datarim — от приёма задачи до доставки артефакта — через HTTP webhook. CLI использует JSON-формат запросов и поддерживает все этапы рабочего процесса Datarim: /dr-init, /dr-cowork, /dr-approve, /dr-exit и /dr-status.
Представлен в v2.18.0 (TUNE-0271). CLI применяет AAL 3 (адаптивный уровень аутентификации) для каждого запроса, требуя проверки цифровой подписи, защиты от повторного использования nonce и токенов с ограниченным временем действия.
Когда использовать вместо слэш-команд
| Сценарий | Слэш-команда | CLI datarim |
|---|---|---|
| Интерактивные сессии (оператор-человек) | Рекомендуется | Не подходит |
| Автоматизированные / CI / агентные конвейеры | Не поддерживается | Рекомендуется |
| Неинтерактивный вызов из скрипта | Не поддерживается | Обязателен |
| AAL 3 аутентифицированные операции | Опционально | Обязательно |
| Пакетная обработка (несколько задач) | Не поддерживается | Поддерживается через --batch |
Установка
Дистрибутив CLI — это один PHP-скрипт без внешних зависимостей. Запустите автоматический установщик:
curl -sSL https://datarim.club/cli/install.sh | bash
Скрипт установит команду datarim в /usr/local/bin и создаст конфигурационный каталог ~/.config/datarim/. Проверьте установку:
datarim version
Подкоманды
| Подкоманда | Описание |
|---|---|
run | Выполнить этап конвейера Datarim. Принимает JSON-тело запроса из stdin или через --request. Возвращает JSON-ответ. |
audit | Показать журнал аудита для конкретной задачи или сессии. Обязательный аргумент: --task-id. |
halt | Приостановить выполняемый конвейер. Обязательный аргумент: --task-id. |
resume | Возобновить приостановленный конвейер. Обязательный аргумент: --task-id. |
purge | Удалить все артефакты и логи завершённой задачи. Обязательный аргумент: --task-id. Требует подтверждения, если не указан --force. |
stats | Показать агрегированную статистику конвейера: количество задач, активные сессии, средняя длительность, частота ошибок. |
version | Вывести версию CLI и завершить работу. |
help | Показать эту справочную информацию. |
Механизмы защиты AAL 3
Каждый запрос CLI datarim должен удовлетворять шести требованиям AAL 3:
- Цифровая подпись — полезная нагрузка запроса подписывается зарегистрированной парой ключей Ed25519. Открытый ключ предоставляется при регистрации агента.
- Защита от повторного использования nonce — каждый запрос содержит уникальный nonce. Сервер отклоняет уже использованные nonce.
- Токены с ограниченным временем — каждый токен действителен не более пяти минут. Просроченные токены отклоняются.
- Привязка к сессии — подпись привязана к идентификатору текущей сессии. Повторное воспроизведение через разные сессии невозможно.
- Журнал аудита — каждое изменение записывается в неизменяемый журнал аудита с идентификатором отправителя, меткой времени и дайджестом запроса.
- Ограничение частоты — не более 60 аутентифицированных запросов в минуту на одного отправителя. Действуют лимиты на всплески.
Коды возврата
| Код | Значение |
|---|---|
| 0 | Успех |
| 17 | Неверный формат запроса (некорректный JSON) |
| 18 | Ошибка аутентификации (неверная или отсутствующая подпись) |
| 21 | Обнаружено повторное использование nonce |
| 22 | Срок действия токена истёк |
| 23 | Превышен лимит запросов |
| 24 | Задача не найдена |
| 25 | Этап конвейера недопустим в текущем состоянии |
| 26 | Внутренняя ошибка сервера |
| 27 | Ошибка конфигурации клиента |
Связанные ссылки
- Справочная документация CLI — полное описание команд, параметров конфигурации и примеров.
- Документ требований к продукту (PRD) — спецификация конвейера и архитектура AAL 3.
- Примечания к выпуску v2.18.0 (TUNE-0271) — журнал изменений и руководство по миграции.
Подробное описание всех опций, примеры использования и руководство по настройке AAL 3 приведены в файле docs/cli.md.