So verwandeln Sie Konsolen-KI-Agenten in ein Pixel-Büro aus The Office
Neulich bin ich auf ein Repository gestoßen, an dem man kaum vorbeigehen kann, wenn man schon einmal autonome Konsolen-Tools wie Claude Code ausgeführt und sich dabei gedacht hat, dass das Verwalten von Dutzenden offener Terminal-Tabs unglaublich umständlich ist. Das Projekt heißt Munder Difflin.

Die Autoren haben die Terminal-Agenten-Orchestrierung mit unerwartetem Humor angepackt. Sie haben Konsolen-Prozesse in eine Desktop-Anwendung verpackt, die mit Electron und Pixi.js erstellt wurde, wobei jeder laufende Agent durch ein Pixel-Büro läuft, virtuelle Umschläge trägt und mit Kollegen über das lokale Dateisystem kommuniziert. Über allem wacht Ihr Klon namens Michael, der in einem separaten Büro sitzt.
Klingt nach einem Spaß-Tool, aber unter der Haube verbirgt sich ernsthafte Infrastruktur für das parallele Ausführen von Claude Code, Antigravity, OpenAI Codex, Kimi, Qwen und lokalen Modellen über Ollama.

Was ist das eigentlich
Statt eine eigene API-Client für jedes Modell zu erfinden, verwendet Munder Difflin die fertigen CLI-Tools, die Sie bereits im Terminal ausführen. Die Anwendung startet für jeden Agenten eine echte Pseudo-Terminal-Instanz über node-pty und rendert sie in der Oberfläche mit xterm.js.
Dadurch arbeitet der Agent in seiner nativen Umgebung. Er behält den Zugriff auf lokale Dateien, führt Tests aus, erstellt Commits und liest Build-Ausgaben genau so, als hätten Sie ihn manuell in einem normalen iTerm- oder Alacritty-Tab gestartet.
Der Hauptunterschied besteht darin, dass Prozesse in einem gemeinsamen Netzwerk zusammengeführt werden. Sie geben dem Haupt-Orchestrierungs-Agenten (GOD-Agent) eine übergeordnete Aufgabe, der diese in Teilaufgaben für spezialisierte Agenten aufteilt, ihren Status überwacht und nur vor gefährlichen Operationen um Ihre Erlaubnis bittet.
Wie die Agenten-Interaktion funktioniert
Die gesamte Architektur basiert auf lokalen Dateien und dem Git-Protokoll, ohne externe Cloud-Datenbanken.
Postfächer und gemeinsamer Speicher
Wenn Agenten Kontext oder Arbeitsergebnisse weitergeben müssen, rufen sie keine komplexen Remote-RPCs auf. Das System verwendet eine Postfach-Architektur direkt auf der Festplatte:
- Der Agent schreibt eine Nachricht oder ein Artefakt in sein lokales Verzeichnis
outbox/. - Ein interner Router verschiebt die Datei in den Ordner des Empfängers
inbox/. - Der Empfänger wird über ein Dateisystem-Ereignis geweckt, liest die Nachricht und nimmt die Aufgabe auf.
- Langfristiger Speicher wird in einfachem Markdown gespeichert und durch lokale semantische Suche indiziert für schnellen Kontextabruf zwischen Sitzungen.
Um zu verhindern, dass parallele Prozesse index.lock im Repository blockieren, werden Schreibvorgänge in die Commit-Historie über einen einzelnen Committer-Prozess geleitet.
Schutz vor Endlosschleifen und Budgetüberschreitungen
Eines der Hauptprobleme mit autonomen CLI-Agenten ist das Risiko von Schleifen, wenn ein Skript beginnt, denselben Test wiederholt zu korrigieren oder die API mit Hunderten von Anfragen zu bombardieren.
Munder Difflin verfügt über einen eingebauten Circuit-Breaker-Mechanismus:
- Jeder Agent hat ein hartes Token-Limit und eine Echtzeit-Kostenüberwachung der Anfragen aus den Logs.
- Das System verfolgt kaskadierende Fehler und Wiederholungsversuche fehlgeschlagener Befehle.
- Bei Überschreitung des Budgets oder abnormalem Verhalten erhält der Agent zunächst eine Warnung und Kontext-Einschränkung, und wenn die Fehler fortbestehen, wird er zwangsweise gestoppt.
- Destruktive Aktionen, Scope-Änderungen und Geldausgaben erfordern eine Bestätigung über das Approvals-Panel.
Was drin steckt: Technischer Stack
Architektonisch ist die Anwendung in zwei isolierte Ebenen unterteilt, die in Electron zusammenlaufen:
┌───────────────────────────────────────────────────────────────┐
│ Electron Renderer (React) │
│ ┌──────────────────┐ ┌──────────────────────────────┐ │
│ │ Office Floor │ │ Terminal + Command Bar │ │
│ │ (Pixi.js) │ │ Files + Git tabs (xterm.js) │ │
│ └─────────▲────────┘ └────────────▲─────────────────┘ │
│ │ avatar state │ pty bytes / fs / git │
└─────────────┼──────────────────────────┼──────────────────────┘
│ IPC (contextBridge: window.cth)
┌──────┴──────────┐ ┌──────┴─────────────┐
│ Event Plane │ │ Terminal Plane │
│ hooks / hive │ │ node-pty PTYs │
│ router + GOD │ │ + fs + git │
└────────▲────────┘ └──────▲─────────────┘
│ hook payloads │ stdin / stdout
└─────────┬──────────────┘
┌──────┴──────────────┐
│ claude / agy / codex│
└─────────────────────┘
Der Haupt-Node.js-Prozess verwaltet den Terminal-Lebenszyklus, das Datei-Routing und eine SQLite-Datenbank für die Persistenz der Sitzungshistorie. Der Renderer auf React und Pixi.js empfängt Daten über eine typisierte IPC-Brücke window.cth.
Über die visuelle Bürooberfläche hinaus enthält der Desktop-Client einen integrierten Monaco-Editor, eine Aufgaben-Kanban-Tafel mit Abhängigkeiten, einen Git-Diff-Viewer und eine Slack-Webhook-Integration. Sie können eine Aufgabe an einen Arbeitschat senden, Michael erstellt im Hintergrund einen temporären Agenten, löst das Problem und gibt die Antwort im Thread zurück.
So deployen und ausprobieren
Um es auszuführen, benötigen Sie Node.js 18+, einen C/C++-Compiler zum Bauen des nativen Moduls node-pty (auf macOS reichen die Xcode Command Line Tools aus) und mindestens einen installierten Konsolen-Agenten.
Clone Sie das Repository und führen Sie das Projekt im Entwicklungsmodus aus:
git clone https://github.com/chaitanyagiri/munder-difflin.git
cd munder-difflin
npm install
npm run dev
Beim ersten Start öffnet sich ein Setup-Assistent. Dort können Sie Pfade zu den Binaries claude, codex, copilot angeben oder Adressen für lokale LM-Studio-/Ollama-/vLLM-Server einrichten.
Wenn das erforderliche Binary nicht im System ist, kann die Anwendung die Auto-Installation direkt im integrierten Terminal-Fenster durchführen.
Wem dieses Projekt nützen wird
Munder Difflin ist schwer als leichtgewichtiges Alltags-Tool zu bezeichnen – Electron und Sprite-Rendering über Pixi.js benötigen erwartungsgemäß Ressourcen. Aber wenn Sie häufig mit Multi-Agent-Szenarien experimentieren, komplexe Refactorings mit mehreren Modellen durchführen oder es leid sind, parallele Claude-Code-Starts in tmux manuell zu steuern, gibt es hier viel zu lernen.
Das Konzept der Prozessverwaltung durch Markdown-Dateien, Branch-Isolation über Git-Worktrees und die benutzerfreundliche visuelle Kontrolle über das Geschehen machen dieses Projekt zu einem der originellsten Open-Source-Hacks für lokale KI-Agenten. Das Repository wird aktiv weiterentwickelt, der Code ist in sauberem TypeScript geschrieben, daher lohnt es sich definitiv, sich mit den internen Hooks und PTY-Handlern zu beschäftigen.
Ähnliche Projekte