Przejdź do głównej zawartości

Diagnostyka systemu i analiza użycia

Libre WebUI udostępnia administratorom dwa bieżące widoki instancji: stronę System z diagnostyką hosta i środowiska uruchomieniowego oraz Użycie z analizą modeli i dostawców. Obie są ograniczone do administratorów w zapleczu i interfejsie. Odczyt pozostaje we wdrożeniu; opcjonalna zewnętrzna telemetria to osobna, konfigurowana przez operatora Obserwowalność.

Otwórz je z pozycji administratora na pasku bocznym, skrótów menu kart lub bezpośrednio przez /system i /usage. Inni użytkownicy nie mogą ich otworzyć, a karty zamykają się po utracie roli admin.

Diagnostyka systemu​

Strona System (/system) pokazuje:

  • Host: nazwę, platformę, wydanie jądra, architekturę, czas pracy, liczbę logicznych CPU, model CPU, średnie obciążenie i prawdopodobne działanie w kontenerze. Nie ma procentu użycia CPU — tylko średnie obciążenie.
  • Środowisko uruchomieniowe: wersję aplikacji i Node.js, ID procesu, czas pracy i katalog roboczy.
  • Pamięć: całkowitą, wolną i używaną pamięć hosta oraz RSS i stertę procesu.
  • Systemy plików: pojemność i użycie systemu (/) i katalogu danych (DATA_DIR).
  • Sieć: nazwy i adresy interfejsów, na Linuxie liczniki bajtów odebranych/wysłanych.
  • Docker: wersję silnika, system hosta, jądro, CPU i pamięć zgłaszane przez silnik oraz liczbę i ograniczoną listę kontenerów, gdy socket jest dostępny.

Strona odświeża się co 30 sekund przy aktywnej karcie i ma przycisk ręczny. Punkt GET /api/system wymaga uwierzytelnienia, aktywnej roli administratora i ma limit 120 żądań na użytkownika na 15 minut. Odpowiedzi nigdy nie są buforowane (Cache-Control: no-store), a każde żądanie zbiera świeże wartości.

Zależność od socketu Docker​

Sekcja Docker wybiera punkt tak samo jak Work i terminal: WORK_DOCKER_SOCKET, jeśli ustawiono (lokalna ścieżka Unix), inaczej DOCKER_HOST — unix:// albo zwykły HTTP tcp://, np. filtrowane proxy API — a następnie /var/run/docker.sock. Punkty ssh://, npipe:// i tcp:// z weryfikacją TLS są celowo pomijane. Żądania to tylko odczyty GET (wersja, informacje, lista), z limitem 4 sekund i rozmiaru; lista ma maksymalnie 100 pozycji.

Bez działającego socketu reszta strony funkcjonuje: panel wyjaśnia brak montowania, brak odczytu, nieosiągalny daemon lub zdalny punkt zamiast zgłaszać błąd całości.

Ujawniane dane i odbiorcy​

Lista jest celowo zredukowana do krótkiego ID, nazwy, obrazu, stanu i czasu utworzenia. Zmienne środowiskowe, etykiety, montowania, polecenia i ładunki inspekcji nigdy nie są dołączane; odpowiedź nie zawiera poświadczeń.

Strona pokazuje rzeczywiste szczegóły: nazwę hosta, katalog, wewnętrzne IP oraz nazwy i obrazy wszystkich kontenerów, nie tylko Libre WebUI. To zgodne z modelem zaufania: administrator Libre WebUI w Dockerze jest faktycznie administratorem hosta (zobacz Docker). Przydzielaj admin odpowiednio.

Analiza użycia​

Strona Użycie przedstawia pracę modeli i dostawców przypisaną użytkownikom. Pomiar odbywa się na obsługiwanych granicach i obejmuje:

  • lokalne wywołania czatu Ollama, w tym natywny Chat i Work przez Ollama;
  • wywołania zainstalowanych agentów CLI i wywołania silnika Strands;
  • czat przez wtyczki ze strumieniowaniem i bez;
  • osadzanie, obrazy, mowę-na-tekst, tekst-na-mowę, dźwięk i filmy przez wtyczki; oraz
  • Work przez wtyczki.

Operacje tła bez właściciela nie są przypisywane sztucznemu kontu i nie są mierzone. Nieudane lub anulowane wywołanie nadal jest zapisywane.

