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.
- 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.