Konfiguracja
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:
- Baza danych — wartość ustawiona poprzez interfejs administracyjny lub
aihummer settings set. - 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/listczytać), i to zajmuje efekt dla tego obszaru roboczego. Sam instalator wprowadza początkowe wartości katalogu do bazy danych przezaihummer 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_KEYbezpieczne 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
- Zablokuj logowanie administratora: Pierwsze logowanie.
- Zobacz, gdzie znajdują się pliki: Instalacja.
- Sprawdź wymagania wstępne: Wymagania.