Zdarzenie zapisuje:

  • ID dostawcy/wtyczki i kopię nazwy (ollama i agent-cli:* używają tego samego rejestru co dostawcy wtyczek)
  • możliwość (chat, embedding, image, stt, tts, audio, video)
  • model
  • stan success, error lub cancelled (przerwany strumień jest anulowany)
  • tokeny tylko, gdy dostawca zwrócił metadane
  • liczniki jednostek (znaki TTS, obrazy, wejścia osadzania, zadania filmowe, bajty audio)
  • całkowity czas i znacznik czasu
  • ID użytkownika

Nic więcej nie jest przechowywane. Prompty, odpowiedzi, punkty dostawców, poświadczenia i treści błędów nigdy nie trafiają do tabeli użycia — błąd zapisuje tylko status = 'error'. Zdarzenia są w wybranej bazie (SQLite solo, PostgreSQL team) i przechowywane 400 dni; starsze są oportunistycznie usuwane przy zapisie, najwyżej raz dziennie. Pomiar działa best-effort i nigdy nie może zepsuć żądania modelu.

Strona oferuje zakres 7, 30 i 90 dni przez GET /api/plugins/usage?days=<1..365> tylko dla administratora (domyślnie 30). Pokazuje liczbę wywołań, zgłoszone tokeny, skuteczność, średnie opóźnienie i udział wywołań, które zgłosiły zużycie tokenów. Odczyt strony niczego nie zmienia i korzysta z istniejącej księgi użycia wdrożenia.

Użycie agentów​

Sekcja Agenci u góry (Wywołania agentów CLI i silnika Strands) pokazuje osobno Claude Code, Codex, OpenCode, Pi i Strands. Zawiera wywołania, zgłoszone tokeny, nieudane lub anulowane wywołania, średni czas i maksymalnie 20 najczęściej używanych modeli każdego agenta. Sumy obejmują wszystkie pasujące wywołania w wybranym okresie, niezależnie od limitów wyświetlania większych tabel dostawców i modeli. Są to części sum strony, a nie dodatkowe płatne zdarzenia.

Agent bez rekordów pokazuje Brak zarejestrowanych wywołań w tym okresie. Nie określa to, czy CLI jest zainstalowana lub zalogowana. Wywołania bez metadanych tokenów pokazują Tokeny nie zostały zgłoszone; brakujące liczniki nie są szacowane. Widoczna strona odświeża się co 20 sekund i pozwala na odświeżanie ręczne.

Użycie CLI zapisuje jedno wywołanie i liczniki tokenów zgłoszone przez tę CLI. Migawki skumulowane zastępują wcześniejsze, a powtórzone raporty kroków są deduplikowane. Liczniki pamięci podręcznej i rozumowania łączy się zgodnie z protokołem danej CLI, bez podwójnego liczenia podzbiorów. Anulowane wywołania i częściowe odpowiedzi zakończone niepowodzeniem zachowują rzeczywisty wynik.

Wywołania Strands są przypisywane do agenta Strands. Silnik nie ma własnego dostawcy modeli; każde jego wywołanie modelu przechodzi przez dostawców Ollama lub wtyczek Libre WebUI. Wywołania spoza LWUI nie są importowane. Starsze rekordy bez liczników tokenów pozostają niezmierzone.

Punkt końcowy udostępnia to ograniczone zestawienie w agents, uwzględniając wszystkie pięć obsługiwanych nazw nawet przy zerowych licznikach. Odczyt nie wykrywa modeli CLI, nie uruchamia agentów i nie kontaktuje się z dostawcami. Starsze serwery bez tego pola mogą pokazywać zapisane wpisy agentów z podziału dostawców; brakujące wpisy nie są wtedy przedstawiane jako potwierdzone zerowe użycie.

Przeglądanie modeli i dostawców​

Kolory modeli łączą wykres dzienny, roczny kalendarz aktywności, tabelę modeli i paski dostawców. Obok kolorów są nazwy modeli, wartości i wskaźniki wyboru. Kalendarz aktywności zawsze obejmuje ostatnie 365 dni niezależnie od wybranego zakresu; kolor dnia wskazuje najczęściej używany model.

Wykres dzienny przełącza się między Wywołania i Tokeny. Najedź na model w legendzie albo przenieś na niego fokus klawiatury, aby prześledzić jego linię. Wybierz model, aby utrzymać wyróżnienie, wybierz ponownie, aby je zwolnić, albo użyj Pokaż wszystkie modele, by zresetować. Tabela modeli również ma akcję wyróżnienia. Wyróżnienie zmienia tylko akcent i zachowuje sumy dzienne, wartości tabeli oraz sumy dostawców.

Przesuń wskaźnik po wykresie albo użyj Przeglądaj dzienne użycie, aby obejrzeć sumę dnia i rozbicie na modele. Suwak dzienny obsługuje klawiaturę: strzałki przechodzą między dniami, a Home/End docierają do pierwszego i ostatniego. Kubełki dzienne i ich etykiety używają UTC.

