nodeterm verwandelt ein Chaos aus Terminal-Tabs in eine unendliche Leinwand
Jeder Entwickler, der versucht, autonome KI-Agenten wie Claude Code oder Codex parallel zu normalen Diensten auszuführen, stößt schnell auf dasselbe Problem. Ein Dutzend Tabs in iTerm oder Warp werden zum Chaos. Es ist unklar, wo Tests fehlgeschlagen sind, welcher Branch im Hintergrund bearbeitet wird und welches Terminal auf eine Befehlsbestätigung wartet.
Das nodeterm-Projekt bietet einen anderen Ansatz für den Arbeitsbereich. Anstatt linearer Tabs oder Splits verwendet es eine unendliche Leinwand, auf der jedes Terminal als separater, bewegbarer Knoten lebt.
Was sich auf der Leinwand befindet
Die Kernidee ist einfach: Geben Sie Ihren Workflows eine räumliche Orientierung. Sie können Backend, Frontend und Hintergrundagenten zu einem Cluster zusammenfassen und eine Notiz mit Aufgabenerinnerungen direkt daneben platzieren.
Ein Knoten hier ist nicht nur ein Terminal. Sie können auf der Leinwand platzieren:
- Vollständige Terminal-Sitzungen basierend auf xterm und tmux
- KI-Agentenkarten (Claude Code, Copilot, Gemini, Grok)
- Monaco-Code-Editor mit Schnellspeicher-Unterstützung
- Git-Diff-Viewer und Webseiten-Vorschaufenster
- Text-Notizzettel, die mit Agenten verknüpft werden können, um Kontext zu teilen
Sitzungen gehen nicht verloren, wenn Sie das Fenster schließen oder das System neu starten. Im Hintergrund verwaltet die App eine echte tmux-Sitzung. Auf macOS wird der Client mit einem integrierten tmux-Binary ausgeliefert, sodass Sie es nicht separat installieren müssen.
Agenten überwachen ohne Output-Parsing
Wenn ein Agent viel Zeit mit dem Schreiben von Code oder dem Ausführen von Tests verbringt, ist es leicht zu vergessen, seinen Status zu überprüfen. nodeterm verfolgt den Zustand über System-Hooks, anstatt Textausgaben zu parsen.
Wenn ein Prozess eine Benutzerbestätigung benötigt, leuchtet die Karte mit einem NEEDS YOU-Badge auf und eine native Benachrichtigung erscheint. Auf MacBooks wird der Status aktiver Agenten sogar im Notch-Bereich angezeigt.
Ein interessantes Detail: Agenten innerhalb der App können über eine eingebaute CLI mit der Leinwand interagieren. Zum Beispiel kann ein Agent einen benachbarten Knoten erstellen, um Tests auszuführen oder die Build-Artefakte eines anderen Agenten zu überprüfen.
Kanban-Board aus Live-Sitzungen
Wenn Sie Cmd+Shift+B drücken, wechselt die Leinwand in den Kanban-Board-Modus. Jede Karte auf dem Board bleibt eine funktionierende Terminal-Sitzung.
Sie ziehen eine Karte von der Spalte „In Bearbeitung" nach „Review", öffnen sie in einem modalen Fenster und beantworten direkt die Frage des Agenten zum Code. Eine bidirektionale Synchronisation mit GitHub Issues wird ebenfalls unterstützt: Aufgaben werden auf das Board gezogen und ändern ihren Status, wenn sie verschoben werden.
Zugriff vom Telefon und Server-Modus
Die App ist nicht auf einen Desktop-Electron-Client beschränkt. Die Architektur ist in einen unabhängigen Kern und Transportmechanismen aufgeteilt, weshalb nodeterm in drei Formaten funktioniert.
- Desktop-Anwendung für macOS und Linux.
- Server Edition. Dieselbe Leinwand läuft auf einem Remote-Server ohne grafische Shell und öffnet sich in einem normalen Browser über WebSockets.
- Mobiler Client unter iOS. Sie scannen einen QR-Code auf dem Bildschirm, und die Sitzung wird mit End-to-End-Verschlüsselung auf Ihr Telefon weitergeleitet. Sie können für eine Kaffeepause weggehen und unterwegs Agenten-Prompts beantworten.
Spracheingabe direkt in die Shell
nodeterm hat ein lokales Whisper-Modell eingebaut. Wenn Sie Cmd+Alt (Ctrl+Alt unter Linux) gedrückt halten und eine lange Anweisung diktieren, wird der Ton direkt auf Ihrer CPU verarbeitet.
Text wird nicht automatisch an das Terminal gesendet. Zuerst sehen Sie das erkannte Ergebnis, bearbeiten es bei Bedarf manuell und drücken erst dann Senden. Audiodaten gehen nirgendwo über das Netzwerk.
Architektur und Stack
Der Client ist in TypeScript unter Verwendung von Electron und der React Flow-Bibliothek als Leinwand-Engine geschrieben.
Entwickler haben PTY-, Git- und Agentenoperationen in eine CorePlatform-Schnittstelle extrahiert. Der Electron-Prozess und der Server-Node-Prozess implementieren dieselbe Schnittstelle. Dank dessen ist die Web-Version kein abgespeckter Port – sie verwendet buchstäblich dieselbe Renderer-Schnittstelle.
Das Projekt wird unter der Business Source License 1.1 (BUSL-1.1) vertrieben. Der Quellcode ist für den persönlichen und produktiven Gebrauch offen, verbietet jedoch die Erstellung eines konkurrierenden kostenpflichtigen Dienstes basierend auf noderm. Vier Jahre nach der Veröffentlichung jeder Version wechselt der Code automatisch zu purem MIT.
So probieren Sie es aus
Auf macOS ist die einfachste Methode, die App zu installieren, über Homebrew:
brew tap nodeterm/tap
brew trust nodeterm/tap
brew install --cask nodeterm
Für Linux sind vordefinierte AppImage- und .deb-Pakete auf der Repository-Releases-Seite verfügbar.
Wenn Sie einen headless Server auf einer Remote-Maschine betreiben möchten, benötigen Sie nur Node.js 22 und tmux:
git clone https://github.com/eneskirca/nodeterm.git
cd nodeterm
npm install
npm run server:dev
Nach dem Start wartet die Web-Oberfläche unter 7 auf Sie.
Für wen ist nodeterm nützlich
Das Tool richtet sich in erster Linie an Entwickler, die Dutzende paralleler Aufgaben offen halten, mit Git-Worktrees arbeiten oder aktiv Codeabschnitte an Kommandozeilen-KI-Agenten delegieren. Wenn Sie sich wohler mit einem klassischen minimalistischen Terminal fühlen, das die halbe Bildschirmhälfte einnimmt, könnte die räumliche Leinwand überflüssig erscheinen. Aber wenn Sie es leid sind, sich in endlosen Tabs und tmux-Fenstern zu verlieren, könnte nodeterms visueller Ansatz Ordnung in Ihre Arbeit bringen.
Ähnliche Projekte