Suggestions en ligne
Pendant que vous saisissez une commande dans n'importe quel volet de terminal (local, SSH, Telnet, Mosh ou série), PlexusTerm affiche en gris, après le curseur, la suite d'une commande que vous avez déjà exécutée. Les suggestions proviennent de votre propre historique de commandes ; elles fonctionnent donc sans aucune IA configurée : d'abord les commandes du même hôte, puis celles de tous les hôtes, les plus récentes et les plus utilisées en premier.
- Flèche droite ou End, avec le curseur en fin de ligne, accepte toute la suggestion ; Ctrl+Flèche droite accepte son mot suivant. Le texte accepté est envoyé comme s'il était saisi : la multi-exécution et l'enregistrement de macros le voient donc aussi.
- Toute autre touche atteint le shell comme d'habitude : Tab reste la complétion propre au shell.
- Les suggestions sont suspendues jusqu'au prochain Enter dès que PlexusTerm ne peut plus être sûr du contenu de la ligne : après Haut/Bas (historique du shell), Ctrl+R, la complétion par Tab, la flèche gauche ou d'autres touches de déplacement du curseur, les raccourcis Alt, ou un collage de plusieurs lignes. Elles sont aussi masquées dans les programmes en plein écran (vim, less, top), aux invites de mot de passe et de phrase secrète, lorsque le volet est défilé vers le haut ou n'a pas le focus, et lorsque le shell dessine quelque chose après le curseur (une invite à droite, ou un autre plugin d'autosuggestion).
Chaque commande envoyée avec Enter est enregistrée sur cet ordinateur dans history.json dans le dossier de configuration de l'application (lisible par vous seul), par hôte (user@host:port pour SSH et Mosh, telnet:host:port, serial:device, local), sans doublons et dans la limite de 2000 commandes par hôte et de 200 hôtes. Jamais enregistrés : les lignes commençant par une espace, tout ce qui est saisi à une invite de mot de passe, de phrase secrète, de code PIN ou de code à usage unique (reconnue dans les dix langues de l'interface et en russe, telle que l'affichent sudo, ssh, PAM, cryptsetup et gpg), tout ce qui est saisi dans un programme en plein écran, et les commandes qui n'atteignent un volet que par la multi-exécution.
La section IA des Paramètres contient :
- Suggestions en ligne (activé par défaut) : les suggestions grises ci-dessus.
- Historique des commandes (activé par défaut) : enregistre les commandes et fait des suggestions à partir d'elles. Effacer l'historique vide
history.jsonimmédiatement. - Suggestions de l'IA (désactivé par défaut) : lorsque l'historique ne contient rien pour la ligne saisie, interroger le fournisseur d'IA (voir Suggestions de l'IA).
- Fournisseur : Anthropic, Gemini, OpenAI, Compatible OpenAI ou OpenCode Go ; URL de base pour un point de terminaison compatible OpenAI (par exemple
http://localhost:11434/v1pour Ollama). - Modèle (Anthropic :
claude-opus-5-5, Gemini :gemini-3.5-flash-lite, OpenAI et compatible : indiquez votre modèle ; OpenCode Go : choisissez-en un dans la liste, voir OpenCode Go). Changer de fournisseur alors que le modèle est encore celui par défaut d'un fournisseur le remplace par celui par défaut du nouveau fournisseur. - Clé d'API : stockée dans le trousseau du système, une par fournisseur. Le champ indique seulement si une clé est enregistrée ; Enregistrer la clé et Retirer la clé s'appliquent immédiatement.
- Commandes de l'historique envoyées comme contexte (0-20, 5 par défaut).
- Raccourci de l'assistant (Ctrl+Shift+Space par défaut) : cliquez sur le champ et appuyez sur la nouvelle combinaison ; Escape conserve la combinaison actuelle. Il faut Ctrl, Alt ou Meta, et les combinaisons que PlexusTerm utilise déjà sont refusées.
Suggestions de l'IA
Avec Suggestions de l'IA activé, lorsque l'historique n'a aucune suggestion pour la ligne saisie, PlexusTerm attend une courte pause dans la saisie (environ 400 ms ; saisir à nouveau l'annule) et demande au fournisseur d'IA comment la commande se poursuit. La réponse s'affiche en gris comme une suggestion de l'historique et s'accepte avec les mêmes touches.
- Envoyé : la ligne saisie, le système d'exploitation, le dossier courant (uniquement lorsque le shell l'indique par OSC 7) et les dernières commandes de l'historique de l'hôte (Commandes de l'historique envoyées comme contexte, 0 n'en envoie aucune ; aucune non plus tant que Historique des commandes est désactivé).
- Jamais envoyé : la sortie du terminal, tout ce qui est saisi à une invite de mot de passe ou de phrase secrète, tout ce qui est saisi dans un programme en plein écran.
- Chaque volet envoie au plus une requête à la fois et au plus une par seconde ; seule la ligne la plus récente attend, les plus anciennes sont abandonnées.
- Les échecs n'interrompent jamais la saisie : le volet affiche une petite indication grise dans son coin inférieur droit, comme IA : aucune clé d'API, IA : clé refusée, IA : limite de requêtes ou IA : indisponible (survolez-la pour voir le message du fournisseur). Elle disparaît avec la réponse suivante.
Fournisseurs et clés d'API
| Fournisseur | Modèle par défaut | Remarques |
|---|---|---|
| Anthropic (par défaut) | claude-opus-5-5 |
API Messages. Avec les modèles Claude Opus 5.5, PlexusTerm laisse Anthropic réessayer avec un modèle recommandé lorsque le modèle choisi ne peut pas répondre (repli côté serveur). Un modèle plus rapide et moins cher peut être saisi dans Modèle. |
| Gemini | gemini-3.5-flash-lite |
API Google Gemini. |
| OpenAI | aucun : saisissez votre modèle | API OpenAI. |
| Compatible OpenAI | aucun : saisissez votre modèle | Tout point de terminaison avec l'API OpenAI à l'URL de base : Ollama (http://localhost:11434/v1), LM Studio (http://localhost:1234/v1), OpenRouter (https://openrouter.ai/api/v1). Une clé est facultative ; les serveurs locaux n'en ont généralement pas besoin. Lorsque l'URL de base est sur opencode.ai, l'en-tête de session OpenCode est également envoyé. |
| OpenCode Go | aucun : choisissez un modèle dans la liste | Seule la clé d'API est nécessaire : la liste des modèles et l'API de chaque modèle proviennent d'OpenCode (voir ci-dessous). |
Les clés d'API ne sont stockées que dans le trousseau du système (une par fournisseur), jamais dans settings.json ; les Paramètres indiquent seulement si une clé est enregistrée. Les requêtes partent du backend de PlexusTerm directement vers le fournisseur en HTTPS (ou vers l'URL de base que vous avez définie), identifiées comme PlexusTerm/<version>. Les redirections ne sont pas suivies ; une clé n'est donc jamais transmise à un autre hôte ; une redirection apparaît comme une erreur vous demandant de vérifier l'URL de base.
OpenCode Go
Choisissez OpenCode Go comme fournisseur et enregistrez votre clé d'API OpenCode ; rien d'autre n'est nécessaire.
- Modèle devient une liste des modèles OpenCode Go avec leurs noms. PlexusTerm la lit dans la liste publique d'OpenCode (
https://opencode.ai/inference/go/v1/models) et apprend quelle API utilise chaque modèle grâce à models.dev. La liste est conservée 24 heures dansopencode-go-models.jsondans le dossier de configuration de l'application ; Actualiser les modèles la récupère à nouveau. - Les modèles servis par les API chat completions, Anthropic messages ou OpenAI responses fonctionnent. Les modèles sur l'API de Google sont affichés comme pas encore pris en charge et ne peuvent pas être choisis.
- Si models.dev est injoignable, chaque modèle est traité comme chat completions et une note l'indique ; si rien ne peut être récupéré, la liste enregistrée précédemment s'affiche, ou vous pouvez saisir un identifiant de modèle.
- Chaque requête porte un identifiant de session (
x-opencode-session), comme le demande OpenCode : un par volet de terminal pour les suggestions en ligne et un par volet de chat IA. - OpenCode Go est destiné aux agents de programmation et surveille le trafic ; les suggestions IA en ligne envoient de nombreuses requêtes courtes. Les Paramètres affichent cette note lorsque OpenCode Go est sélectionné.
Chat IA
Le chat IA répond à toute question ou demande en termes simples (explications, étapes, signification d'une erreur, aide générale, n'importe quel sujet), dans la langue dans laquelle vous écrivez, et ne propose une commande pour son terminal que lorsqu'une commande convient. Appuyez sur Ctrl+Shift+Space (modifiable dans Paramètres → IA → Raccourci de l'assistant ; la touche n'atteint jamais le shell) ou cliquez sur le X de PlexusTerm à gauche de la barre d'outils : le terminal actif est divisé et le chat s'ouvre dans un volet en dessous, lié à ce terminal. Le X tourne une fois chaque fois que le chat s'ouvre ou prend le focus (pas lorsque le système demande de réduire les animations).
- Chaque terminal a au plus un chat : appuyer sur le raccourci dans un terminal qui en a déjà un déplace le focus vers celui-ci ; appuyer dessus dans un chat revient à son terminal. Cliquer sur le X pendant qu'un chat est ouvert (lui ou son terminal a le focus) ferme ce chat, avec le même tour du X.
- Le chat compte comme l'un des 4 volets de l'onglet. Lorsque l'onglet est plein, un avis l'indique et aucun chat ne s'ouvre ; fermez d'abord un volet.
- Saisissez votre question et appuyez sur Enter ou Envoyer (Shift+Enter commence une nouvelle ligne). La conversation défile au-dessus du champ de saisie. Arrêter annule la réponse attendue et remet la question dans le champ de saisie. Une erreur s'affiche sous la question à laquelle elle se rapporte.
- Les questions de suivi envoient comme contexte les questions et réponses précédentes du même chat : les 10 dernières au maximum, et 16 000 caractères au maximum au total (les plus anciennes sont écartées en premier). Chaque chat est une conversation (un identifiant de session pour OpenCode).
- La réponse s'affiche en texte brut : les sauts de ligne sont conservés et le code entre délimiteurs ``` s'affiche dans des blocs à chasse fixe ; rien n'y est jamais traité comme du HTML ni exécuté. Les caractères de contrôle et de mise en forme invisibles sont supprimés (les sauts de ligne et les tabulations restent), et une réponse de plus de 8000 caractères est raccourcie et se termine par « … (answer shortened) ».
- Lorsqu'une seule commande shell fait ce que vous avez demandé, elle s'affiche sous la réponse avec Copier, Insérer et Exécuter ; sinon, il n'y a pas de zone de commande. Insérer saisit la commande dans le terminal du chat sans Enter et y déplace le focus ; rien ne s'exécute donc tant que vous n'appuyez pas vous-même sur Enter. Exécuter efface ce qui était à moitié saisi dans ce terminal, saisit la commande et appuie sur Enter ; il refuse (et l'indique) tant que le terminal est à une invite de mot de passe ou dans un programme en plein écran comme vim. Copier la place dans le presse-papiers. Rien ne s'exécute à moins que vous ne cliquiez sur Exécuter ou n'appuyiez sur Enter. Une commande insérée est enregistrée dans l'historique des commandes une fois que vous l'envoyez avec Enter, comme une commande que vous avez saisie. Les commandes reviennent toujours sur une seule ligne, sans caractères de contrôle ni caractères de mise en forme invisibles (comme les espaces de largeur nulle ou les forçages de droite à gauche) ; une commande de plus de 2000 caractères est écartée et seule la réponse s'affiche.
- Lorsque du texte est sélectionné dans le terminal au moment où vous ouvrez le chat, il est joint à votre première question et affiché au-dessus du champ de saisie avant l'envoi ; 2000 caractères au maximum sont envoyés. Cliquez sur son × pour l'écarter. Avec du texte ou des fichiers joints, Envoyer fonctionne avec un champ de saisie vide : la question envoyée est « Explique ceci. » (dans la langue de l'interface).
- Les fichiers déposés sur le chat sont joints à la question suivante : voir Déposer des fichiers sur le chat IA.
- En plus de votre question, le chat envoie le système d'exploitation, le dossier courant du terminal (lorsqu'il est connu) et les commandes récentes de l'hôte selon les mêmes règles que les suggestions de l'IA ; jamais la sortie du terminal.
- L'en-tête du chat affiche le fournisseur et le modèle ; cliquez dessus pour choisir un autre modèle dans une liste défilante. La liste contient les modèles de chaque fournisseur dont une clé d'API est enregistrée (et du serveur compatible OpenAI lorsque son URL de base est définie ; sur
opencode.aiseulement une fois que ce fournisseur a sa propre clé, car OpenCode ne répond qu'avec une clé), chacun avec le nom de son fournisseur, et peut être filtrée par saisie. En choisir un en fait le fournisseur et le modèle d'IA, comme dans Paramètres → IA, pour tous les chats et pour les suggestions de l'IA. Un fournisseur dont la liste ne peut pas être lue en indique la raison, et les autres restent listés. - Lorsqu'aucune clé n'est enregistrée pour le fournisseur, le chat l'indique et Ouvrir les paramètres de l'IA ouvre les Paramètres sur la section IA, où la clé s'enregistre.
- Conversations avec l’IA (le bouton en forme d'horloge dans l'en-tête du chat) liste les conversations, de la plus récente à la plus ancienne, avec leur première question et leur date ; la conversation en cours est mise en évidence. Cliquez sur l'une d'elles pour la poursuivre dans ce chat (ses questions, ses réponses et sa session IA reviennent), ou sur sa corbeille pour la supprimer. Avec Paramètres → IA → Conserver les conversations avec l’IA après la fermeture de PlexusTerm (activé par défaut), elles sont enregistrées sur cet ordinateur dans
ai-chats.jsondans le dossier de configuration de l'application (lisible uniquement par votre utilisateur ; 100 au maximum, les plus anciennes partent en premier) et listées à nouveau après un redémarrage. Désactivé, rien n'est lu ni écrit et la liste ne contient que les conversations de cette session. Une question qui attend encore sa réponse n'est jamais enregistrée, et les fichiers joints ne conservent que leurs chemins. - Le chat se ferme avec le × à droite de son en-tête, ou avec Ctrl+Shift+W lorsqu'il a le focus. Fermer le chat conserve sa conversation : le rouvrir pour le même terminal affiche les questions et réponses précédentes et poursuit la même conversation. Nouvelle conversation (le bouton en forme de bulle à côté du ×) recommence à zéro. Une conversation reste dans Conversations avec l’IA lorsque son terminal se ferme ou que PlexusTerm se ferme, sauf si leur conservation est désactivée. Fermer son terminal (ou la fermeture du shell) ferme aussi le chat.
- Le chat ne fait jamais partie de la multi-exécution, les macros ne sont jamais lues dans le chat ni enregistrées depuis celui-ci, la saisie dans le chat n'est pas enregistrée dans l'historique des commandes, et tant qu'il a le focus, le navigateur SFTP continue de suivre son terminal.