herder: Ist das der ultimative Agent-Multiplexer?

BBetter Stack
컴퓨터/소프트웨어AI/미래기술

Transcript

00:00:00Herder ist ein Agent-Multiplexer, der direkt in deinem Terminal läuft,
00:00:05sodass du mehrere Coding-Agenten nebeneinander in verschiedenen Bereichen oder Tabs ausführen
00:00:10und sehen kannst, welcher gerade arbeitet, welcher blockiert ist oder welcher fertig ist,
00:00:15komplett mit Systembenachrichtigungen in einer einzigen Rust-Binary. Das bedeutet,
00:00:20kein Electron, keine separate App. Es hat sogar eine clevere Art, über SSH zu funktionieren. Doch bei einem Tool
00:00:28wie Cmux, das immer beliebter wird, warum solltest du dir die Mühe machen, Herder zu nutzen?
00:00:34Klick auf Abonnieren und lass es uns herausfinden. Herder wurde von einem Entwickler namens Ogle
00:00:39Can Celix gebaut, der, wie ich vermute, das E aus dem Wort Herder gestrichen hat,
00:00:45weil er ein Fan der frühen 2000er ist. Ich weiß es nicht, aber ich nehme an, Herder ist ein Tool,
00:00:49das du benutzen kannst, um mehrere Agenten zu hüten, wie ein Schäfer – was ein Problem für,
00:00:54sagen wir, die meisten Entwickler ist, die KI zur Entwicklung einsetzen, weil es schwierig ist,
00:01:00den Überblick darüber zu behalten, was jeder einzelne gerade macht. Herder ließ sich stark von Tmux inspirieren, einem Terminal-Multiplexer
00:01:06mit Tabs, geteilten Bereichen und Sitzungen, die selbst nach dem Trennen bestehen bleiben. Aber Tmux wurde vor Jahrzehnten gebaut,
00:01:12lange bevor es KI-Agenten gab. Wenn du also einen Harness in einem seiner Bereiche ausführst,
00:01:18hat er keine Ahnung, dass es ihn gibt oder was sein Status ist. Deshalb existieren Tools wie Warp oder Cmux,
00:01:24die dich aus deinem Terminal herausziehen und in ihr eigenes holen, sodass du den Workflow von jemand anderem lernen musst.
00:01:29Deshalb hat Ogle Can Celix Herder gebaut, um beides gleichzeitig zu ermöglichen: die Persistenz von Tmux mit integrierter
00:01:35Agenten-Awareness. Und da Herder nur eine Rust-Binary ist, die mit Ratatui gebaut wurde, wird alles
00:01:40einfach als Text in deinem Terminal gerendert, sodass es überall laufen kann, wo dein Terminal laufen kann, inklusive über SSH.
00:01:46Es gibt auch eine Socket-API, was bedeutet, dass Agenten Herder selbst steuern können, was wirklich beeindruckend ist.
00:01:50Lass uns eigentlich einen kurzen Demo-Durchlauf machen. Nach der Installation von Herder über Brew, Curl oder sogar eine
00:01:56Nix Flake – ich bin so froh, dass sie diese Option hinzugefügt haben –, kannst du einfach den Herder-Befehl ausführen, der dir
00:02:00diese Ansicht zeigt, die das Terminal, einige Arbeitsbereiche und einige Agenten anzeigt. Ich habe ein wenig hineingezoomt,
00:02:05daher gibt es ein paar Dinge, die du nicht sehen kannst, wie das volle Ausmaß der Befehle, aber ich werde mein Bestes tun,
00:02:10um Herder vorzuführen. Hier siehst du also, dass es keine Arbeitsbereiche gibt, und standardmäßig ist das Präfix
00:02:14Strg+B, ähnlich wie bei Tmux, aber ich zeige dir später, wie man das ändert. Das Präfix wurde bereits
00:02:19aktiviert, was ich hier an der Navigation unten sehen kann. Ich muss also nur Shift und N drücken,
00:02:23um einen neuen Arbeitsbereich zu erstellen. Natürlich kannst du komplett mit der Tastatur navigieren,
00:02:28also kann ich das Präfix und das Fragezeichen drücken, um alle Tastenkombinationen zu sehen, aber du kannst auch
00:02:34die Maus benutzen. Ich kann einen neuen Tab namens zwei erstellen, mit Rechtsklick den Tab schließen, meinen Arbeitsbereich
00:02:38in Test umbenennen, einen neuen Arbeitsbereich erstellen, auf diese Einstellungen im Menü zugreifen und so weiter.
00:02:43Ich kann sogar horizontale und vertikale Teilungen erstellen, den spezifischen Bereich umbenennen und zwischen Bereichen navigieren,
00:02:46alles mit der Maus. Aber das wahre Verkaufsargument von Herder ist, wie es mit Agenten interagiert.
00:02:51Im Moment verwendet dies Bash, aber ich benutze gerne Fish, also werde ich beide Terminals umstellen
00:02:55und dann öffne ich Claude Code im oberen und Codex im unteren. Man kann aber schon sehen,
00:03:00dass Herder die Agenten automatisch erkannt und ihnen Status zugewiesen hat: Claude ist blockiert
00:03:05und Codex ist im Leerlauf. Lass uns beide ansprechen, indem wir ihnen Zugriff auf diese Verzeichnisse geben, und natürlich kann ich
00:03:09ihnen beiden Prompts geben, wie “Welches Modell verwende ich?”, und wir sehen, dass Herder sofort aktualisiert,
00:03:15um uns mitzuteilen, dass Claude arbeitet, was auch mit Codex CLI funktioniert. Ich habe auch bemerkt, dass ich im falschen
00:03:20Arbeitsbereich bin, also löschen wir diesen und benennen ihn in Test um. Aber mit Herder können die Agenten auch
00:03:24selbst Arbeitsbereiche, Tabs und Teilungen erstellen. Lass uns sehen, wie das funktioniert. Also, ich beende Claude Code,
00:03:29indem ich das Präfix und dann Q drücke, und hier kannst du all die Optionen sehen, die uns die Herder-CLI gibt.
00:03:34Was ich also tun werde, ist, zurück in Herder zu gehen. Und das ist ein Verkaufsargument: Es kehrt zum
00:03:38exakten Arbeitsbereich und den exakten Agenten zurück, die ich mit denselben Sitzungen offen hatte. Aber ich werde einen
00:03:44neuen Arbeitsbereich erstellen, in ein Verzeichnis gehen und dann Claude Code öffnen. Und jetzt
00:03:49gebe ich den Prompt, die Herder-CLI zu benutzen, um zwei Bereiche mit Claude Code zu öffnen. Einen
00:03:54mit diesem Prompt: “Fasse die größte Datei im Projekt zusammen”, und einen anderen mit diesem Prompt,
00:03:58um die Codebasis nach hartcodierten API-Schlüsseln oder Geheimnissen zu durchsuchen. Und hier hat es einen neuen Bereich mit
00:04:03Claude Code geladen. Ich zoome tatsächlich heraus, damit wir das besser sehen können, und jetzt führt es den
00:04:09anderen Prompt in der Codebasis aus. Wir können also nach oben scrollen, um zu sehen, dass dieser fertig ist. Wir können auch sehen,
00:04:14dass er ihnen passende Titel gibt, wie “Claude Secrets” und “Discord”. Und hier hat es keine hartcodierten API-
00:04:18Schlüssel gefunden. Ja! Von hier aus können wir die Ausgabe beider Bereiche zusammenfassen und Claude dann anweisen, sie zu schließen.
00:04:23Also hat er jetzt die Informationen aus dem ersten Bereich und ihn geschlossen, und er macht das Gleiche mit dem zweiten Bereich,
00:04:28den er ebenfalls geschlossen hat. Und hier unten gibt er mir eine schöne Zusammenfassung. Da Herder
00:04:32einfach nur eine Binary ist, die du in deinem Terminal installieren kannst, kann ich mich per SSH auf einen Linux-Server schalten und Herder
00:04:36auf die gleiche Weise installieren, wie ich es auf einem Mac gemacht habe. Du kannst sehen, ich habe das früher gemacht, und es hat meine vorherige
00:04:41Sitzung wiederhergestellt. Ich habe also Claude Code in einem Bereich offen und benutze Vim, um in einem anderen
00:04:45Bereich Code durchzusehen. Aber das Problem dabei ist, dass meine Herder-Konfigurationseinstellungen, die ich auf
00:04:50meinem lokalen Mac-Rechner habe, nicht übernommen werden. Um ehrlich zu sein, habe ich nicht viele Einstellungen, alles, was ich getan habe, ist, die Tasten von
00:04:55Strg+B auf Strg+Space zu ändern, und ich habe das Theme auf Terminal geändert. Aber wenn ich eine stark bearbeitete
00:05:01Konfigurationsdatei mit spezifischen Tastenkombinationen hätte, könnte das ziemlich nervig werden. Eine Möglichkeit, dies zu umgehen,
00:05:06ist, Herder mit dem Remote-Flag zu verwenden und sich per SSH direkt auf deinen Server zu schalten, was ich genau erklären werde,
00:05:11bevor ich Enter drücke. Herder funktioniert, indem es einen Server und einen Thin-Client ausführt, der
00:05:18über einen Unix-Socket kommuniziert. Der Client sendet also Tasteneingaben an den Server, und der Server verwaltet
00:05:24Tabs, Bereiche, Persistenz und andere Dinge. Im Fall von SSH, also bei der Verwendung von “Remote”, läuft der Server auf
00:05:30dem Remote-Rechner und der Client läuft tatsächlich auf deinem lokalen Rechner. Er sendet also Tasteneingaben über einen Unix-Socket
00:05:35an den Server, und der Server kann den Clients die Dateien zeigen, die sich auf dem Rechner selbst befinden,
00:05:40aber der Client selbst kann alle Konfigurationseinstellungen verwenden, die auf dem lokalen Rechner vorhanden sind, an den er
00:05:45angehängt ist. Lass uns das in Aktion sehen. Zurück zu dem Punkt, an dem wir stehen geblieben sind: Wenn ich Enter drücke,
00:05:49wird es direkt mit meiner SSH-Maschine verbunden, von der wir sehen können, dass sie Claude Code und die Codedatei hat,
00:05:54die wir mit Vim betrachten. Aber wenn ich Strg+B drücke, passiert scheinbar nichts, weil es die
00:05:59Konfiguration auf meinem Mac verwendet, die mit Strg+Space funktioniert, um das Präfix zu sehen. Während wir hier sind, lass uns
00:06:04einen Blick darauf werfen, was wir sonst noch im Menü tun können. Wir können Tastenkombinationen ansehen, was ich vorhin gezeigt habe, aber
00:06:10wir können auch das Theme ändern. Herder gibt dir viele Themes zur Auswahl, von Nord bis Gruvbox und sogar
00:06:15Catppuccin. Es gibt auch eine Option, Tonalarm-Benachrichtigungen und ein Toast-Menü auszulösen, was du über das Terminal
00:06:19oder über das System ändern kannst. Wie üblich gibt es so viele andere Funktionen von Herder, dass
00:06:24ich nicht dazu gekommen bin, sie durchzugehen, wie Worktree-Integrationen, offizielle Harness-Integrationen, von denen
00:06:29du einige in der Demo gesehen hast, die deinem Harness Zugriff auf Herder-offizielle Skills geben und es dir erlauben, die exakten
00:06:35Sitzungen fortzusetzen, die du vor dem Schließen von Herder hattest. Ehrlich gesagt, die Tatsache, dass dies in deinem existierenden
00:06:39Terminal funktioniert, ist für mich das Hauptverkaufsargument, denn so sehr ich Cmux liebe, ich liebe WezTerm viel
00:06:45mehr. Ich habe es genau auf die Art konfiguriert, wie ich es gerne benutze. Und die Tatsache, dass ich, wenn ich meine
00:06:50Agenten verwalten möchte, nur einen neuen Terminal-Tab in WezTerm öffnen und einfach “herder” ausführen muss – ja, du
00:06:54vermisst vielleicht den Webbrowser von Cmux, aber ehrlich gesagt habe ich ihn nicht wirklich viel benutzt. Und für diejenigen
00:06:59von euch, die gerade zuschauen und Windows verwenden: Ich habe einige wirklich schlechte Nachrichten für euch, denn wegen der ganzen Unix-
00:07:04Socket-Sache und der Tatsache, dass Herder ein Terminal-PTY verwendet, gibt es derzeit keine großartige Windows-Unterstützung zum Zeitpunkt der Aufnahme. Aber wenn du Windows verwendest, denke ich, ist es an der Zeit, in den sauren Apfel zu beißen und einfach Linux im Dual-Boot zu verwenden. Ja, WSL existiert, aber es ist nicht genau dasselbe, oder?

