OpenVibe ou tmux : piloter dix agents sans perdre le fil

tmux range des terminaux. OpenVibe sait ce que fait l'agent dans chacun. Deux outils, deux métiers : voici quand choisir l'un, l'autre, ou les deux.

EN BREF
  • tmux est un multiplexeur. Il garde des terminaux vivants, les découpe en panneaux et survit à une déconnexion SSH.
  • OpenVibe est un canvas d'agents. Il suit l'état de chaque agent, les réunit en équipes, les briefe en une ligne et te laisse relire leur code.
  • Sur un serveur distant, garde tmux. Pour piloter plusieurs agents sous Windows, OpenVibe montre ce que tmux ne voit pas.

Quand tu fais tourner plusieurs agents de code en même temps, la première idée est souvent tmux : une session, quelques panneaux, un agent par panneau. Ça marche, et pour beaucoup de gens ça suffit. Mais tmux a été conçu pour des terminaux, pas pour des agents qui travaillent, s’arrêtent pour poser une question, puis reprennent.

Cet article compare les deux sans chercher de vainqueur. tmux et OpenVibe ne font pas le même métier, et il y a des cas où tmux reste le meilleur choix.

Ce que tmux fait très bien

tmux fait une chose et la fait bien : il garde tes sessions de terminal en vie. Son serveur tourne indépendamment de ta connexion : tu te déconnectes, tu reviens le lendemain avec tmux attach, et tout est là, processus compris. Il découpe une fenêtre en panneaux, se pilote entièrement au clavier et se scripte sans effort.

Il sait même envoyer la même frappe à tous les panneaux d’une fenêtre, avec l’option synchronize-panes :

# une session, plusieurs panneaux, une frappe pour tous
tmux new -s agents
tmux split-window -h
tmux split-window -v
tmux setw synchronize-panes on

Pour viser un seul panneau depuis un script, send-keys -t suffit, et capture-pane permet de lire ce qu’un panneau affiche. tmux tourne sous Linux, macOS et les BSD ; sous Windows, il passe par WSL. C’est un outil éprouvé, léger, et qui ne te demande rien d’autre qu’un terminal.

Quand on passe à dix agents

Un agent de code n’est pas un terminal comme les autres. Il travaille, puis il s’arrête pour poser une question (« je supprime l’ancien composant ? »), puis il reprend. Dans tmux, ces moments sont du texte qui défile : pour savoir qui attend, il faut passer d’un panneau à l’autre et lire. Avec trois agents, ça va. Avec dix, tu finis par rater la question qui bloque tout depuis un moment.

OpenVibe part de là. Chaque terminal est un agent dont il suit l’état, affiché sur le canvas et dans le panneau Agents : EN COURS, ATTEND, PRÊT. Pour Claude Code, l’état vient de ses hooks, et il est précis : OpenVibe sait quand la session attend ta réponse. Pour les autres agents, il vient de leur sortie, ce qui est plus grossier : du texte qui arrive, c’est un agent au travail ; le silence, c’est un agent prêt.

Quand un agent attend, un avis reste affiché en bas à gauche de la fenêtre tant qu’il attend, et une notification Windows part si la fenêtre n’a pas le focus. Un clic t’amène à l’agent, et une commande de la palette va au suivant qui attend.

Le reste suit la même logique. Tu réunis les agents en groupes avec un rôle (Frontend, Backend, Testeurs…), et tu écris à @tous, à un groupe ou à @athena/hermes depuis une seule barre de consigne. Et parce que les agents écrivent du code, il faut pouvoir le relire : la revue des changements montre ce qu’un agent a modifié, tu cliques une ligne pour laisser une remarque, et toutes les remarques repartent à l’agent en un seul message.

Point par point

