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

Системные требования

v1.1.x · обновлено 2026-07-21

AiHummer устанавливается напрямую в Linux под systemd, без Docker: он работает как релизный tarball, поэтому требования намеренно скромные. Единственная жёсткая зависимость — хост на Linux с PostgreSQL. Всё остальное — дополнительные сервисы, реальная модель, векторное хранилище — опционально и добавляется позже из админ‑панели.

[!NOTE] AiHummer работает без контейнеров: он разворачивается как tarball под systemd из ~/.aihummer (~ — домашний каталог пользователя, от имени которого выполнена установка). Не нужны ни среда выполнения контейнеров, ни Kubernetes, ни какой-либо оркестратор.

Минимум для теста

Чтобы попробовать AiHummer и проверить маршрут «канал → агент → ответ», достаточно:

  • Современный 64-битный дистрибутив Linux с systemd (x86_64 или arm64).
  • PostgreSQL с расширением pgcrypto (установщик может развернуть его сам).
  • 2 vCPU, 2 ГБ RAM, 10 ГБ диска.
  • Модель не обязательна: без неё ответы даёт детерминированная тестовая модель (mock) — она проверяет маршрут и интерфейс, но не выполняет рабочие задачи.

Рекомендуется для промышленной эксплуатации

  • 4+ vCPU, 8+ ГБ RAM, 40+ ГБ SSD (больше — при голосе и локальных моделях, см. таблицу ниже).
  • Реальная модель: локальная, транспорт через подписку Codex/ChatGPT или собственный API‑ключ провайдера.
  • Внешний адрес с TLS, настроенное резервное копирование PostgreSQL и хранение AIHUMMER_MASTER_KEY отдельно от резервной копии.
  • Отдельный хост (или ресурсы) под дополнительные сервисы, если используется голос, браузер или локальный эмбеддер.

Операционная система

AiHummer работает только на Linux. Серверной сборки под Windows или macOS нет — шлюз и его дополнительные сервисы поставляются как Linux-артефакты под каждую архитектуру и разворачиваются через systemd. (Клиент — это отдельное мобильное и настольное приложение; это канал, а не сервер.)

  • Современный 64-битный дистрибутив Linux с systemd.
  • x86_64 (amd64) или arm64 — установщик скачает пакет под нужную архитектуру.
  • Доступ sudo/root не обязателен строго: обычная установка идёт через sudo, но установщик, запущенный без root, ставит AiHummer в rootless-режиме под systemd --user — см. Установку.

База данных

PostgreSQL — единственная жёсткая зависимость и единый источник истины для всего состояния. Расширение pgcrypto обязательно — на нём держится зашифрованное хранилище секретов. Без базы данных шлюз стартует в урезанном режиме health-only и не делает ничего полезного.

[!IMPORTANT] Включите pgcrypto в целевой базе до первого запуска:

CREATE EXTENSION IF NOT EXISTS pgcrypto;

Шлюз подключается по DSN из AIHUMMER_DATABASE_URL. Для изоляции арендаторов можно дополнительно указать AIHUMMER_DB_APP_URL на ограниченную роль aihummer_app, чтобы активировать Postgres Row-Level Security; локальные установки настраивают это автоматически. Миграции БД обратно совместимы и применяются автоматически под advisory-локом на owner-пуле.

Аппаратные требования

Эти значения — ориентир для развёртывания шлюза плюс PostgreSQL на одном хосте. Дополнительные сервисы (STT/TTS, браузер, векторное хранилище) добавляют свой расход ресурсов и обычно размещаются на том же хосте только для небольших инсталляций.

Профиль CPU RAM Диск Примечания
Минимум для теста (оценка) 2 vCPU 2 ГБ 10 ГБ Шлюз + Postgres, тестовая модель, без дополнительных сервисов
Промышленная эксплуатация 4 vCPU 8 ГБ 40 ГБ SSD Шлюз + Postgres + пара дополнительных сервисов
Голос / локальные модели 8+ vCPU (GPU опц.) 16+ ГБ 80+ ГБ SSD STT/TTS, эмбеддер, локальный LLM-endpoint

Расход диска растёт с историей переписок, каталогом медиафайлов (AIHUMMER_BLOB_DIR), индексацией знаний и сроком хранения аудита. Планируйте резервные копии PostgreSQL (pg_dump + WAL/PITR) соответственно.

