Usare un agente di programmazione installato come modello di chat
Se paghi già per un agente di programmazione e questo ha effettuato l'accesso sulla macchina che esegue Libre WebUI, puoi interagirvi da una normale chat anziché aggiungere una chiave API separata. Libre WebUI rileva l'interfaccia a riga di comando dell'agente e la propone nel selettore dei modelli come qualsiasi altro modello.
Che cosa viene rilevato
A ogni richiesta dell'elenco dei modelli, Libre WebUI cerca nel PATH del server
questi comandi:
| Modello | Comando | Fornito da |
|---|---|---|
| Claude Code | claude | Anthropic |
| Codex | codex | OpenAI |
| OpenCode | opencode | SST |
| Pi | pi | Mario Zechner |
Tutto ciò che viene trovato compare nel gruppo Agenti del selettore dei modelli. Non viene installato nulla e non serve alcun file di configurazione: se il comando funziona nella shell del server, viene visualizzato.
Scegliere un modello, non soltanto una CLI
Ogni CLI può offrire diverse voci nel gruppo Agenti:
- Claude Code propone il valore predefinito dell'account connesso, oltre a Sonnet, Opus e Haiku.
- Codex propone il valore predefinito configurato e la famiglia documentata per l'accesso ChatGPT: GPT-5.6 Sol, Terra, Luna e GPT-5.3 Codex Spark.
- Pi usa il modello configurato nella CLI stessa.
- OpenCode elenca i modelli di tutti i provider con cui ha effettuato l'autenticazione
(da
opencode models) e richiede sempre una scelta esplicita: il suo valore predefinito a livello di CLI può puntare a un server locale non raggiungibile dall'host di Libre WebUI.
Pi esegue ogni turno senza stato (--no-session), con gli strumenti locali disabilitati e un
prompt di sistema neutro, così le risposte non vengono influenzate dalla configurazione personale
di Pi dell'utente del sistema operativo del server e le chat non vi accedono mai.
Utilizzo
- Accedi come amministratore.
- Avvia una chat e apri il selettore dei modelli.
- Scegli una voce in Agenti.
- Invia normalmente i messaggi. Le risposte vengono trasmesse in streaming token per token.
La conversazione viene archiviata come qualsiasi altra chat: puoi lasciarla e riprenderla, rinominarla e cercarla dalla tavolozza dei comandi. Ogni turno invia all'agente una trascrizione della conversazione recente e ne trasmette la risposta in streaming.
Chi può usarlo e a che cosa può accedere
Questa funzionalità è riservata agli amministratori, per un motivo importante. L'agente viene eseguito sull'host come lo stesso utente del sistema operativo che esegue il backend di Libre WebUI, non all'interno di un container Work. Eredita quindi le credenziali dell'agente di quell'utente e tutto l'accesso di cui dispongono normalmente tali agenti, inclusa la possibilità di leggere file ed eseguire comandi sul server, se decide di farlo.
Considera l'abilitazione di questa funzione equivalente alla concessione all'agente dell'accesso shell alla macchina. Per questo motivo, la funzionalità è disabilitata inizialmente: un amministratore deve attivarla in Impostazioni → Gestione utenti → Agenti. L'impostazione viene salvata e ha effetto immediato, senza riavvio.
Per fissare la scelta a livello di distribuzione indipendentemente dall'interruttore a runtime, imposta la variabile d'ambiente su uno dei due valori (ciò blocca anche l'interruttore nell'interfaccia):
AGENT_CLI_MODELS_ENABLED=false # or true
Per un modello in grado di intervenire sui file, ma confinato in un ambiente isolato, usa invece Work: esegue i modelli che supportano gli strumenti in un container protetto con un'area di lavoro isolata.
Configurazione
| Variabile | Valore predefinito | Scopo |
|---|---|---|
AGENT_CLI_MODELS_ENABLED | non impostato | Fissa true/false; se non impostata, usa l'interruttore amministrativo (disattivato inizialmente) |
AGENT_CLI_TIMEOUT_MS | 600000 | Tempo massimo di esecuzione di un singolo turno dell'agente prima dell'arresto |
Risoluzione dei problemi
Il gruppo Agenti non compare. Verifica che la funzionalità sia abilitata in
Impostazioni → Gestione utenti → Agenti (è disattivata per impostazione predefinita) e di aver effettuato l'accesso
come amministratore, quindi controlla che il comando si trovi nel PATH del processo che esegue il backend,
non soltanto nella tua shell interattiva. Un gestore di servizi, un container Docker o un programma
di avvio desktop spesso usa un PATH molto più ridotto rispetto a un terminale di accesso.
La risposta non riesce immediatamente. Esegui manualmente lo stesso comando come utente del server
(claude -p "hello" o codex exec "hello"). La maggior parte degli errori deriva dalla richiesta
di un nuovo accesso scaduto da parte dell'agente oppure da un limite di frequenza dell'abbonamento sottostante.
OpenCode, in particolare, segnala l'accesso scaduto a un provider solo nei propri log;
esegui nuovamente opencode auth login come utente del server.
Le risposte si interrompono. Un turno lungo potrebbe aver raggiunto AGENT_CLI_TIMEOUT_MS. Aumentalo
oppure suddividi la richiesta in passaggi più piccoli.