Transcript

00:00:00Herder, un multiplexeur d'agents qui s'exécute dans le terminal que vous utilisez déjà, pour que vous puissiez exécuter un tas de
00:00:05agents de codage cÎte à cÎte dans différents volets ou onglets et voir réellement lequel fonctionne, lequel
00:00:10est bloqué ou lequel a terminé, avec des notifications systÚme dans un seul binaire Rust, ce qui
00:00:15signifie pas d'Electron ni d'application sĂ©parĂ©e. Il a mĂȘme une façon ingĂ©nieuse de fonctionner via SSH, mais avec un outil
00:00:20comme cmux qui gagne en popularitĂ©, pourquoi s'embĂȘter Ă  utiliser Herder ? Abonnez-vous et dĂ©couvrons-le.
00:00:28Herder a Ă©tĂ© créé par un dĂ©veloppeur appelĂ© Ogle Can Celix, qui, je suppose, a supprimĂ© le “e” du mot
00:00:34Herder parce qu'il est fan du début des années 2000. Je ne sais pas, mais je suppose qu'Herder est un outil que
00:00:39vous pouvez utiliser pour garder plusieurs agents comme un berger, ce qui est un problĂšme pour, disons, la plupart
00:00:45des développeurs qui utilisent l'IA pour le développement, car il est difficile de garder
00:00:49une trace de ce que fait chaque agent. Herder s'inspire beaucoup de Tmux, qui est un terminal
00:00:54multiplexeur avec des onglets, des volets fractionnĂ©s et des sessions persistantes mĂȘme aprĂšs votre dĂ©connexion, mais Tmux a Ă©tĂ©
00:01:00construit il y a des décennies, bien avant l'existence des agents d'IA, donc si vous finissez par exécuter un agent dans l'un
00:01:06de ses volets, il n'a aucune idée de son existence ou de son statut. C'est pourquoi des outils comme Warp ou cmux existent
00:01:12qui vous sortent de votre propre terminal pour vous mettre dans le leur, vous obligeant Ă  apprendre le flux de travail de quelqu'un d'autre.
00:01:18C'est pourquoi Ogle Can Celix a construit Herder pour faire les deux Ă  la fois : la persistance de Tmux avec une conscience des agents
00:01:24intégrée. Et comme Herder est juste un binaire Rust construit avec Ratatouille, le tout est juste
00:01:29du rendu de texte dans votre terminal, donc il peut fonctionner partout oĂč votre terminal peut, y compris via SSH. Il y a
00:01:35aussi une API socket, ce qui signifie que les agents peuvent piloter Herder eux-mĂȘmes, ce qui est vraiment impressionnant Ă  voir.
00:01:40En fait, faisons une dĂ©mo rapide. AprĂšs avoir installĂ© Herder avec brew, curl ou mĂȘme un
00:01:46Nix flake (je suis tellement content qu'ils aient ajouté cette option), vous pouvez simplement exécuter la commande herder qui vous donnera
00:01:50cette vue montrant le terminal, quelques espaces de travail et quelques agents. J'ai un peu zoomé, donc il y a
00:01:56quelques choses que vous ne pourrez pas voir comme l'étendue complÚte des commandes, mais je ferai de mon
00:02:00mieux pour montrer Herder. Ici, vous pouvez voir qu'il n'y a pas d'espaces de travail et par défaut, le préfixe
00:02:05est Ctrl + B, ce qui est similaire à Tmux, mais je vous montrerai comment changer cela plus tard. Maintenant, le préfixe a
00:02:10déjà été activé, ce que je peux voir grùce à cette navigation ici en bas, donc tout ce que j'ai à faire est d'appuyer sur
00:02:14Maj + N pour créer un nouvel espace de travail. Bien sûr, vous pouvez naviguer entiÚrement avec votre clavier,
00:02:19donc je peux appuyer sur le préfixe et le point d'interrogation pour voir tous les raccourcis clavier, mais vous pouvez aussi
00:02:23utiliser votre souris. Je peux crĂ©er un nouvel onglet appelĂ© “deux”, je peux faire un clic droit pour fermer l'onglet, renommer mon
00:02:28espace de travail en “test”, crĂ©er un nouvel espace de travail, accĂ©der aux paramĂštres dans le menu, et ainsi de suite. Je peux mĂȘme
00:02:34créer des séparations horizontales et verticales, renommer le volet spécifique et naviguer entre les
00:02:38volets, tout cela en utilisant la souris. Mais le véritable argument de vente d'Herder est sa façon d'interagir avec les agents.
00:02:43Pour l'instant, il utilise bash, mais j'aime utiliser fish, donc je vais changer ces deux terminaux,
00:02:46puis je vais ouvrir Claude Code dans celui du haut et Codex dans celui du bas. Déjà, on peut voir
00:02:51qu'Herder a automatiquement détecté les agents et leur a donné des statuts : Claude est bloqué
00:02:55et Codex est inactif. Adressons-nous aux deux en leur donnant accÚs à ces répertoires. Et bien sûr, je peux
00:03:00leur donner Ă  tous les deux des invites comme “quel modĂšle est-ce que j'utilise ?” et nous voyons qu'Herder se met immĂ©diatement Ă  jour
00:03:05pour nous dire que Claude est au travail, ce qui fonctionne aussi avec Codex CLI. Maintenant, j'ai aussi remarqué que je suis dans le mauvais
00:03:09espace de travail, alors supprimons celui-ci et renommons celui-là en “test”. Mais avec Herder, les agents peuvent aussi
00:03:15créer des espaces de travail, des onglets et des divisions également. Voyons comment cela fonctionne. Je vais quitter Claude
00:03:20en appuyant sur le préfixe puis sur Q. Ensuite, vous pouvez voir ici toutes les options que l'interface CLI d'Herder nous donne.
00:03:24Donc, ce que je vais faire, c'est retourner dans Herder. L'un des arguments de vente, c'est qu'il retourne
00:03:29exactement Ă  l'espace de travail et aux agents que j'avais ouverts avec les mĂȘmes sessions. Mais je vais crĂ©er
00:03:34un nouvel espace de travail, je vais aller dans un répertoire, puis je vais ouvrir Claude Code. Maintenant,
00:03:38je vais donner une instruction d'utiliser la CLI d'Herder pour créer deux volets avec Claude Code dans les deux.
00:03:44Exécutez-en un avec cette instruction pour résumer le plus gros fichier du projet, et un autre avec cette instruction
00:03:49pour rechercher dans la base de code toute clé API codée en dur ou tout secret. Ici, il a chargé un nouveau volet avec
00:03:54Claude Code. Je vais zoomer arriÚre pour que nous puissions mieux voir cela, et maintenant il exécute
00:03:58l'autre instruction dans la base de code, donc nous pouvons faire défiler vers le haut pour voir que celui-ci a terminé. Nous pouvons aussi voir
00:04:03qu'il leur donne des titres appropriĂ©s, comme “Claude Secrets” et “Discord”. Ici, il n'a trouvĂ© aucune clĂ© API codĂ©e en dur.
00:04:09Oui, à partir d'ici, nous pouvons résumer la sortie des deux volets, puis demander à Claude de les fermer. Donc maintenant,
00:04:14il a obtenu les informations du premier volet, l'a fermĂ©, et il fait la mĂȘme chose pour le deuxiĂšme volet
00:04:18qu'il a fermé également. Et là, il me donne un beau résumé. Maintenant, comme Herder est
00:04:23juste un binaire que vous pouvez installer dans votre terminal, je peux me connecter en SSH Ă  un serveur Linux et installer Herder
00:04:28de la mĂȘme maniĂšre que je l'ai installĂ© sur un Mac. Vous pouvez voir que je l'ai fait plus tĂŽt et qu'il a restaurĂ© ma session
00:04:32précédente. Donc, j'ai Claude Code ouvert dans un volet et j'utilise Vim pour parcourir du code dans un autre
00:04:36volet. Mais le problĂšme avec cela, c'est que cela ne reprend pas mes paramĂštres de configuration Herder que j'ai sur
00:04:41ma machine Mac locale. Pour ĂȘtre honnĂȘte, je n'ai pas beaucoup de paramĂštres. Tout ce que j'ai fait, c'est changer les touches de
00:04:45Ctrl + B Ă  Ctrl + Espace et j'ai changĂ© le thĂšme en “terminal”. Mais si j'avais un fichier de
00:04:50configuration hautement édité avec des raccourcis clavier spécifiques, cela pourrait devenir assez ennuyeux. Donc, une façon de contourner cela
00:04:55est d'utiliser Herder avec le drapeau distant (“remote”) et de se connecter en SSH directement à votre serveur, ce que je vais expliquer
00:05:01exactement avant d'appuyer sur Entrée. Donc, Herder fonctionne en exécutant un serveur et un client léger qui
00:05:06communique via un socket Unix. Donc, le client envoie des frappes au serveur et le serveur gĂšre
00:05:11les onglets, les volets, la persistance et d'autres choses. Maintenant, dans le cas du SSH, donc en utilisant “remote”, le serveur s'exĂ©cute sur
00:05:18la machine distante et le client s'exécute réellement sur votre machine locale. Il envoie donc les frappes via un socket Unix
00:05:24au serveur, et le serveur peut montrer aux clients les fichiers qui sont sur la machine elle-mĂȘme,
00:05:30mais le client lui-mĂȘme peut utiliser tous les paramĂštres de configuration qui sont sur la machine locale Ă  laquelle
00:05:35il est attachĂ©. Alors regardons cela en action. Donc, revenons lĂ  oĂč nous nous sommes arrĂȘtĂ©s. Maintenant, si j'appuie sur EntrĂ©e,
00:05:40il va se connecter directement Ă  ma machine SSH, sur laquelle on peut voir Claude Code et le fichier de code
00:05:45que nous visualisons avec Vim. Mais si j'appuie sur Ctrl + B, cela ne semble rien faire parce qu'il utilise
00:05:49la configuration de mon Mac qui fonctionne avec Ctrl + Espace pour voir le préfixe. Maintenant, pendant que nous sommes ici, regardons
00:05:54ce que nous pouvons faire d'autre dans le menu. Nous pouvons voir les raccourcis clavier, ce que je vous ai montré plus tÎt, mais
00:05:59nous pouvons aussi changer le thĂšme, et Herder vous donne beaucoup de thĂšmes au choix, de “nord” Ă  “gruvbox” et mĂȘme
00:06:04Catppuccin. Il y a aussi une option pour déclencher des alertes sonores et un menu de toast, que vous pouvez changer
00:06:10via le terminal ou via le systÚme. Maintenant, comme d'habitude, il y a tellement d'autres fonctionnalités d'Herder que
00:06:15je n'ai pas eu le temps de parcourir, comme les intégrations d'arbres de travail, les intégrations d'agents officiels, dont
00:06:19certaines que vous avez vues dans la démo, qui donnent à votre agent accÚs aux compétences officielles d'Herder et vous permettent de reprendre
00:06:24les sessions exactes que vous aviez avant de fermer Herder. HonnĂȘtement, le fait que cela fonctionne dans votre terminal existant
00:06:29est pour moi l'argument de vente principal. Car mĂȘme si j'adore utiliser cmux, j'adore utiliser WezTerm beaucoup
00:06:35plus. Je l'ai configuré exactement comme j'aime l'utiliser. Et le fait que, si je veux gérer mes
00:06:39agents, tout ce que j'ai à faire est de lancer un nouvel onglet de terminal dans WezTerm et d'exécuter Herder... Oui, vous
00:06:45manquez le navigateur web de cmux, mais pour ĂȘtre honnĂȘte, je ne l'utilisais pas vraiment beaucoup de toute façon. Et pour ceux d'entre vous
00:06:50qui regardent en ce moment et qui utilisent Windows, j'ai de trĂšs mauvaises nouvelles pour vous, car Ă  cause de toute cette histoire de
00:06:54socket Unix et du fait qu'Herder utilise un PTY de terminal, il n'y a pas actuellement de trĂšs bon support pour Windows
00:06:59au moment de l'enregistrement. Mais si vous utilisez Windows, je pense qu'il est temps de mordre la poussiĂšre et simplement
00:07:04d'utiliser Linux en dual boot. Oui, WSL existe, mais ce n'est pas exactement la mĂȘme chose, n'est-ce pas ?

Key Takeaway

Herder optimise le développement assisté par IA en intégrant la persistance des sessions de type Tmux avec une conscience directe des agents, permettant à ces derniers de piloter l'organisation du terminal via une API socket.

Highlights

  • Herder est un multiplexeur de terminaux basĂ© sur Rust conçu spĂ©cifiquement pour la gestion simultanĂ©e d'agents d'IA.

  • L'outil permet aux agents d'IA de crĂ©er, renommer et fermer des espaces de travail, des onglets et des divisions via une API socket.

  • Le fonctionnement via SSH avec le drapeau distant permet d'appliquer la configuration locale (raccourcis, thĂšmes) sur des serveurs distants.

  • Herder est construit avec Ratatouille et s'exĂ©cute directement dans le terminal, sans nĂ©cessiter Electron ou une application sĂ©parĂ©e.

  • L'outil dĂ©tecte automatiquement les agents lancĂ©s dans les volets et affiche leur statut (ex: actif, bloquĂ©) en temps rĂ©el.

Timeline

Présentation de Herder

  • Herder est un binaire Rust unique qui multiplexe les terminaux avec une gestion native des agents d'IA.
  • Il rĂ©sout le problĂšme de l'absence de statut des agents dans les outils de terminal classiques comme Tmux.

Herder fonctionne directement dans le terminal utilisateur, Ă©vitant l'usage d'applications gourmandes comme Electron. Contrairement Ă  Tmux, il reconnaĂźt les agents d'IA exĂ©cutĂ©s dans ses volets. Une API socket permet aux agents de piloter eux-mĂȘmes l'interface.

Démo et interaction avec les agents

  • L'installation est possible via brew, curl ou Nix flake.
  • Les agents peuvent crĂ©er, diviser, renommer des volets et rĂ©sumer les sorties de commande automatiquement.
  • Le prĂ©fixe par dĂ©faut est Ctrl + B, modifiable par l'utilisateur.

L'interface permet de gĂ©rer des agents comme Claude Code ou Codex CLI avec la souris ou des raccourcis clavier. Herder dĂ©tecte leur Ă©tat instantanĂ©ment. Il est possible d'envoyer des instructions complexes aux agents, leur permettant de gĂ©rer eux-mĂȘmes leur environnement de travail et d'analyser des bases de code entiĂšres.

Usage distant via SSH et configuration

  • Le mode distant permet de conserver les paramĂštres de configuration locaux sur une machine distante.
  • L'architecture repose sur un serveur distant et un client lĂ©ger local communiquant via un socket Unix.
  • Le support Windows est limitĂ© en raison de l'utilisation de PTY et de sockets Unix.

Lors d'une connexion SSH avec le drapeau 'remote', Herder synchronise les frappes du client local vers le serveur distant. Cela permet d'utiliser des configurations spécifiques (raccourcis clavier, thÚmes comme Gruvbox ou Catppuccin) sur des serveurs distants. L'auteur recommande l'usage de Linux, via un dual boot, pour une expérience optimale.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video