AiHummer
Русский
ВойтиЛичный кабинет
v1.2.x
{ }Swagger

Справочник CLI

v1.2.x · обновлено 2026-08-04

Командная утилита aihummer управляет установкой на своём сервере: запускает и обновляет шлюз (сама установка выполняется по персональной ссылке из личного кабинета), управляет службой systemd gateway, запускает диагностику, выполняет резервное копирование, читает и пишет настройки административного API и подписывает лицензии. На этой странице перечислены все команды.

Команды

Команда Что делает
up / install Запустить systemd-сервис gateway (systemctl start). Ничего не устанавливает — установку выполняет установочный скрипт по персональной ссылке.
update [--check] Обновить до последнего релиза (проверка подписи + замена бинарного файла + перезапуск); --check только сообщает, есть ли обновление.
restart Перезапустить службу gateway (systemctl restart).
stop Остановить службу gateway (systemctl stop).
logs [юнит] [--no-follow] Следить за журналом одного systemd-юнита (journalctl -u); по умолчанию — юнит gateway. Флаг --no-follow выводит последние строки журнала и завершает работу; без него команда следит за журналом.
status Обзор установки, состояние служб и готовность шлюза (/readyz). Раздел «Компоненты» показывает состояние необязательных сайдкар-служб (поиск, браузер, распознавание и синтез речи, видео); если systemctl недоступен, выводится честное «состояние неизвестно», а не «не установлен».
doctor Диагностика с тремя вердиктами: «всё в порядке», «работает с предупреждениями: N» или «обнаружены проблемы». Проверки Node.js и материала регистрации во флоте — предупреждения, а не отказы.
backup [dir] pg_dump Postgres (state plane) в файл; без аргумента — в каталог по умолчанию.
restore <file> Необратимо заменяет текущее состояние: восстанавливает Postgres из файла дампа, созданного backup.
uninstall [flags] Необратимо удаляет установку (флаги ниже): службы, бинарные файлы, при --purge — и данные (база, медиафайлы, конфигурация). Требует root — запускайте через sudo.
set-password / admin-password Установить/сгенерировать локальный пароль администратора ([--login admin] [--password X]).
settings {set|get|list} Читать/писать настройки административного API в БД — так параметры Каталога настроек задаются из CLI вместо gateway.env.
license {keygen|sign|show <token>} Управление лицензиями: генерация ключа, подпись, декодирование и проверка переданного токена.
loadtest Запустить нагрузочный тест против gateway.
plugin {init|validate|keygen|package|sign|publish} SDK плагинов: каркас, валидация, ключи, упаковка, подпись и публикация.
version Вывести версию.
help Показать справку.

Флаги uninstall

Флаг Эффект
--purge Необратимо: также удалить данные — базу, медиафайлы и конфигурацию (полное удаление).
--yes Пропустить запрос подтверждения.
--no-backup Не делать резервную копию перед удалением.
--backup-dir <dir> Записать резервную копию перед удалением в этот каталог.

Примеры использования

Установка и запуск

Установку выполняет персональная ссылка из личного кабинета (см. Установку); после неё CLI запускает и проверяет службу:

sudo aihummer up
aihummer status

Ожидаемый результат: status сообщает, что шлюз готов (/readyz200).

Обновление

# Только проверить наличие нового релиза
aihummer update --check

# Применить обновление
sudo aihummer update

Управление службой и журналы

Команды действуют на один systemd-юнит gateway (AIHUMMER_SERVICE, по умолчанию aihummer-gateway); logs принимает имя любого systemd-юнита.

sudo aihummer restart
aihummer logs                 # журнал юнита gateway (по умолчанию; следит)
aihummer logs --no-follow     # вывести последние строки и выйти
aihummer logs aihummer-stt    # журнал другого systemd-юнита
sudo aihummer stop

Диагностика

aihummer doctor

Резервная копия и восстановление

backup делает pg_dump Postgres (state plane) в файл; restore принимает этот файл дампа.

aihummer backup /var/backups/aihummer
aihummer restore /var/backups/aihummer/aihummer-2026-07-05.sql

[!TIP] Postgres — источник истины, но для AIHUMMER_MASTER_KEY и каталога медиафайлов нужна отдельная резервная копия: без мастер-ключа зашифрованные секреты восстановить нельзя.

Установка пароля администратора

Команда принимает флаги [--login admin] [--password X] и требует AIHUMMER_DATABASE_URL — обычно он подхватывается из gateway.env, когда команда запускается от пользователя установки или через sudo.

sudo aihummer set-password --login admin

Настройки административного API

settings читает и пишет параметры Каталога настроек прямо в БД — тот же источник, что и веб-интерфейс (Управление → Настройки). Именно так параметры Каталога задаются из CLI: значения в gateway.env для них игнорируются.

aihummer settings set AIHUMMER_STT_URL http://127.0.0.1:8001
aihummer settings get AIHUMMER_STT_URL
aihummer settings list

settings list показывает только пользовательские ключи Каталога (системные и служебные скрыты); у каждого ключа помечен источник — [db] для заданных вами значений и [unset] со значением по умолчанию.

Лицензии

license show требует аргумент <token> и переменную AIHUMMER_LICENSE_PUBKEY: команда декодирует и проверяет переданный токен, а не показывает текущую лицензию инстанса.

aihummer license keygen                # сгенерировать ключ подписи (НЕОБРАТИМО заменяет прежний ключ при перезаписи файла)
aihummer license sign                  # подписать лицензию
aihummer license show <token>          # декодировать и проверить токен

Нагрузочный тест

aihummer loadtest

Плагины

aihummer plugin init <kind>            # каркас манифеста (connector|service|openapi|mcp)
aihummer plugin validate manifest.json # проверить манифест по контракту
aihummer plugin keygen                 # ed25519-ключ автора (.key + .pub)
aihummer plugin package ./my-plugin    # собрать tarball + .sha256
aihummer plugin sign --key author.key --manifest ./my-plugin/manifest.json my-plugin-1.0.0.tar.gz

# Публикация приватно в свой инстанс (в общий каталог — через ЛК «Мои плагины»)
aihummer plugin publish --private --instance https://host --token <admin> my-plugin-1.0.0.tar.gz

Полное описание SDK, а также публикацию в общий каталог из ЛК («Мои плагины») — см. Plugin SDK и Публикацию плагина.

[!WARNING] Необратимо. uninstall требует root: запускайте sudo aihummer uninstall. Команда sudo aihummer uninstall --purge --yes безвозвратно удаляет службы, бинарные файлы и данные (база, медиафайлы, конфигурация) и пропускает подтверждение — сначала убедитесь, что у вас есть проверенная резервная копия.

Окружение

Переменные, которые читает сама утилита aihummer:

Переменная Назначение
AIHUMMER_SERVICE Имя systemd-юнита gateway (по умолчанию aihummer-gateway) — цель для up/restart/stop/logs.
AIHUMMER_GATEWAY_URL URL gateway для status/doctor/loadtest (по умолчанию http://127.0.0.1:8780).
AIHUMMER_DATABASE_URL DSN Postgres — нужен backup/restore/set-password/settings.
AIHUMMER_LANG Язык вывода и справки CLI: ru (по умолчанию) или en.

Большинству команд нужен root (systemctl) — запускайте через sudo.

Куда дальше