Utiliser un agent de programmation installé comme modèle de chat
Si vous payez déjà un agent de programmation et qu'il est connecté sur la machine qui exécute Libre WebUI, vous pouvez lui parler depuis un chat normal au lieu d'ajouter une clé API distincte. Libre WebUI détecte l'interface en ligne de commande de l'agent et le propose dans le sélecteur de modèles comme n'importe quel autre modèle.
Éléments détectés
À chaque demande de la liste des modèles, Libre WebUI recherche les commandes suivantes dans le PATH du serveur :
| Modèle | Commande | Fourni par |
|---|---|---|
| Claude Code | claude | Anthropic |
| Codex | codex | OpenAI |
| OpenCode | opencode | SST |
| Pi | pi | Mario Zechner |
Tout élément trouvé apparaît dans un groupe Agents du sélecteur de modèles. Rien n'est installé à votre place et aucun fichier de configuration n'est requis : si la commande s'exécute dans le shell de votre serveur, elle apparaît.
Paramètres → Chat → Par défaut identifie aussi ces entrées comme Agent, y compris Strands lorsque votre compte est autorisé à l’utiliser. Les modèles de plugins conservent le nom de leur fournisseur ; seuls les modèles Ollama portent ce libellé. Désactiver Ollama ne masque ni les agents ni les plugins configurés. La fiche d’informations indique le nom affiché et le fournisseur de l’entrée choisie, ainsi que la taille, la famille et le format uniquement si le catalogue les fournit.
Choisir un modèle, pas seulement une interface en ligne de commande
Chaque interface peut proposer plusieurs entrées dans le groupe Agents :
- Claude Code propose sa valeur par défaut connectée, ainsi que Sonnet, Opus, Haiku,
et des sélections explicites Sonnet 5.5 (
claude-sonnet-5-5) et Opus 5.5 (claude-opus-5-5). Sonnet 5.5 nécessite Claude Code 2.1.284 ou une version ultérieure et Opus 5.5 nécessite Claude Code 2.1.280 ou une version ultérieure, tous deux avec les droits d’accès du compte connecté ; exécutezclaude updatepour mettre à jour la CLI. Les alias Sonnet et Opus existants continuent de suivre la correspondance de modèles actuelle de la CLI. - Codex propose sa valeur configurée par défaut ainsi que la famille documentée pour la connexion 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 et GPT-5.3 Codex Spark. La disponibilité dépend de la connexion de l'interface en ligne de commande et des accès du compte. - Pi s'exécute avec le modèle configuré dans l'interface en ligne de commande elle-même.
- OpenCode répertorie les modèles de chaque fournisseur auprès duquel il est authentifié
(à partir de
opencode models) et exige toujours un choix explicite : sa valeur par défaut au niveau de l'interface peut pointer vers un serveur local inaccessible depuis l'hôte Libre WebUI.
Le moteur Strands intégré apparaît aussi dans le groupe Agents lorsque votre compte est autorisé à l’utiliser. Ce n’est pas une CLI : il s’exécute dans le backend et pilote vos modèles Ollama et ceux de vos plugins de fournisseurs. L’entrée simple Strands (strands) utilise votre modèle de chat par défaut. Les autres entrées (strands:<route>) en proposent une par modèle disponible, telle que Strands · gpt-5.6-sol (Codex (ChatGPT)), et fixent à la fois le modèle et son fournisseur pour la conversation ; un autre fournisseur disponible ne peut pas le remplacer lors d’une panne. Afficher ces choix ne démarre pas le moteur.
Ces mêmes entrées Strands peuvent servir de modèle de tâche dans Paramètres → Chat → Par défaut pour les titres automatiques et résumés de raisonnement. Utiliser le modèle en cours utilise la sélection Strands enregistrée de la conversation. Ces brèves requêtes textuelles appellent directement le modèle fournisseur sous-jacent ; elles n’exécutent pas les outils de l’agent et ne créent pas de session d’agent. Les autres profils CLI nécessitent un modèle de tâche Ollama, de plugin ou Strands pour ces requêtes auxiliaires.
Pi exécute chaque tour sans état (--no-session), avec les outils locaux désactivés et un
message système neutre. Les réponses ne sont donc pas influencées par la configuration personnelle de Pi
associée à l'utilisateur du système d'exploitation du serveur, et les chats n'y touchent jamais.
Utilisation
- Connectez-vous en tant qu'administrateur.
- Démarrez un chat et ouvrez le sélecteur de modèles.
- Choisissez une entrée sous Agents.
- Envoyez vos messages normalement. Les réponses sont diffusées jeton par jeton.
La conversation est enregistrée comme n'importe quel autre chat : vous pouvez la quitter et y revenir, la renommer et la rechercher depuis la palette de commandes. Chaque tour envoie à l'agent une transcription de la conversation récente et diffuse sa réponse.
Qui peut l'utiliser et à quoi l'agent peut accéder
Cette fonctionnalité est réservée aux administrateurs, pour une raison importante. L'agent s'exécute sur l'hôte en tant que même utilisateur du système d'exploitation que le serveur Libre WebUI, et non dans un conteneur Work. Il hérite donc des identifiants de l'agent appartenant à cet utilisateur et de tous les accès dont ces agents disposent habituellement, notamment la possibilité de lire des fichiers et d'exécuter des commandes sur le serveur s'il le décide.
Considérez l’activation comme l’octroi d’un accès shell à la machine pour l’agent. La fonctionnalité est donc désactivée à l’installation : un administrateur doit l’activer dans Paramètres → Gestion des utilisateurs → Accès et politiques → Modèles d’agents CLI. Le réglage est persistant et prend effet immédiatement, sans redémarrage.
Modifier ce réglage actualise immédiatement le catalogue des modèles ; la catégorie Agents contient les entrées CLI directes, tandis que Modèles de plugins contient les intégrations API de fournisseurs telles que Codex (ChatGPT). Strands figure dans la même catégorie, mais dépend de son propre réglage d’accès Moteur Strands et non de ce commutateur : il peut donc apparaître alors que les modèles d’agents CLI sont désactivés. Sa découverte des modèles ne peut pas bloquer celle des agents CLI installés.
Les installations existantes héritent de leur ancien choix Agents enregistré jusqu’à l’enregistrement d’un réglage CLI indépendant.
Pour figer ce choix au niveau du déploiement indépendamment du réglage à l'exécution, définissez la variable d'environnement dans un sens ou dans l'autre (cela verrouille aussi le bouton dans l'interface) :
AGENT_CLI_MODELS_ENABLED=false # or true
Pour un modèle qui peut agir sur des fichiers tout en restant dans un bac à sable, utilisez plutôt Work : il exécute les modèles capables d'utiliser des outils dans un conteneur verrouillé doté d'un espace de travail isolé.
Suivi de l’utilisation
Ouvrez Utilisation des fournisseurs (/usage) et repérez Agents près du haut de la page. Les activités de Claude Code, Codex, OpenCode, Pi et Strands ont des entrées explicites, avec un message clair si la période sélectionnée ne contient aucun appel enregistré.
Les appels CLI effectués via LWUI enregistrent leur résultat, leur durée et les jetons signalés. Chaque invocation produit un seul événement d’utilisation ; les instantanés répétés et rapports par étape ne dupliquent ni les événements ni les compteurs. Les compteurs absents restent non signalés. Arrêter une réponse enregistre une annulation, et une sortie CLI en échec ne devient pas un succès simplement parce qu’un texte partiel a été produit. L’utilisation des appels CLI extérieurs à LWUI n’est pas importée.
Les appels Strands sont attribués à l’agent Strands. Consultez Utilisation des agents pour la ventilation et les limites.
Configuration
| Variable | Valeur par défaut | Fonction |
|---|---|---|
AGENT_CLI_MODELS_ENABLED | non définie | Fixe la fonction sur true/false ; sans valeur, suit le bouton d'administration (désactivé par défaut) |
AGENT_CLI_TIMEOUT_MS | 600000 | Durée maximale d'un tour d'agent avant son arrêt forcé |
Dépannage
Le groupe Agents n’apparaît pas. Vérifiez que la fonctionnalité est activée dans Paramètres → Gestion des utilisateurs → Accès et politiques → Modèles d’agents CLI (elle est désactivée par défaut) et que vous êtes connecté comme administrateur. Vérifiez ensuite que la commande se trouve dans le PATH du processus backend, et pas seulement dans celui de votre shell interactif. Un gestionnaire de services, un conteneur Docker ou un lanceur de bureau démarre souvent avec un PATH bien plus réduit qu’un terminal de connexion.
La réponse échoue immédiatement. Exécutez manuellement la même commande en tant qu'utilisateur du serveur
(claude -p "hello" ou codex exec "hello"). La plupart des échecs proviennent d'une connexion
expirée demandée par l'agent ou d'une limite de débit de l'abonnement sous-jacent.
OpenCode, en particulier, ne signale l'expiration de la connexion à un fournisseur que dans ses propres journaux ;
relancez opencode auth login en tant qu'utilisateur du serveur.
Les réponses s'arrêtent en cours de route. Un long tour a peut-être atteint AGENT_CLI_TIMEOUT_MS. Augmentez
sa valeur ou divisez la demande en étapes plus petites.