Domyślnie wykres pokazuje 12 nazw modeli o największej liczbie wywołań w wybranym okresie, także w widoku tokenów. Każdy model pozostaje osobno dostępny: ustaw fokus lub wybierz model w tabeli albo w szczegółach dostawcy, aby wczytać jego dokładną linię dzienną, nawet spoza tej dwunastki. Komunikat ładowania podaje nazwę żądanego modelu w trakcie pobierania historii.

Linia dodatkowego modelu jest oddzielana od Inne modele, a pozostała grupa nie zawiera jego wywołań, zgłoszonych tokenów ani błędów. Wykres zawiera najwyżej 13 nazwanych linii modeli oraz grupę pozostałą, a ich wartości dzienne nadal zgadzają się z tymi samymi sumami. Wybierz Pokaż wszystkie modele, aby wrócić do widoku domyślnego.

Linie dzienne łączą wywołania o tej samej zapisanej nazwie modelu u różnych dostawców. Tabela modeli zachowuje osobne wpisy dostawca/model, więc ten sam model może pojawić się u więcej niż jednego dostawcy. Nazwane modele zachowują własne kolory w tabeli i na paskach dostawców, także poza domyślnym wykresem.

Szczegóły dostawcy pokazują jego udział w żądaniach, pasek podzielony na modele, zgłoszone tokeny, wywołania nieudane lub anulowane oraz średni czas odpowiedzi. Miks możliwości pozostaje dostępny pod rozbiciem na modele i dostawców.

Sumy tokenów obejmują tylko wywołania, dla których dostawca zgłosił metadane użycia. Procent pokrycia uwidacznia raportowanie częściowe; brakujących tokenów nigdy nie szacuje się na podstawie żądań ani innego modelu. Okres bez zgłoszonych tokenów pokazuje wyjaśnienie w widoku Tokeny, a historia żądań pozostaje dostępna w widoku Wywołania.

Punkt końcowy zawiera dzienne punkty modeli w modelSeries. Opcjonalny parametr zapytania model prosi o jedną dokładną zapisaną nazwę modelu obok domyślnej dwunastki, na przykład GET /api/plugins/usage?days=30&model=<encoded-model-name>. To ten sam punkt końcowy tylko dla administratorów i tylko do odczytu: pyta lokalną księgę użycia i nigdy nie wywołuje dostawcy modeli po historię.

Opcjonalny parametr to ustala górną granicę żądania jako uniksowy znacznik czasu w milisekundach. Wymaga model i przyjmuje wyłącznie nieujemną bezpieczną liczbę całkowitą nie późniejszą niż bieżący czas serwera. Przeglądarka wysyła range.to z przeglądu podczas wczytywania pojedynczego modelu, zachowując jego granice doby i roku w UTC oraz pomijając wywołania po tym znaczniku. Bez to punkt końcowy używa czasu bieżącego.

Wczytanie modelu nie zmienia kart, tabeli, sum dostawców ani kolorów przeglądu. Linia dzienna jest dodawana tylko wtedy, gdy granice czasu i sumy dzienne odpowiedzi zgadzają się z tym przeglądem. Granica czasu nie zamraża bazy: jeśli historyczne uzupełnienia lub usunięcia zmienią te sumy, przeglądarka odświeża przegląd przed pokazaniem linii modelu.

Gdy starszy serwer pomija modelSeries, wykres pokazuje zbiorczą serię Wszystkie modele wraz z informacją, że rozbicie na modele jest niedostępne. Tabela modeli pozostaje dostępna; przeglądarka nie wnioskuje dziennej historii modeli z sum okresu ani z kalendarza rocznego.

Pomiaru nie można wyłączyć. Zagregowane dane mogą oglądać tylko administratorzy.

Użycie pokazuje wywołania, jednostki, tokeny, opóźnienie i wyniki. Dodaj Zarządzanie kosztami, gdy potrzebujesz taryf obowiązujących w czasie, rozbicia wydatków, budżetów, alertów lub eksportu księgowego. Zdarzenia bez taryfy lub metadanych pozostają widocznie niewycenione, nie bezpłatne.

Atrybucja OpenRouter​

Od 0.18.0 żądania do OpenRouter identyfikują aplikację nagłówkami atrybucji (HTTP-Referer: https://librewebui.org, tytuł i kategorie). Są wysyłane tylko do https://openrouter.ai, nigdy niestandardowej lub samodzielnej trasy, i niczego nie dodają do lokalnej pamięci.

Powiązana dokumentacja​