Key Takeaway

Herder ermöglicht als Terminal-basierter Agent-Multiplexer eine automatisierte und persistente Steuerung mehrerer KI-Agenten über SSH hinweg, ohne die gewohnte lokale Terminal-Konfiguration zu verlassen.

Highlights

  • Herder ist eine in Rust geschriebene Binary, die Terminal-Multiplexing mit KI-Agenten-Awareness kombiniert.

  • Die Socket-API ermöglicht es KI-Agenten, eigenständig Arbeitsbereiche, Tabs und Teilungen innerhalb von Herder zu verwalten.

  • Durch den Remote-Modus nutzt der Client lokale Konfigurationseinstellungen, während der Server auf dem Remote-Rechner über einen Unix-Socket kommuniziert.

  • Herder integriert sich direkt in bestehende Terminal-Umgebungen und benötigt keine separate App oder Electron-Infrastruktur.

  • Die Installation wird über Brew, Curl oder Nix Flake unterstützt, während Windows-Systeme aufgrund der PTY- und Unix-Socket-Abhängigkeiten aktuell nicht nativ unterstützt werden.

Timeline

Grundlagen und Motivation für Herder

  • Herder fungiert als Terminal-Multiplexer mit integrierter KI-Agenten-Awareness.
  • Das Tool ist eine reine Rust-Binary und kommt ohne Electron oder separate Applikationen aus.
  • Der Entwickler Ogle Can Celix konzipierte Herder als Antwort auf die mangelnde Agenten-Integration in klassischen Tools wie Tmux.

