AiHummer
Polski
Zaloguj sięKonto
v1.1.x
{ }Swagger

Instalacja

v1.1.x · zaktualizowany 2026-08-04

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;
  • sudo prawa (lub gotowość do instalacji bez uprawnień root — patrz poniżej);
  • PostgreSQL z pgcrypto rozszerzenie — 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.

Nie ma publicznego skryptu instalacyjnego — link do instalacji to osobisty i wydany w portalu Twojego konta:

  1. Zarejestruj się na my.aihummer.ru (numer telefonu + hasło; e-mail również będzie potrzebny).
  2. Otwórz Instalacja wyświetl ekran i kliknij „Pobierz osobisty link instalacyjny”.
  3. 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/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łówki Upgrade i Connection. Bez tego ustawienia proxy odpowiada zwykłą stroną ze statusem 200 zamiast 101 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"; plus proxy_http_version 1.1 w bloku location.

    Sprawdzenie jednym poleceniem (oczekiwane 101, a nie 200):

    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) … 404 lub „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.
  • /readyz zwraca 503 — brama nie widzi PostgreSQL. Sprawdź AIHUMMER_DATABASE_URL, dostępność bazy danych oraz to, że pgcrypto rozszerzenie jest tworzony (CREATE EXTENSION IF NOT EXISTS pgcrypto;).
  • Usługa nie została uruchomiona — kontrolować systemctl status aihummer-gateway i journalctl -u aihummer-gateway; do szybkiej diagnozy uruchom aihummer 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 .sha256 i 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.