Używanie zainstalowanego agenta programistycznego jako modelu czatu
Jeśli płacisz już za agenta programistycznego i jest on zalogowany na komputerze z Libre WebUI, możesz rozmawiać z nim w zwykłym czacie zamiast dodawać osobny klucz API. Libre WebUI wykrywa interfejs wiersza poleceń agenta i oferuje go w wyborze modeli tak jak każdy inny model.
Co jest wykrywane
Przy każdym żądaniu listy modeli Libre WebUI szuka na PATH serwera następujących poleceń:
| Model | Polecenie | Dostawca |
|---|---|---|
| Claude Code | claude | Anthropic |
| Codex | codex | OpenAI |
| Kiro | kiro-cli | AWS |
| Muse Code | muse | Meta |
| OpenCode | opencode | SST |
| Pi | pi | Mario Zechner |
Wszystko, co zostanie znalezione, pojawia się w grupie Agents wyboru modeli. Aplikacja niczego nie instaluje i nie wymaga pliku konfiguracyjnego — jeśli polecenie działa w powłoce serwera, pojawi się na liście.
Ustawienia → Czat → Domyślne również oznacza te wpisy jako Agent, w tym Strands, gdy Twoje konto może z niego korzystać. Modele wtyczek zachowują nazwę dostawcy, a etykietę Ollama mają tylko modele Ollama. Wyłączenie Ollama nie ukrywa skonfigurowanych agentów ani wtyczek. Karta informacji pokazuje nazwę wyświetlaną i dostawcę wybranego wpisu, a rozmiar, rodzinę i format tylko wtedy, gdy dostarcza je katalog.
Wybór modelu, nie tylko CLI
Każde CLI może udostępniać kilka pozycji w grupie Agents:
- Claude Code oferuje zalogowany model domyślny oraz Sonnet, Opus i Haiku.
Dostępne są również jawne wybory Sonnet 5.5 (
claude-sonnet-5-5), Opus 5.5 (claude-opus-5-5) i Haiku 5.5 (claude-haiku-5-5). Sonnet 5.5 wymaga Claude Code 2.1.284 lub nowszego, Opus 5.5 wymaga Claude Code 2.1.280 lub nowszego, a Haiku 5.5 wymaga Claude Code 2.1.293 lub nowszego, wszystkie z dostępem przez zalogowane konto; uruchomclaude update, aby zaktualizować CLI. Istniejące aliasy Sonnet, Opus i Haiku nadal korzystają z bieżącego mapowania modeli CLI. - Codex oferuje skonfigurowany model domyślny oraz udokumentowaną rodzinę logowania ChatGPT: GPT-6 Astra, GPT-6.1 Sol (
gpt-6.1-sol), GPT-6 Sol, GPT-6 Luna, GPT-5.6 Sol, Terra, Luna, GPT-5.5 i GPT-5.3 Codex Spark. Dostępność zależy od logowania CLI i uprawnień konta. - Kiro wyświetla modele, z których może korzystać zalogowane konto (z
kiro-cli chat --list-models), obok skonfigurowanego modelu domyślnego. Każda tura działa nieinteraktywnie na silniku agentów V3 CLI z przypiętym wbudowanym agentem domyślnym (vibe), więc niestandardowychat.defaultAgentnie ma zastosowania. Wymaga Kiro CLI 2.27 lub nowszego. - Muse Code oferuje skonfigurowany model domyślny oraz Muse Spark 1.3 (
muse-spark-1.3), Muse Spark 1.3 Contributor (muse-spark-1.3-contributor) i Muse Wonder 1.0 (muse-wonder-1.0). Loguje się przezmuse login(konto Meta) lub kluczem Meta Model API zMETA_API_KEYalbomuse auth set. Modele Contributor są rozliczane po niższej stawce, ponieważ Meta może trenować na tym, co do nich wysyłasz. - Pi działa z modelem skonfigurowanym w samym CLI.
- OpenCode wyświetla modele wszystkich uwierzytelnionych dostawców (z
opencode models) i zawsze wymaga jawnego wyboru — domyślna wartość CLI może wskazywać serwer lokalny niedostępny z hosta Libre WebUI.
Wbudowany silnik Strands również pojawia się w grupie Agenci, gdy Twoje konto może z niego korzystać. Nie jest to CLI: działa wewnątrz backendu i korzysta z Twoich modeli Ollama oraz modeli wtyczek dostawców. Zwykły wpis Strands (strands) używa Twojego domyślnego modelu czatu. Pozostałe wpisy (strands:<route>) są wymienione po jednym dla każdego dostępnego modelu, na przykład Strands · gpt-5.6-sol (Codex (ChatGPT)), i przypinają do rozmowy zarówno model, jak i jego dostawcę; podczas awarii inny dostępny dostawca nie może ich zastąpić. Pobranie listy wyborów nie uruchamia silnika.
Te same wpisy Strands mogą pełnić rolę modelu zadań w Ustawienia → Czat → Domyślne dla automatycznych tytułów i podsumowań rozumowania. Użyj obecnie uruchomionego modelu stosuje wybór Strands zapisany dla rozmowy. Te krótkie żądania tekstowe wywołują bezpośrednio model dostawcy; nie uruchamiają narzędzi agenta ani nie tworzą jego sesji. Inne profile CLI wymagają modelu zadań Ollama, wtyczki lub Strands do takich żądań pomocniczych.
Pi wykonuje każdą turę bez stanu (--no-session), z wyłączonymi narzędziami lokalnymi i neutralnym promptem systemowym, więc odpowiedzi nie są zabarwiane przez osobistą konfigurację Pi użytkownika systemowego serwera, a czaty nigdy jej nie dotykają.
Kiro działa odwrotnie pod oboma względami: korzysta z konfiguracji Kiro użytkownika serwera (wbudowany agent domyślny jest przypięty, ale reguły uprawnień (~/.kiro/settings/permissions.yaml), serwery MCP i skonfigurowany model domyślny nadal obowiązują), a każda tura jest zapisywana jako nowa sesja w magazynie sesji Kiro tego użytkownika (kiro-cli chat --list-sessions ją pokazuje, razem z transkrypcją ostatniego czatu). Nie ma flagi, która by to wyłączała, więc treść czatów znajduje się także w katalogu domowym użytkownika backendu, poza bazą danych Libre WebUI. Narzędzia Kiro pozostają włączone: wszystko, czemu ufają te reguły uprawnień (domyślnie odczyty i polecenia tylko do odczytu, takie jak date), działa bez pytania, a każde wywołanie narzędzia wymagające zatwierdzenia jest odrzucane, ponieważ tura czatu nie może odpowiedzieć na monit.
Muse Code odczytuje prompt z prywatnego pliku i działa bez interfejsu z wyłączonymi zatwierdzeniami (--approval-mode never), ponieważ tura czatu nie może odpowiedzieć na monit o zatwierdzenie. Jego własna piaskownica pozostaje włączona, a każda tura dostaje tymczasowy obszar roboczy, który jest potem usuwany, więc zapisy plików nie mogą trafić do katalogu domowego użytkownika serwera. Tury nie są zapisywane w dzienniku sesji Muse (--no-session-log), ale ustawienia, reguły i model domyślny Muse użytkownika serwera obowiązują.
Korzystanie
- Zaloguj się jako administrator.
- Uruchom czat i otwórz wybór modeli.
- Wybierz pozycję z grupy Agents.
- Wysyłaj wiadomości jak zwykle. Odpowiedzi są przesyłane token po tokenie.
Rozmowa jest przechowywana jak każdy inny czat, więc możesz ją opuścić i wrócić, zmienić nazwę oraz znaleźć w palecie poleceń. Każda tura wysyła agentowi transkrypcję ostatniej rozmowy i przesyła jego odpowiedź.
Kto może używać funkcji i do czego ma ona dostęp
Funkcja jest dostępna wyłącznie dla administratorów — z ważnego powodu. Agent działa na hoście jako ten sam użytkownik systemu operacyjnego co backend Libre WebUI, a nie wewnątrz kontenera Work. Dziedziczy więc poświadczenia agentów tego użytkownika i cały dostęp, jaki normalnie mają te agenty, w tym możliwość czytania plików i wykonywania poleceń na serwerze, jeśli agent tak zdecyduje.
Traktuj włączenie tej funkcji jak przyznanie agentowi dostępu do powłoki komputera. Dlatego jest ona dostarczana jako wyłączona: administrator musi ją włączyć w Ustawienia → Zarządzanie użytkownikami → Dostęp i zasady → Modele agentów CLI. Ustawienie jest trwałe i działa natychmiast, bez ponownego uruchomienia.
Zmiana tego ustawienia natychmiast odświeża katalog modeli: kategoria Agenci zawiera bezpośrednie wpisy CLI, a Modele wtyczek integracje API dostawców, takie jak Codex (ChatGPT). Strands jest wymieniony w tej samej kategorii, ale podlega własnemu ustawieniu dostępu Silnik Strands, a nie temu przełącznikowi, więc może się pojawić, gdy modele agentów CLI są wyłączone. Wykrywanie jego modeli nie może blokować wykrywania zainstalowanych agentów CLI.
Istniejące instalacje dziedziczą poprzednią zapisaną decyzję dotyczącą Agentów, dopóki nie zostanie zapisane niezależne ustawienie CLI.
Aby przypiąć decyzję na poziomie wdrożenia niezależnie od przełącznika środowiska wykonawczego, ustaw zmienną środowiskową w dowolnym kierunku (blokuje to również przełącznik w interfejsie):
AGENT_CLI_MODELS_ENABLED=false # or true
Jeśli model ma działać na plikach, ale pozostać w piaskownicy, użyj zamiast tego Work: uruchamia modele obsługujące narzędzia w zamkniętym kontenerze z izolowanym obszarem roboczym.
Ci sami agenci w Work
Work oferuje tych samych agentów z tymi samymi wyborami modeli i tymi samymi logowaniami, ale uruchamia ich w piaskownicy zadania zamiast na hoście, za serwerem proxy ruchu wychodzącego, który trzyma prawdziwe tokeny poza piaskownicą. Mają własny tryb dostępu, CLI agentów w Work, i nie wymagają powyższego przełącznika. Zobacz CLI agentów w Work.
Śledzenie użycia
Otwórz Użycie dostawców (/usage) i znajdź sekcję Agenci u góry. Claude Code, Codex, Kiro, Muse Code, OpenCode, Pi i Strands mają osobne wpisy, z wyraźnym komunikatem, gdy w wybranym okresie nie zapisano żadnych wywołań.
Wywołania CLI przez LWUI zapisują wynik, czas trwania i zgłoszone użycie tokenów. Każde wywołanie tworzy jedno zdarzenie użycia; powtarzane migawki i raporty poszczególnych kroków nie dublują zdarzeń ani tokenów. Brakujące liczniki pozostają niezgłoszone. Zatrzymanie odpowiedzi zapisuje anulowanie, a nieudane zakończenie CLI nie jest uznawane za sukces tylko dlatego, że wygenerowano część tekstu. Wywołania CLI spoza LWUI nie są importowane.
Wywołania Strands są przypisywane do agenta Strands. Szczegóły i ograniczenia opisano w sekcji Użycie agentów.
Konfiguracja
| Zmienna | Domyślnie | Cel |
|---|---|---|
AGENT_CLI_MODELS_ENABLED | nieustawiona | Przypina funkcję do true/false; brak wartości używa przełącznika administratora (domyślnie wyłączone) |
AGENT_CLI_TIMEOUT_MS | 600000 | Czas pojedynczej tury agenta przed jej zakończeniem |
Rozwiązywanie problemów
Grupa Agents nie pojawia się. Potwierdź, że funkcja jest włączona w Ustawienia → Zarządzanie użytkownikami → Dostęp i zasady → Modele agentów CLI (domyślnie wyłączona) i że zalogowano się jako administrator. Następnie sprawdź, czy polecenie znajduje się na PATH procesu backendu — nie tylko interaktywnej powłoki. Menedżer usług, kontener Docker lub program uruchamiający aplikację desktopową często zaczyna z dużo mniejszym PATH niż terminal logowania.
Odpowiedź natychmiast się nie udaje. Uruchom to samo polecenie ręcznie jako użytkownik serwera (claude -p "hello", codex exec "hello", muse exec "hello" lub echo hello | kiro-cli chat --no-interactive --output-format stream-json --agent-engine v3 --agent vibe). Wymagane jest Kiro CLI 2.27 lub nowsze; starsze CLI zawodzi najpierw tutaj, gdzie jego błąd jest widoczny, a w czacie ten sam błąd pojawia się tylko jako Kiro exited unsuccessfully. Najczęściej agent prosi o ponowne logowanie po wygaśnięciu sesji albo osiągnięto limit subskrypcji. Szczególnie OpenCode zgłasza wygaśnięcie logowania dostawcy tylko we własnych dziennikach; ponownie uruchom opencode auth login jako użytkownik serwera. Kiro loguje się przez kiro-cli login; wygasła sesja zawodzi w ten sam sposób. Muse Code zgłasza missing meta credentials, dopóki muse login nie zostanie uruchomione jako użytkownik serwera.
Odpowiedzi zatrzymują się w połowie. Długa tura mogła osiągnąć AGENT_CLI_TIMEOUT_MS. Zwiększ wartość albo podziel żądanie na mniejsze etapy.