Сетевые порты

Для каждого порта важно понимать, кто подключается, откуда и к какому endpoint:

Порт Назначение Кто подключается Допустимый источник
:8780 (публичный) Каналы, вебхуки, OpenAI-совместимый API, /healthz, /metrics Мессенджеры, интеграции, ваши приложения Интернет (за TLS-прокси) или внутренняя сеть — по вашей модели угроз
:8781 (приватный) Веб‑интерфейс администратора Только администраторы Локальный хост / внутренняя сеть / VPN; не публикуйте в интернет без SSO
5432 (PostgreSQL) База данных Только шлюз Локальный хост или приватная сеть

Дополнительные сервисы (опционально)

Дополнительный сервис (sidecar) — это отдельный HTTP-сервис, запускаемый рядом с ядром или на отдельном узле, каждый под своим systemd-юнитом. Шлюз обращается к ним по URL, поэтому сервис может работать на том же хосте, на другом хосте, или можно указать на уже существующий инстанс. Ни один из них не обязателен для базового развёртывания.

Сервис Порт по умолчанию Что включает
STT (faster-whisper) 8001 Распознавание речи для голосовых запросов (локально)
TTS (edge-tts) 8002 Синтез речи; обращается к онлайн‑сервису Microsoft Edge
Video (ffmpeg) 8005 Понимание видео
SearXNG 8888 Инструмент web_search
Chrome/CDP 9222 Инструменты browser / computer

faster-whisper может распознавать речь локально. edge-tts обращается к онлайн‑сервису Microsoft Edge, поэтому текст для синтеза покидает ваш контур; для полностью изолированного режима подключите локальный TTS‑движок.

STT, TTS, video, веб-поиск (SearXNG) и браузер (CloakBrowser) ставятся установщиком из коробки. Дистрибутивы веб-поиска и браузера вшиты в подписанный установочный комплект и разворачиваются офлайн: отключить их можно флагами --no-search / --no-browser, а флаги --external-search=URL / --external-browser=URL подключают уже работающий у вас инстанс вместо локальной установки. Голосовые сервисы отключаются переменными AIHUMMER_SKIP_*. Семантический эмбеддер — opt-in (--with-embedder): он тянет PyTorch (сотни МБ), а без него память работает на резервном лексическом поиске. См. Установку.

[!NOTE] Node.js (версии 20 и новее) тоже вшит в установочный комплект и ставится офлайн, поэтому плагины на Node.js — приложение AiHummer, pocket-agent, канальные коннекторы — работают из коробки даже на дистрибутивах со старым системным Node.js.

LLM-провайдеры

Для запуска и тестирования платный API‑ключ не нужен: без модели используется тестовый mock. Для рабочих ответов подключите локальную модель, поддерживаемый транспорт через подписку Codex/ChatGPT или собственный ключ провайдера (BYOK) — на арендатора, строго опционально.

Поддерживаемые провайдеры:

  • Anthropic.
  • OpenAI.
  • Любой endpoint по стандарту OpenAI API — например, локальные серверы моделей, OpenRouter или OpenAI-совместимый endpoint Gemini.
  • Транспорт через подписку Codex / ChatGPT — управление моделью через подписку ChatGPT вместо тарифицируемого API-ключа.

[!TIP] Если запустить шлюз без подключённой модели (AIHUMMER_LLM_PROVIDER / AIHUMMER_LLM_MODEL / AIHUMMER_LLM_GATEWAY_URL), ответы приходят из детерминированной тестовой модели (mock), так что вы можете проверить каналы и маршрутизацию ещё до подключения реальной модели.

[!NOTE] AiHummer предоставляет только OpenAI-совместимый endpoint POST /v1/chat/completions. Endpoints /v1/models и /v1/embeddings не предоставляются. AiHummer предоставляет базовые метрики Prometheus по GET /metrics и при необходимости отправляет расширенную телеметрию через OTLP. /debug/pprof не публикуется.

Куда дальше

  • Установка — сервер соответствует требованиям: разверните AiHummer одной командой.
  • Быстрый старт — пройдите первый запуск по шагам, от установки до первого ответа агента.