Sidecar-ҳо
Баъзе имкониятҳо — нутқ, видео, ҷустуҷӯи веб, браузери headless — қисми худи gateway нестанд. Онҳо ҳамчун sidecar-ҳо иҷро мешаванд: хидматҳои хурд ва мустақили HTTP, ки gateway онҳоро тавассути URL дастрас мекунад. Ҳар sidecar ройгон ва маҳаллӣ аст: дар паси ҳеҷ кадоме аз онҳо API-и пулакии ҳатмӣ нест.
Sidecar чист
Sidecar як раванди алоҳида аст, ки як API-и HTTP-ро намоиш медиҳад. Gateway ҳеҷ гоҳ онро ба худ пайваст намекунад ва дар дохили раванд иҷро намекунад — он танҳо ба URL-е, ки шумо танзим мекунед, занг мезанад. Ҳар sidecar
- дар зери воҳиди systemd-и худ иҷро мешавад (host-native, бе контейнерҳо),
- тавассути як тағйирёбандаи муҳит ба gateway симбандӣ мешавад ва
- метавонад дар паҳлӯи gateway маҳаллӣ насб шавад, ё ба instance-и мавҷуда ишора кунад, ки шумо дар ҷои дигар иҷро мекунед.
Азбаски шартнома танҳо HTTP аст, ҳамон конфигуратсия кор мекунад, новобаста аз он ки
sidecar дар localhost аст ё дар host-и дигар.
[!NOTE] Sidecar-ҳо ихтиёрӣ ҳастанд. Имконият танҳо вақте фаъол аст, ки URL-и он танзим шуда бошад; то он гоҳ gateway бе он кор мекунад. Ин насби ҳадди ақалро танҳо ба gateway плюс PostgreSQL нигоҳ медорад.
Sidecar-ҳо ва портҳои онҳо
| Порт | Sidecar | Дар асоси | Қувват медиҳад ба | Симбандӣ бо |
|---|---|---|---|---|
| 8001 | STT | faster-whisper | speech-to-text | AIHUMMER_STT_URL |
| 8002 | TTS | edge-tts | text-to-speech | AIHUMMER_TTS_URL |
| 8003 | diarize | pyannote | diarization-и гӯянда | 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 |
Sidecar-ҳои овоз масири берун аз қуттӣ ҳастанд: STT (:8001) навбати агентро ғизо
медиҳад ва TTS (:8002) ҷавобро бо овоз мегӯяд, ҳарду дар муҳаррикҳои ройгон/маҳаллӣ.
Diarization (:8003), клонкунии овоз (:8004) ва фаҳмиши видео (:8005) sidecar-ҳои
иловагӣ ва opt-in ҳастанд. SearXNG (:8888) web_search-ро пуштибонӣ мекунад ва
endpoint-и Chrome/CDP (:9222) асбоби browser-ро пуштибонӣ мекунад.
Симбандии sidecar-ҳо
Шумо gateway-ро ба ҳар sidecar бо тағйирёбандаи муҳити мувофиқ ишора мекунед. Барои насби host-native sidecar-ҳои овоз (STT/TTS) барои шумо танзим карда мешаванд; бақияашро бо ниёз фаъол мекунед.
# gateway.env — voice in/out (auto-set by the installer for STT/TTS)
AIHUMMER_STT_URL=http://127.0.0.1:8001
AIHUMMER_TTS_URL=http://127.0.0.1:8002
# Optional voice/video sidecars
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
# Tool sidecars
SEARXNG_URL=http://127.0.0.1:8888
CLOAKBROWSER_CDP_URL=http://127.0.0.1:9222
[!TIP] Азбаски ҳар sidecar танҳо як URL аст, шумо метавонед хидматҳои вазнинро марказонед. Якчанд gateway-ро ба як instance-и муштараки STT/TTS ё SearXNG ишора кунед, ба ҷои иҷро кардани як нусха барои ҳар host.
Иҷрои онҳо маҳаллӣ ё муштарак
Ҳар sidecar дар зери воҳиди systemd-и худ дар host зиндагӣ мекунад, бинобар ин шумо онро мисли ҳар хидмати дигар идора мекунед — оғоз, истоп ва хондани логҳо мустақил аз gateway. Агар шумо аллакай, масалан, як endpoint-и SearXNG ё Chrome/CDP иҷро кунед, танҳо URL-ро ба он instance-и мавҷуда муқаррар кунед ва насби маҳаллиро комилан гузаред. Дар ҳар сурат назари gateway якхела аст: як URL-и танзимшуда, ки он метавонад ба он занг занад.
[!WARNING] Асбобҳои
browser(CDP) ваweb_searchба шабака дастрасӣ мекунанд. Дар ҷойгиркуниҳои сахткардашуда ё air-gapped пеш аз фаъол кардани онҳо egress ва танзими air-gapped-ро баррасӣ кунед — gateway танҳо ба sidecar-е занг мезанад, ки шумо симбандӣ кардаед.
Қадами навбатӣ ба куҷо
- Чӣ тавр овоз ва асбоби браузер дар як навбат истифода мешаванд: Gateway ва муҳаррики навбат.
- Вобастагии сахти ҳадди ақал (PostgreSQL) ва opt-in будани ҳама чизи дигар: Gateway ва муҳаррики навбат.