Сайдкары
Часть возможностей — речь, видео, веб-поиск, headless-браузер — не входит в сам gateway. Они работают как сайдкары: небольшие независимые HTTP-сервисы, к которым gateway обращается по URL. Каждый сайдкар свободный и локальный: за ним не стоит никакого обязательного платного API.
Что такое сайдкар
Сайдкар — это отдельный процесс с HTTP-API. Gateway никогда не линкует его в себя и не запускает в своём процессе — он просто вызывает настроенный вами URL. Каждый сайдкар
- работает под своим systemd-юнитом (host-native, без контейнеров),
- подключается к gateway через переменную окружения и
- может быть установлен нативно рядом с gateway либо нацелен на уже существующий инстанс, который вы держите в другом месте.
Поскольку контракт — это просто HTTP, одна и та же конфигурация работает и когда
сайдкар на localhost, и когда он на другом хосте.
[!NOTE] Сайдкары опциональны. Возможность активна только тогда, когда настроен её URL; до этого gateway работает без неё. Поэтому минимальная установка — это лишь gateway плюс PostgreSQL.
Сайдкары и их порты
| Порт | Сайдкар | На основе | Обеспечивает | Подключение |
|---|---|---|---|---|
| 8001 | STT | faster-whisper | распознавание речи | AIHUMMER_STT_URL |
| 8002 | TTS | edge-tts | синтез речи | AIHUMMER_TTS_URL |
| 8003 | diarize | pyannote | диаризация дикторов | AIHUMMER_DIARIZE_URL |
| 8004 | voiceclone | OpenVoice V2 | клонирование голоса | AIHUMMER_VOICECLONE_URL |
| 8005 | video | ffmpeg | понимание видео | AIHUMMER_VIDEO_URL |
| 8888 | SearXNG | SearXNG | инструмент web_search | SEARXNG_URL |
| 9222 | Chrome / CDP | Chrome (CDP) | инструмент browser | CLOAKBROWSER_CDP_URL |
Голосовые сайдкары — это путь «из коробки»: STT (:8001) передаёт речь в ход
агента, а TTS (:8002) озвучивает ответ, оба на свободных/локальных движках.
Диаризация (:8003), клонирование голоса (:8004) и понимание видео (:8005) —
дополнительные, опциональные сайдкары. SearXNG (:8888) обеспечивает web_search,
а эндпоинт Chrome/CDP (:9222) — инструмент browser.
Подключение сайдкаров
Вы нацеливаете gateway на каждый сайдкар соответствующей переменной окружения. Для host-native установки голосовые сайдкары (STT/TTS) настраиваются за вас; остальные включаете по мере необходимости.
# gateway.env — голос вход/выход (STT/TTS задаются инсталлятором)
AIHUMMER_STT_URL=http://127.0.0.1:8001
AIHUMMER_TTS_URL=http://127.0.0.1:8002
# Опциональные голос/видео сайдкары
AIHUMMER_DIARIZE_URL=http://127.0.0.1:8003
AIHUMMER_VOICECLONE_URL=http://127.0.0.1:8004
AIHUMMER_VIDEO_URL=http://127.0.0.1:8005
# Сайдкары инструментов
SEARXNG_URL=http://127.0.0.1:8888
CLOAKBROWSER_CDP_URL=http://127.0.0.1:9222
[!TIP] Раз каждый сайдкар — это просто URL, тяжёлые сервисы можно централизовать. Нацельте несколько gateway на один общий инстанс STT/TTS или SearXNG вместо копии на каждом хосте.
Нативно или совместно
Каждый сайдкар живёт под своим systemd-юнитом на хосте, поэтому вы управляете им как любым другим сервисом — запускаете, останавливаете и читаете логи независимо от gateway. Если у вас уже работает, скажем, SearXNG или эндпоинт Chrome/CDP, просто укажите URL на этот существующий инстанс и пропустите локальную установку. В любом случае взгляд gateway одинаков: настроенный URL, который он может вызвать.
[!WARNING] Инструменты
browser(CDP) иweb_searchобращаются в сеть. На усиленных или изолированных (air-gapped) развёртываниях проверьте egress и режим air-gapped перед их включением — gateway вызывает только тот сайдкар, который вы подключили.
Куда дальше
- Как голос и инструмент браузера используются в ходе: Gateway и turn-движок.
- Минимальная жёсткая зависимость (PostgreSQL) и всё остальное опционально: Gateway и turn-движок.