tmux OpenVibe
Plateformes Linux, macOS, BSD ; Windows via WSL Windows 10/11 (préversion)
Disposition Fenêtres et panneaux en grille Canvas infini (Excalidraw) : zoom, dessin, annotations
État des agents Non, du texte à lire EN COURS, ATTEND, PRÊT ; précis pour Claude Code, tiré de la sortie pour les autres
Écrire à plusieurs synchronize-panes sur une fenêtre, send-keys -t par script @tous, un groupe, @athena/hermes, commandes /
Équipes Non Groupes, rôles, spécialités, presets
Relecture du code Non Diff par agent, remarques par ligne
Orchestration À scripter toi-même Orchestrateur, une branche et un worktree par agent, branche de mission
Session distante Oui, détachable via SSH Non, application de bureau locale
Après fermeture Les processus continuent Les agents s’arrêtent ; canvas et historique sont gardés
Interface Clavier (préfixe Ctrl+b), souris en option Clavier et souris, palettes, menu radial
Licence ISC MIT

La ligne « Après fermeture » compte plus qu’elle n’en a l’air. Détacher une session tmux laisse tourner les programmes. Fermer OpenVibe arrête les agents : il enregistre d’abord le canvas et l’historique des terminaux, et au redémarrage il propose de reprendre tes conversations Claude, mais un agent qui travaillait s’est bel et bien arrêté.

Quand garder tmux

  • Tes agents tournent sur un serveur distant, et tu t’y connectes en SSH.
  • Tu travailles sous macOS ou Linux : OpenVibe n’existe aujourd’hui que pour Windows 10/11.
  • Tu veux que les agents survivent à la fermeture de ta fenêtre ou à une coupure : c’est exactement ce que fait le détachement de tmux, et OpenVibe ne le fait pas.
  • Tu fais tourner un ou deux agents, et lire leur sortie te suffit.
  • Tout ton flux est déjà scripté autour de tmux.
  • Tu veux un outil éprouvé depuis longtemps : OpenVibe est une préversion.

Dans tous ces cas, OpenVibe ne t’apporterait pas grand-chose, ou te retirerait quelque chose dont tu as besoin.

Utiliser les deux

Un terminal OpenVibe peut être un simple shell : PowerShell, cmd, pwsh ou Git Bash. Rien n’empêche d’y lancer ssh, s’il est disponible sur ta machine, puis de rattacher une session distante pour la retrouver sur le canvas, à côté de tes agents locaux :

ssh mon-serveur
tmux attach -t agents

OpenVibe n’y voit alors qu’un shell : son état vient de la sortie, et l’état des agents distants reste à lire, comme dans tmux. Tu gardes en revanche le canvas autour : tu peux annoter, dessiner l’architecture à côté, et mettre ce terminal dans un groupe pour lui écrire depuis la barre de consigne.

C’est aussi la combinaison qui règle la question de la fermeture : si tu fermes OpenVibe, seul le client ssh s’arrête. La session tmux continue sur le serveur, avec les agents dedans.

De tmux à OpenVibe

Si tu as l’habitude de tmux, voici les gestes qui correspondent.

Dans tmux Dans OpenVibe
tmux new -s projet Ajouter un projet : un dossier, avec ses workspaces en onglets
split-window Appui droit sur le canvas, Lancer 4 agents
synchronize-panes on @tous dans la barre de consigne
Préfixe + w Ctrl+P : aller à un terminal, un groupe, un projet
Préfixe + o Ctrl+Tab : terminal suivant, dans l’ordre de lecture
Préfixe + d, puis attach Pas d’équivalent : fermer OpenVibe arrête les agents. L’historique est gardé, et au redémarrage OpenVibe propose de reprendre tes conversations Claude

Le plus simple pour te faire un avis : garde tes habitudes tmux pour le distant, et essaie OpenVibe le jour où tu as plus d’agents locaux que tu ne peux en surveiller d’un coup d’œil.

OpenVibe est un projet indépendant, sans lien avec tmux. tmux est un logiciel libre maintenu par ses contributeurs.

Essaie OpenVibe sur tes propres agents

Gratuit, open source, sans compte. Il lance les agents déjà installés sur ta machine.

Télécharger pour Windows