Instalacja
AiHummer instaluje gospodarz-natywny. Instalacja rozpoczyna się w Twoim koncie osobistym na my.aihummer.ru: rejestrujesz się, uzyskujesz osobisty link instalacyjny i uruchom jedno polecenie na swoim serwerze. Skrypt instalacyjny pobiera podpisany pakiet dla Twojej architektury, tworzy pojedynczy katalog instalacyjny w ~/.aihummer (w katalogu domowym użytkownika, który uruchomił instalator), rejestruje jednostki systemd i opcjonalnie przygotowuje dodatkowe komponenty. W tym procesie nie ma żadnych kontenerów.
[!NOTE] To jest instalacja natywna dla hosta — pakiet wypuszczeniowy działający pod systemd, nie Docker. Brama, sidecary i wtyczki każdy działa jako własny systemd serwis.
[!NOTE] Czego będziesz potrzebować zanim zaczniesz:
- a Linux serwer (x86_64 lub arm64), do którego można się połączyć przez SSH;
sudoprawa (lub gotowość do instalacji bez uprawnień root — patrz poniżej);- PostgreSQL z
pgcryptorozszerzenie — lub pozwól instalatorowi na jego udostępnienie klaster w trybie użytkownika (w trybie bez uprawnień root robi to sam);- konto w my.aihummer.ru aby uzyskać swoje osobiste link do instalacji.
Pełna lista wymagań znajduje się na Wymagania strona.
Krok 1: pobierz swój osobisty link instalacyjny
Nie ma publicznego skryptu instalacyjnego — link do instalacji to osobisty i wydany w portalu Twojego konta:
- Zarejestruj się na my.aihummer.ru (numer telefonu + hasło; e-mail również będzie potrzebny).
- Otwórz Instalacja wyświetl ekran i kliknij „Pobierz osobisty link instalacyjny”.
- Portal pokazuje gotowe do uruchomienia polecenie z twoim osobistym linkiem.
Więcej o samym portalu (szczegóły rozliczeń, dokumenty, plany) znajduje się na Konto osobiste strona.
Krok 2: instalacja jednym poleceniem
Skopiuj polecenie z ekranu „Instalacja” i uruchom je na swoim serwerze (Linux x86_64/arm64):
curl -fsSL -o install.sh "<your personal install link>" && sudo bash install.sh
Osobisty link wygląda tak: https://my.aihummer.ru/dl/<token>/install.sh i jest
przypisany do Twojego konta.
[!IMPORTANT] Link jest jednorazowy: działa dokładnie dla jednej instalacji. W chwili, gdy instalator pobierze przez niego
install.sh, link uznaje się za zużyty. Ponowne uruchomienie tego samego polecenia zwróci błąd „link już wykorzystany” — to zabezpieczenie, a nie awaria. Co zrobić: otwórz ekran „Instalacja” w panelu klienta i wygeneruj nowy link; jest to bezpłatne i natychmiastowe.Termin 30 dni dotyczy pobierania artefaktów, a nie ponownej instalacji: już zainstalowana instancja aktualizuje się przez swój link długo po tym, jak został on zużyty na instalację.
Skrypt wykrywa architekturę twojego procesora, pobiera odpowiadający pakiet wraz z jego .sha256 suma kontrolna i współpodpis .sig podpis, weryfikuje oba, rozpakowuje katalog instalacyjny i rejestruje usługę bramy. Zobacz Lista zmian dla bieżącego wydania.
Osobisty link również wiąże instancję z Twoim kontem w portalu klienta: instalator przechowuje token z linku, instancja wysyła go przy pierwszej rejestracji u dostawcy, a portal automatycznie łączy instancję z Twoim kontem. Twój adres e-mail natychmiast staje się adresem e-mail instancji zweryfikowany kontakt — brak osobnego kroku „dołącz i zweryfikuj e-mail” w interfejsie WWW, a licencja zostaje dostarczona bez ręcznych czynności.
[!WARNING] Twój osobisty link jest twoim kluczem do dystrybucji. Nie publikuj go: każdy trzymając link, można pobierać kompilacje w twoim imieniu, aż token wygaśnie.
Zainstaluj układ root
Wszystko znajduje się w jednym katalogu. W którym — zależy od tego, jak uruchomiono instalator:
| Sposób instalacji | Katalog instalacji | Konfiguracja | Konto usługi |
|---|---|---|---|
Zwykła instalacja (przez sudo) |
/home/.aihummer |
/etc/aihummer/gateway.env |
Osobne konto usługowe aihummer |
| Bez uprawnień root (rootless) | ~/.aihummer |
~/.aihummer/etc/gateway.env |
Twój własny użytkownik |
Zwykła instalacja nie umieszcza plików w Twoim katalogu domowym i nie
uruchamia usługi na Twoim koncie: zakłada dla niej wydzielonego,
nieuprzywilejowanego użytkownika aihummer. Jest to celowe — przejęcie usługi nie
daje dostępu do Twoich osobistych plików.
Układ wewnątrz katalogu jest taki sam w obu trybach (poniżej pokazano zwykły):
/home/.aihummer/
├── bin/ gateway binary and the aihummer CLI
├── etc/ configuration (gateway.env)
├── share/ static assets for the administration interface
├── sidecars/ optional STT/TTS/etc services
├── plugins/ installed marketplace plugins
├── systemd/ unit files (symlinked into /etc/systemd/system)
├── state/ runtime state
├── data/ blob/media storage
└── logs/ service logs
Pliki jednostek systemd wygenerowane w systemd/ są połączony dowiązaniem symbolicznym do /etc/systemd/system/, więc są one zarządzane regularnie systemctl polecenia.
Instalacja bezkorzeniowa
sudoNie są wymagane uprawnienia root. Jeśli uruchomisz polecenie instalacyjne bez sudo, instalator przełącza się w tryb bezuprawnieniowy: jednostki są rejestrowane w systemd --user zakres (pliki w ~/.config/systemd/user), ten aihummer CLI i cosign lądują w ~/.aihummer/bin, a jeśli AIHUMMER_DATABASE_URL jeżeli nie jest ustawione, instalator przygotowuje klaster PostgreSQL w trybie użytkownika wewnątrz katalogu instalacyjnego. Usługi są zarządzane za pomocą systemctl --user .... Aby usługi uruchamiały się przy starcie hosta (a nie tylko przy logowaniu użytkownika), włącz utrzymywanie w tle:
loginctl enable-linger $USER
Wybór sidecara
Lekki boczny pojazd medialny — STT (faster-whisper), TTS (edge-tts) i wideo — instalacja gotowa do użycia, bez pytań ani ostrzeżeń: dwukierunkowe korzystanie z głosu działa od razu. Każdy z nich można wyłączyć za pomocą zmiennych środowiskowych AIHUMMER_SKIP_STT=1, AIHUMMER_SKIP_TTS=1, AIHUMMER_SKIP_VIDEO=1.
Wyszukiwanie w sieci (SearXNG) i przeglądarka (CloakBrowser) są wbudowane w podpisany pakiet i domyślnie instalują się offline — instalator już o nie nie pyta. Flagi zmieniają to zachowanie — oto pełna lista:
| Flaga | Efekt |
|---|---|
--no-search / --no-browser |
Pomiń ten sidecar |
--external-search=URL / --external-browser=URL |
Użyj istniejącej usługi pod tym adresem URL zamiast instalować |
--browser-engine=cloak|chrome |
Silnik przeglądarki (domyślnie cloak) |
--with-search / --with-browser |
Zbędne od v1.0.14 — to już jest zachowanie domyślne |
--with-embedder |
Zainstaluj osadzacz semantyczny (dobrowolny udział: pobiera PyTorch — setki MB) |
Wyszukiwanie i przeglądarka instalują się także bez tty: ich zawartość pochodzi z pakietu, więc dostęp do internetu nie jest potrzebny. Obie instalacje nie są blokujące — jeśli zawartości brakuje albo wersja Pythona nie jest wspierana, usługa po prostu pozostaje nieskonfigurowana, a instalacja nigdy nie jest przerywana. Osadzacz może być również włączony za pomocą AIHUMMER_WITH_EMBEDDER=1; bez niego pamięć działa w trybie wyszukiwania zastępczego leksykalnego. Język interfejsu użytkownika jest ustawiany przez AIHUMMER_LANG=ru|en (w przeciwnym razie instalator pyta na tty). Połączenie z PostgreSQL jest wywoływane na tty; dla instalacji nieinteraktywnych ustaw AIHUMMER_DATABASE_URL z wyprzedzeniem. Na tty instalator oferuje również przywracanie z kopii zapasowej.
# Zainstaluj bramkę z osadzaczem, bez przeglądarki (wyszukiwanie instalowane jest domyślnie)
curl -fsSL -o install.sh "<your personal install link>" && sudo bash install.sh \
--with-embedder --no-browser
Ponieważ sidecary są adresowane przez URL, możesz swobodnie mieszać rodzime i zewnętrzne oraz wskazywać kilka bramek na jeden wspólny sidecar.
Jak sprawdzana jest autentyczność kompilacji
Osobisty link z panelu klienta zawsze instaluje bieżące wydanie — to standardowa i jedyna droga. Nie ma tu żadnej „nowszej wersji” do wyboru: otrzymujesz tę kompilację, którą dostawca wypuścił do pracy produkcyjnej.
Każdy artefakt — zarówno przy pierwszej instalacji, jak i przy każdej
aktualizacji — przyjeżdża jako archiwum tar dla Twojej architektury, a obok niego
leżą suma kontrolna .sha256 i podpis .sig (cosign). Instalator sprawdza
oba, zanim cokolwiek rozpakuje. Ręcznie nie musisz weryfikować niczego.
Oczekiwany wynik: kontrole przechodzą po cichu i instalacja trwa dalej. Jeśli choć jedna się nie zgodzi, instalator zatrzymuje się z błędem i nie rusza już działającej wersji — uszkodzony lub podmieniony plik nie trafi na Twój serwer.
Jeśli dostawca zaprosił Cię do programu wczesnych testów, na ekranie „Instalacja” w panelu klienta pojawi się przełącznik, a dla wybranego wariantu wydawany jest osobny link — patrz Instancja.
Zweryfikuj instalację
Po zakończeniu instalacji sprawdź usługę i punkt końcowy gotowości:
systemctl status aihummer-gateway
curl -fsS http://localhost:8780/healthz
curl -fsS http://localhost:8780/readyz
/healthz zgłasza żywotność i wersję; /readyz sprawdza PostgreSQL i zwraca 503 podczas gdy baza danych jest niedostępna. Dołączony aihummer CLI również zapewnia aihummer status i aihummer doctor dla szybkiego przeglądu zdrowia.
Co zobaczysz po pomyślnej instalacji: ten aihummer-gateway serwis w active (running), a 200 z /healthz i /readyz, oraz początkowe hasło administratora w /home/.aihummer/etc/initial-admin-password.txt (przy instalacji rootless — ~/.aihummer/etc/initial-admin-password.txt) dla pierwsze logowanie.
Lista kontrolna produkcji
Pojedyncza komenda instalacyjna uruchamia bramkę, ale jest jeszcze nie gotowy do produkcji. Przed ujawnieniem, uzupełnij:
-
TLS — zakończyć HTTPS przed bramą (reverse proxy / własne certyfikat); nigdy nie wystawiaj zwykłego portu w niezaufanej sieci.
-
🔴 Włącz obsługę WebSocketów na odwrotnym proxy. Aplikacja mobilna i desktopowa łączy się z bramą przez
wss://, więc proxy musi przepuszczać nagłówkiUpgradeiConnection. Bez tego ustawienia proxy odpowiada zwykłą stroną ze statusem 200 zamiast101 Switching Protocols— aplikacja czyta to jako „usługa nie odpowiada“, chociaż brama działa poprawnie i w jej dzienniku nie ma ani jednego błędu. W Nginx Proxy Manager jest to przełącznik Websockets Support przy danym Proxy Host, a w zwykłym nginx —proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade";plusproxy_http_version 1.1w blokulocation.Sprawdzenie jednym poleceniem (oczekiwane
101, a nie200):curl -s -o /dev/null -w '%{http_code}\n' \ -H 'Connection: Upgrade' -H 'Upgrade: websocket' \ -H 'Sec-WebSocket-Version: 13' -H 'Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==' \ https://twoja-domena/ -
Zmień hasło administratora i usuń
initial-admin-password.txt; ustaw wydawca uwierzytelniania (AIHUMMER_OIDC_ISSUER/ LDAP / SAML) przed udostępnieniem/admin/*. -
Wykonaj kopię zapasową klucza głównego i bazy danych — rekord
AIHUMMER_MASTER_KEY(sekrety są nie do odzyskania bez niego) i skonfiguruj regularne kopie zapasowe PostgreSQL. -
Okabluj prawdziwy model — zestaw
AIHUMMER_LLM_*(lub BYOK); bez niego odpowiedzi przychodzą z deterministycznego mocka. -
Połącz co najmniej jeden kanał (Telegram zacząć) i przypisać do niego agenta.
Zobacz Pierwsze logowanie, Konfiguracja i Kopie zapasowe i DR dla szczegółów.
Jeśli to nie zadziałało
- „link już wykorzystany” / instalacja nie uruchamia się drugi raz — link jest jednorazowy i został już zużyty przy poprzedniej próbie. Wygeneruj nowy na ekranie „Instalacja” w panelu klienta i uruchom polecenie ponownie.
curl: (22) … 404lub „link nieprawidłowy” — link został skopiowany niekompletnie albo minął jego termin ważności. Lekarstwo to samo: świeży link.- nieobsługiwana architektura — instalacja obsługuje Linux x86_64 i arm64; nie ma pakietu dla innych platform.
/readyzzwraca503— brama nie widzi PostgreSQL. SprawdźAIHUMMER_DATABASE_URL, dostępność bazy danych oraz to, żepgcryptorozszerzenie jest tworzony (CREATE EXTENSION IF NOT EXISTS pgcrypto;).- Usługa nie została uruchomiona — kontrolować
systemctl status aihummer-gatewayijournalctl -u aihummer-gateway; do szybkiej diagnozy uruchomaihummer doctor. - Zainstalowano bez sudo, usługi zatrzymują się po wylogowaniu — włącz zwlekanie:
loginctl enable-linger $USER(zobacz bez korzeni). - Weryfikacja podpisu nie powiodła się — nie kontynuuj instalacji; spróbuj ponownie później
lub pobrać nowy link. Artefakt jest zawsze weryfikowany względem jego
.sha256i współpodpisywać.sig.
Dokąd dalej
- Pierwsze uruchomienie: zobacz Pierwsze logowanie odzyskać
początkowe hasło administratora z
/home/.aihummer/etc/initial-admin-password.txt(przy instalacji rootless —~/.aihummer/etc/initial-admin-password.txt). - Dostosuj wdrożenie: czytaj Konfiguracja.
- Chcesz prowadzonego pierwszego uruchomienia? Skorzystaj z Szybki start.