Herkömmliche Multiplexer wie Tmux bieten keine Schnittstelle zum Status von KI-Agenten, die in ihren Bereichen ausgeführt werden. Herder schließt diese Lücke, indem es Persistenz mit der Fähigkeit kombiniert, Arbeitsbereiche in Echtzeit an die Bedürfnisse der laufenden Agenten anzupassen. Es rendert Informationen direkt als Text im Terminal, was eine hohe Portabilität über SSH ermöglicht.

Funktionsweise und Bedienung

  • Die Benutzeroberfläche unterstützt sowohl Tastaturbefehle als auch Mausinteraktionen für die Verwaltung von Arbeitsbereichen.
  • Herder weist automatisch Statusmeldungen wie 'blockiert' oder 'im Leerlauf' zu.
  • KI-Agenten können per CLI-Befehl neue Tabs, Bereiche oder Zusammenfassungen der Agenten-Ausgabe initiieren.

Nach der Installation lassen sich Arbeitsbereiche und Agenten effizient steuern. Die Demo zeigt, wie Claude Code oder Codex CLI nicht nur innerhalb von Herder laufen, sondern aktiv auf die Struktur des Terminals einwirken. Agenten können eigene Teilbereiche für spezifische Aufgaben, wie etwa das Durchsuchen einer Codebasis nach API-Schlüsseln, erstellen und nach Abschluss wieder schließen.

Remote-Betrieb und Konfigurationsmanagement

  • Der Remote-Modus trennt die Ausführung des Servers auf dem Zielrechner von der Client-Konfiguration auf dem lokalen Rechner.
  • Die Kommunikation erfolgt über einen Unix-Socket, wobei lokale Tastenkürzel und Themes beibehalten werden.
  • Für Windows-Systeme existiert aktuell keine native Unterstützung, was den Einsatz von Linux (Dual-Boot) als Alternative nahelegt.

Das Problem der Konfigurationskonsistenz über verschiedene Server hinweg löst Herder durch seine Thin-Client-Architektur. Während der Server auf der Remote-Maschine die Sitzung verwaltet, steuert der lokale Client das Verhalten. Funktionen wie das Anpassen von Themes oder Tastenkombinationen bleiben so lokal konsistent, unabhängig davon, auf welchem Server die eigentliche Arbeit stattfindet.

Community Posts

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

Write about this video