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

Konfiguracja

v1.2.x · zaktualizowany 2026-07-07

AiHummer jest konfigurowany przez katalog ustawień, a nie stos zmiennych środowiskowych. gateway.env jest tylko bootstrap: baza danych DSN, adresy/nasłuchy portów, klucz główny i podobne. Każdy inny klucz znajduje się w bazie danych i jest zmieniany z poziomu interfejsu administracyjnego WWW w czasie pracy lub za pomocą aihummer settings CLI. Zasada przewodnia jest prosta: wszystko, co da się dostroić, jest konfigurowalne w interfejsie webowym — nie tylko dla środowiska, i nie zakodowane na stałe.

Kolejność rozwiązywania

Każde ustawienie katalogu jest rozwiązywane w ten sam sposób, pierwsze dopasowanie wygrywa:

  1. Baza danych — wartość ustawiona poprzez interfejs administracyjny lub aihummer settings set.
  2. Domyślny — wbudowany domyślny dostarczony wraz z wydaniem.

Środowisko jest umyślnie nie jest częścią tego łańcucha: dla kluczy katalogowych AIHUMMER_* zmienna w gateway.env jest zignorowany, nawet jeśli jest ustawione. To daje każdej konfiguracji dokładnie jedno źródło prawdy — bazę danych — dzięki czemu wartość w interfejsie użytkownika nigdy nie może być cicho przesłonięta przez zapomnianą linię w pliku środowiskowym.

[!NOTE] Aby zmienić zachowanie w produkcji, nie edytujesz plików konfiguracyjnych — zmieniasz ustawienie w interfejsie administracyjnym (Zarządzanie → Ustawienia, strona z możliwością wyszukiwania) lub uruchom aihummer settings set <KEY> <VALUE> (get / list czytać), i to zajmuje efekt dla tego obszaru roboczego. Sam instalator wprowadza początkowe wartości katalogu do bazy danych przez aihummer settings set.

Gorące vs wymagane ponowne uruchomienie

To, jak zmieniona ustawienie wchodzi w życie, zależy od klucza:

Zachowanie Przykłady Kiedy ma zastosowanie
Gorący umożliwienie narzędzia, maksymalna głębokość pod-agenta Odczyt ponownie w czasie wykonywania, bez ponownego uruchamiania
Wymagany restart adres nasłuchiwania, okablowanie niektórych usług Zastosowano przy następnym ponownym uruchomieniu bramy

Klawisze skrótów są odczytywane na żywo, więc przełączanie narzędzia lub dostosowywanie subagent-depth wchodzi w życie w następnym turze. Niektóre klucze strukturalne wchodzą w życie dopiero po ponownym uruchomieniu; interfejs administracyjny wskazuje, które są które.

Zmienne Bootstrapa pozostają tylko w środowisku

Kilka zmiennych musi być obecnych w środowisku, ponieważ są potrzebne zanim katalog ustawień (i baza danych, z której korzysta) zostanie utworzony. Te bootstrap zmienne są tylko środowiskowe i nie są widoczne w interfejsie administracyjnym:

Zmienna Dlaczego to jest bootstrap
AIHUMMER_DATABASE_URL Baza danych musi istnieć, zanim jakiekolwiek ustawienie zależne od bazy danych będzie mogło zostać odczytane.
AIHUMMER_DB_APP_URL Ograniczona rola DSN, która aktywuje RLS.
AIHUMMER_MASTER_KEY base64-32 bajty; odblokowuje sekrety w spoczynku / sejf / BYOK.
AIHUMMER_GATEWAY_ADDR Publiczny adres nasłuchu (domyślny :8780) — API, parowanie, WS/SSE, przychodzące oraz aplikacja/proxy kieszonkowe.
AIHUMMER_WEBUI_ADDR Adres nasłuchiwania prywatnego interfejsu administracyjnego Web UI (domyślny :8781), podawane u korzenia /; ustaw na 0 wyłączyć.
AIHUMMER_BLOB_DIR Ścieżka systemu plików do katalogu blob/media — wymagana przy uruchamianiu.
AIHUMMER_OIDC_ISSUER Chroni /v1/admin/* zanim UI zostanie zaufane.

Okablowanie operacyjne, takie jak punkt końcowy telemetry OTLP, należy do tej samej kategorii bootstrap. Wszystko, co nie znajduje się na tej krótkiej liście, jest kluczem katalogu: znajduje się w bazie danych, a dla niego środowisko jest ignorowane.

[!WARNING] Trzymać AIHUMMER_MASTER_KEY bezpieczne i zarchiwizowane osobno z twojej bazy danych kopia zapasowa. Odszyfrowuje sejf na dane uwierzytelniające; jeśli ją stracisz, zaszyfrowane sekrety nie można odzyskać.

Plik konfiguracyjny

Dla instalacji natywnych na hoście, środowisko bootstrap znajduje się w pojedynczym pliku, który ładuje jednostka systemd:

~/.aihummer/etc/gateway.env

Edytuj ten plik tylko dla wartości bootstrap, a następnie uruchom ponownie usługę bramy, aby zastosować zmiany:

# ~/.aihummer/etc/gateway.env (excerpt)
AIHUMMER_DATABASE_URL=postgres://user:pass@localhost:5432/aihummer
AIHUMMER_MASTER_KEY=base64-32-bytes...
AIHUMMER_GATEWAY_ADDR=:8780
AIHUMMER_WEBUI_ADDR=:8781
AIHUMMER_OIDC_ISSUER=https://idp.example/realms/main
systemctl restart aihummer-gateway

Wszystko poza tymi kluczami bootstrap — agenci, narzędzia, tryb pamięci, strategie rozumowania, budżety, zabezpieczenia i reszta — jest zarządzane z poziomu ustawień interfejsu administracyjnego (lub za pomocą aihummer settings), nie z tego pliku: env jest ignorowane dla tych kluczy.

Okablowanie opcjonalnych funkcji

Wiele funkcji jest wyłączonych, dopóki nie skierujesz ich na usługę zaplecza. Wszystkie te klucze to ustawienia katalogu (są w bazie danych): ustaw je w interfejsie administracyjnym (Zarządzanie → Ustawienia) lub za pomocą CLI; umieszczając je w gateway.env nie robi nic — env jest dla nich ignorowane. W przypadku sidecarów zainstalowanych z pakietu (STT/TTS itp.) instalator wprowadza wartości bezpośrednio do bazy danych.

# Wire a real model (unset → deterministic mock)
aihummer settings set AIHUMMER_LLM_PROVIDER openai
aihummer settings set AIHUMMER_LLM_MODEL gpt-4o-mini
aihummer settings set AIHUMMER_LLM_GATEWAY_URL https://api.openai.com/v1

# Enable tools by pointing at their backends

# Voice sidecars (STT/TTS auto-configured by the installer)
aihummer settings set AIHUMMER_STT_URL http://localhost:8001
aihummer settings set AIHUMMER_TTS_URL http://localhost:8002

# Real vector store + embedder (example URLs; the embedder is installed with
# --with-embedder, otherwise memory uses the lexical fallback)
aihummer settings set AIHUMMER_QDRANT_URL http://localhost:6333
aihummer settings set AIHUMMER_EMBEDDER_URL http://localhost:8080

[!TIP] Prawdziwy model nigdy nie jest wymagany. Bez AIHUMMER_LLM_* połączony, odpowiedzi nadchodzą z deterministycznego makieta; AiHummer działa również na darmowym/lokalnym kompatybilnym z OpenAI punkty końcowe i transport subskrypcyjny Codex/ChatGPT, z opcjonalnym BYOK.

Powiadomienia

Interfejsy administracyjne Powiadomienia strona (w sekcji „Kontrola”) to skrzynka odbiorcza zdarzeń instancji (logowanie administratora, dostępna/zaaplikowana aktualizacja, awaria lub przywracanie sidecara itd.) z filtrami według kategorii, poziomu ważności i nieprzeczytanych. Obok niej znajduje się macierz kategoria × kanał dostawy: dla każdej kategorii zdarzeń, którą włączysz interfejs webowy, email, telegram i pchnąć kanały. Powiadomienia w interfejsie webowym są dostarczane lokalnie; Telegram jest połączony przyciskiem „Połącz Telegram” (deep link), e-mail jest aktywowany po zweryfikowaniu adresu wsparcia, a powiadomienia push przychodzą w aplikacji mobilnej. Krytycznych zdarzeń nie można wyciszyć na kanale webui.

Dokąd dalej