MXterm Pro

Coding-Agents im Terminal: Claude Code, Codex, Control Room

MXterm Pro startet die CLI jedes Agents in einem echten Terminal-Pane und beobachtet deren Ausgabe. Agents installiert es nicht: Die CLI muss bereits auf Ihrem Rechner vorhanden sein. Control Room ist auch als War Room bekannt.

Unterstützte Agents

MXterm Pro kann 27 Coding-Agents starten. Die vollständige Liste steht auf der Seite Agents. Die Tabelle unten führt einige davon auf.

Wählen Sie die Agents in der Liste KI-Agents aus, wenn Sie einen Workspace erstellen. Den Agent eines Panes wechseln Sie später über das Agent-Symbol links in dessen Kopfzeile. Ein Agent-Pane startet den unten genannten Befehl. Terminal führt keinen Befehl aus.

AgentBefehlBypass-FlagStatuspunkteMCP
Claude Codeclaude--dangerously-skip-permissionsJaAutomatisch
Codexcodex--dangerously-bypass-approvals-and-sandboxJaAutomatisch
OpenCodeopencodeKeinesJaManuell
GitHub CopilotcopilotKeinesNeinManuell
Qwen Codeqwen--yoloNur BerechtigungsabfragenManuell
AmpampKeinesNeinManuell
Gemini CLIgemini--yoloJaAutomatisch
Cursor Agentcursor-agentKeinesJaManuell
AntigravityagyKeinesNeinManuell
OMP (Oh My Pi)ompKeinesNur BerechtigungsabfragenAutomatisch
Grokgrok--always-approveNur BerechtigungsabfragenAutomatisch

Bei Claude Code, Codex, Gemini CLI, Cursor Agent, OpenCode und Grok sucht MXterm Pro die ausführbare Datei im PATH und in üblichen Installationsordnern (unter macOS und Linux zum Beispiel /opt/homebrew/bin, ~/.local/bin und ~/.npm-global/bin). Findet es keine, markiert es den Agent als Nicht installiert. Gemini CLI gilt außerdem als installiert, wenn ein Ordner ~/.gemini existiert. Die übrigen Agents der Tabelle werden immer angeboten. Fehlt ihre CLI, meldet die Shell des Panes, dass der Befehl nicht gefunden wurde. Agents, die nicht in der Tabelle stehen, etwa OpenClaw, OpenClaude, Hermes Agent, Devin CLI, Kimi Code, Aider, Cline, Goose, Crush, Kilo Code, Kiro CLI, Auggie, Autohand Code, Codebuff, Command Code und Continue, bietet der Composer erst an, wenn MXterm Pro ihre CLI findet. Einstellungen → Agents zeigt den Installationsstatus jedes Agents; siehe Einstellungen.

Bypass Mode

Bypass-Modus aktivieren (CLI-Berechtigungen automatisch genehmigen) ist standardmäßig aus. Solange Sie nichts ändern, fragt jeder Agent nach, bevor er einen Befehl ausführt oder eine Datei ändert, genau wie die CLI des jeweiligen Agents.

Wenn Sie die Option ankreuzen, startet MXterm Pro Claude Code mit --dangerously-skip-permissions, Codex mit --dangerously-bypass-approvals-and-sandbox, Gemini CLI und Qwen Code mit --yolo und Grok mit --always-approve. Diese Agents führen dann Befehle aus und ändern Dateien, ohne vorher bei Ihnen nachzufragen, und Codex überspringt zusätzlich seine Sandbox.

Das Kontrollkästchen befindet sich im Workspace-Composer, dem Bildschirm, mit dem ein neuer Tab startet. Die Auswahl wird gespeichert und gilt für jeden Agent-Pane, der danach gestartet wird, in jedem Workspace. Agents, die bereits laufen, behalten die Flags, mit denen sie gestartet wurden.

Das Flag wird beim Start des Panes hinzugefügt oder weggelassen, daher gilt das Kontrollkästchen für jeden Agent mit Flag gleichermaßen. Außer den fünf oben kennt MXterm Pro ein Flag zum Überspringen von Freigaben für OpenClaude, Hermes Agent, Devin CLI, Kimi Code, Aider, Crush, Kiro CLI, Autohand Code und Command Code, insgesamt für 14 Agents. Goose hat kein Flag: Sein Auto-Modus ist eine Umgebungsvariable (GOOSE_MODE=auto), die nur in den Einstellungen angeboten wird. Die übrigen Agents, darunter OpenCode, GitHub Copilot, Amp, Cursor Agent, Antigravity und OMP, starten in beiden Fällen mit ihrem einfachen Befehl. Ein geratenes Flag würde nur dazu führen, dass die CLI den Start verweigert.

Agent-Status und Benachrichtigungen

Bei Claude Code, Codex, Gemini CLI, Cursor Agent und OpenCode liest MXterm Pro den Bildschirm des Panes, um zu erkennen, was der Agent gerade tut. Es zeigt einen Punkt neben dem Pane in der Terminal-Liste der Seitenleiste und in der Mitgliederliste des Control Room (früher War Room) an, außerdem am Workspace-Tab, der den dringlichsten Punkt seiner Panes anzeigt. OMP, Grok und Qwen Code werden nur auf eines hin gelesen: Zeigt einer von ihnen ein Tool, das auf Ihre Freigabe wartet, wird sein Punkt rot. Für ihren Arbeitsstatus hat MXterm Pro keine Regel. Gemini CLI wird bei seinen Dialogen für Freigabe, Plan, Rückfrage und Ordnervertrauen gelesen. Goose wird ebenfalls gelesen, mit nicht verifizierten Regeln, die nie gegen eine echte Sitzung geprüft wurden. Insgesamt haben 9 der Agents eine Zustandserkennung; die anderen zeigen keinen Punkt.

  • Rot: Der Agent ist blockiert und braucht Ihre Eingabe.
  • Gelb: Der Agent arbeitet. Andere Panes zeigen auch denselben gelben Punkt, solange sie Ausgabe erzeugen.
  • Grün: Der Agent hat seine Arbeit beendet, während Sie diesen Pane nicht angesehen haben. Der Punkt verschwindet, sobald Sie den Pane fokussieren.

Die Benachrichtigungen stellen Sie unter Einstellungen → Benachrichtigungen ein, unter dem Hauptschalter Agent-Benachrichtigungen. Drei Ereignisse können eine Benachrichtigung auslösen, jedes mit eigenem Schalter, alle eingeschaltet: Ein Agent fertig ist, Ein Agent Ihre Eingabe braucht und Ein Agent unerwartet stoppt. War-Room-Nachrichten, die zurückgehalten bleiben (siehe Nachrichten im Control Room senden), lösen außerdem ein Banner aus, Nachrichten warten auf Versand, unter dem Schalter Ein Agent Ihre Eingabe braucht.

EinstellungStandardWirkung
SignaltöneAnEin Signalton, wenn eines dieser drei Ereignisse eintritt.
System-Desktop-BenachrichtigungenAnEin Banner mit Tab und Agent als Titel, zum Beispiel my-project · Claude Code, und dem Text Fertig, Braucht Ihre Eingabe, Unerwartet gestoppt oder Nachrichten warten auf Versand.
Nur wenn MXterm Pro im Hintergrund istAusAus bedeutet: Sie erhalten auch ein Banner für einen Pane in einem anderen Tab, während Sie in diesem Fenster arbeiten. An beschränkt Banner auf die Zeit, in der die App nicht im Fokus ist.
Terminal-Text in Bannern anzeigenAusFügt den Terminal-Titel des Agents zum Banner hinzu. Ist die Option aus, endet das Banner stattdessen mit zum Öffnen klicken. Das Benachrichtigungszentrum behält Banner und kann sie auf dem Sperrbildschirm zeigen, deshalb ist die Option aus.
Dock-BadgeAnDie Anzahl der Panes, die auf Sie warten: fertig und noch nicht angesehen oder mit Bedarf an Ihrer Eingabe. Für das macOS-Dock entwickelt; das Badge wurde unter Windows und Linux nicht verifiziert.
Benachrichtigungen pro AgentFür jeden anEin Schalter für jeden Agent mit Statuserkennung.

Ein Klick auf ein Banner führt Sie zu dem Pane, um den es ging. Das Fenster kommt nach vorn, der richtige Tab öffnet sich, ein Pane, der hinter einem maximierten Nachbarn verborgen ist, wird wiederhergestellt, der Pane erhält den Fokus und scrollt zur neuesten Ausgabe. Wurde der Pane inzwischen geschlossen, kommt das Fenster trotzdem nach vorn und es passiert nichts weiter.

Der Sprung per Klick vom Banner zum Pane funktioniert nur mit der macOS-App, die Sie heruntergeladen haben. Auf anderen Systemen bittet MXterm Pro das System, das Banner anzuzeigen, aber ein Klick darauf führt nicht zum Pane. Unter Windows wurde das nicht verifiziert.

Einige Regeln halten die Banner ruhig. Über den Pane, auf den Sie gerade sehen, werden Sie nie benachrichtigt. Ein beendeter Durchlauf von weniger als 5 Sekunden erhält seinen Punkt, aber kein Banner und keinen Signalton. Ereignisse, die kurz nacheinander eintreffen, werden gesammelt und als ein Signalton und ein Banner zugestellt. Und unter macOS holt der Blick auf einen Pane dessen Banner wieder aus dem Benachrichtigungszentrum.

MCP-Verbindung und die Statuszeile von Claude

MXterm Pro betreibt einen MCP-Server auf 127.0.0.1 mit zufälligem Port und setzt in jedem Pane diese Umgebungsvariablen: MXTERM_MCP_URL, die Serveradresse, und MXTERM_SESSION, einen Token, der für diesen Pane eindeutig ist. Dazu kommen die älteren Namen SWARMTERM_MCP_URL und SWARMTERM_SESSION mit denselben Werten, die die unten genannten Konfigurationseinträge der Agents lesen. Agents nutzen den Server, um neben dem Pane eine Web-Vorschau zu öffnen, im Control Room zu kommunizieren und in Workspaces mit Worktree-Isolierung Worktrees zu erstellen und zu entfernen.

Die Tools heißen mxt_room.*. Versionen vor 1.1.43 nannten sie war_room.*; diese Namen funktionieren vorerst weiter.

Claude Code, Codex und OMP werden automatisch verbunden, Gemini CLI beim Start seines Panes. Bei jedem Start prüft MXterm Pro diese Dateien und schreibt die Einträge, wenn sie fehlen oder veraltet sind, unabhängig davon, ob die Agents installiert sind:

  • ~/.claude.json (oder $CLAUDE_CONFIG_DIR/.claude.json): ein Eintrag mxterm unter mcpServers, der URL und Token aus der Umgebung des Panes liest. Beim Schreiben dieses Eintrags fügt MXterm Pro außerdem "crossSessionInbound": "accept" hinzu, wenn der Schlüssel nicht gesetzt ist.
  • ~/.codex/config.toml (oder $CODEX_HOME/config.toml): eine Tabelle [mcp_servers.mxterm] mit der aktuellen Server-URL und ohne Token: Jedes Codex-Pane, das MXterm Pro startet, sendet seinen eigenen, sodass mehrere Codex-Panes einem Raum beitreten können. Die URL wird bei jedem Start neu geschrieben, weil sich der Port ändert.
  • ~/.omp/agent/mcp.json: ein Eintrag mxterm unter mcpServers, der URL und Token aus der Umgebung des Panes liest, genau wie bei Claude Code, plus eine Zeile $schema, falls die Datei keine hat.
  • ~/.zshrc, nur wenn die Datei existiert und SWARMTERM_SESSION noch nicht erwähnt: Die Zeile export SWARMTERM_SESSION="${SWARMTERM_SESSION:-global}" wird angehängt.

Gemini CLI kann in seinen MCP-Einstellungen keine Umgebungsvariablen lesen, deshalb wird es anders eingerichtet. Jedes Mal, wenn ein Gemini-CLI-Pane in einem Ordner startet, schreibt MXterm Pro <folder>/.gemini/settings.json mit der Serveradresse und dem eigenen Token dieses Panes im Klartext und fügt .gemini/settings.json zur .gitignore des Ordners hinzu. Gibt es keine, wird die Datei angelegt. Grok liest den Eintrag mxterm in ~/.claude.json, daher schreibt MXterm Pro dafür nichts weiter. Einstellungen → Agents zeigt, welche Agents MXterm Pro als eingerichtet ansieht.

Andere Agents werden nicht automatisch eingerichtet, und MXterm Pro hat nicht verifiziert, ob sie seine Tools erkennen. Zeigt ein Agent die Tools nicht an, fügen Sie einen HTTP-MCP-Server mit der URL $MXTERM_MCP_URL und dem Header Authorization: Bearer $MXTERM_SESSION hinzu. Lesen Sie beide Werte aus der Umgebung, statt sie zu kopieren, denn der Port ändert sich bei jedem Start und der Token ist für jeden Pane anders.

Die Integration der Claude-Code-Statuszeile ist standardmäßig eingeschaltet. Bei jedem Start setzt MXterm Pro statusLine in ~/.claude/settings.json (oder $CLAUDE_CONFIG_DIR/settings.json) auf type: "command" mit einem Befehl, der die ausführbare Datei von MXterm Pro mit --statusline startet. Claude Code zeigt dann mcp ✓ (verbunden), mcp … (Server erreichbar, Claude hat ihn nicht aufgerufen) oder mcp ✗ (nicht erreichbar), gefolgt von der Kontextnutzung, etwa ctx 84k/200k 42%. Die Einstellung gilt für das ganze Benutzerkonto, daher zeigt Claude Code in anderen Terminals den Kontextteil ebenfalls an. Eine eigene statusLine, die Sie schon haben, wird nie überschrieben. Ausschalten können Sie die Integration unter Einstellungen → Terminal → Manage Claude Code's status line. Dabei wird der Eintrag entfernt.

Git-Worktree-Isolierung

Kreuzen Sie im Workspace-Composer Features in git worktrees isolieren an, damit jeder Agent-Pane einen eigenen Worktree und Branch erhält. Die Option ist standardmäßig aus und gilt nur für den Workspace, den Sie gerade erstellen.

  • Jeder Agent-Pane erhält einen Branch wie swarm/brave-otter und einen Worktree unter <folder>/.worktrees/swarm-brave-otter. Der Branch-Name steht in der Kopfzeile des Panes.
  • Einfache Terminal-Panes bleiben im Ordner selbst. Ebenso ein Agent-Pane, dessen Worktree nicht erstellt werden konnte.
  • Worktrees starten beim aktuellen HEAD-Commit. Nicht committete Änderungen und ignorierte Dateien wie node_modules werden nicht kopiert, installieren Sie daher die Abhängigkeiten in jedem Worktree.
  • MXterm Pro fügt .worktrees/ zur .gitignore des Ordners hinzu und legt die Datei bei Bedarf an. Diese Änderung committet es nicht.
  • Die MCP-Tools worktree.spawn, worktree.list und worktree.remove können von Agents im Workspace aufgerufen werden.
Ist der Ordner kein git-Repository, legt MXterm Pro keines an. Die Isolierung wird für diesen Workspace übersprungen und alle Panes teilen sich den Ordner direkt. Jeder Pane weist einmal darauf hin, in einer Leiste, die Sie schließen können: Dieser Ordner ist kein git-Repository, daher teilt sich dieser Bereich ihn direkt mit den anderen (keine worktree-Isolierung). Es wird nichts initialisiert, vorgemerkt oder committet. Ein Ordner, der *schon* ein Repository ist, aber noch keine Commits hat, erhält dennoch eine leere .gitkeep. MXterm Pro merkt nur diese Datei vor und committet sie als „Initial commit“ (andere Dateien, die schon im Ordner liegen, werden nicht vorgemerkt), weil ein Worktree einen Commit braucht, von dem er abzweigt.

Um Worktrees zu entfernen, wenn Sie sie nicht mehr brauchen, öffnen Sie im rechten Panel den Tab Git und klicken neben der Worktree-Liste auf worktrees aufräumen….

  1. Einträge, deren Verzeichnis nicht mehr existiert, werden sofort und ohne Rückfrage bereinigt.
  2. Die übrigen öffnen sich in worktrees aufräumen. Worktrees ohne nicht committete Dateien werden nur gezählt („N worktrees werden entfernt (Verzeichnis und Branch).“) und entfernt, wenn Sie bestätigen.
  3. Worktrees mit Arbeit darin werden getrennt unter Diese enthalten ungesicherte Arbeit aufgeführt (ankreuzen, um trotzdem zu entfernen), jeweils mit der Zahl der nicht committeten Dateien und der nicht gemergten Commits. Sie sind nicht vorab angekreuzt.
  4. worktree entfernen (oder N worktrees entfernen) entfernt jedes Verzeichnis und löscht seinen Branch. Läuft noch ein Pane in einem davon, wird er zuvor in den Ordner verschoben.

Die von MXterm erstellten Worktrees sind außerdem mit Größe und Alter unter Einstellungen → Agents aufgelistet (siehe Einstellungen); diese Karte entfernt einen Ordner nur, wenn Sie Entfernen drücken, und lässt den Branch immer bestehen. Sie können es weiterhin von Hand erledigen, mit git worktree list, git worktree remove und git branch -d im Ordner. Ein Agent kann außerdem worktree.remove aufrufen. Das verweigert die Ausführung, wenn der Worktree nicht committete Änderungen enthält, und lässt den Branch bestehen.

Notizen zu einem Diff

Der Tab Git im rechten Panel zeigt die Änderungen im Ordner oder Worktree als Diff. Sie können zu einer Zeile eine Notiz hinterlassen und alle Notizen gesammelt an den Agent schicken, der die Änderungen gemacht hat.

  1. Fahren Sie im Diff über eine Zeile und klicken Sie auf das Notiz-Symbol: Notiz zu dieser Zeile hinzufügen, bei einer Zeile mit vorhandener Notiz Notiz bearbeiten.
  2. Tippen Sie die Notiz. Mit mod+Enter wird sie gespeichert, mit Esc brechen Sie ab.
  3. Wenn Sie alles aufgeschrieben haben, klicken Sie am Ende des Diffs auf N Notizen senden. Alle Notizen löschen verwirft sie stattdessen.

Jede Notiz kommt beim Agent als Datei, Zeile, Code dieser Zeile und Ihr Kommentar an. Der Block wird in das Pane des Agents eingefügt, aber nicht abgeschickt: Die App fordert Sie auf, im Pane selbst Enter zu drücken, damit Sie vorher noch etwas ergänzen können.

Das Senden wird abgelehnt, und der Grund steht auf der Schaltfläche, wenn die App nicht erkennen kann, an welches Pane sie senden soll, oder das Pane nicht bereit ist: In diesem Worktree arbeitet kein Agent-Pane, es arbeiten mehrere darin, das Pane läuft nicht, es hat noch nicht abgeschickte Eingaben oder es nimmt keine eingefügten Blöcke an. Für das Tippen gilt dieselbe Regel wie im Control Room.

Notizen liegen nur im Arbeitsspeicher, solange die App geöffnet ist. Sie werden nie auf die Festplatte geschrieben, und eine Notiz verschwindet, wenn ihre Zeile oder ihre Datei aus dem Diff entfällt.

Chat-Ansicht (experimentell)

Die Chat-Ansicht zeigt ein Agent-Pane als lesbaren Chat der eigenen Unterhaltung des Agents, über das Terminal gelegt. Sie ist standardmäßig ausgeschaltet. Schalten Sie sie mit Chat-Ansicht (experimentell) unter Einstellungen → Terminal ein.

  • Sie funktioniert für Claude Code, Codex, OMP und Grok. Bei einem anderen Agent oder einer einfachen Shell sagt das Pane, dass der Chat nicht verfügbar ist. Bei SSH-Panes wird sie nicht angeboten.
  • Ist die Einstellung an, öffnen Agent-Panes im Chat. Jedes Pane merkt sich seine eigene Wahl, und sie bleibt über Neustarts erhalten. Die Schaltfläche in der Kopfzeile des Panes oder mod+Shift+J schaltet das fokussierte Pane zwischen Chat und Terminal um. Schalten Sie die Einstellung aus, kehrt jedes Pane zu seinem Terminal zurück.
  • Der Chat ist ein Overlay. Der Terminal-Prozess darunter bleibt in beiden Fällen unberührt.
  • Im Eingabefeld sendet Enter, und Shift+Enter fügt eine Zeile ein. Sie können Dateien anhängen, Bilder einfügen und das Modell aus einem Menü wählen.
  • Bei Claude Code und Codex zeigt eine Berechtigungsabfrage, die MXterm Pro erkennt, Einmal genehmigen und Ablehnen und Agent stoppen. Bei anderen Abfragen meldet der Chat, dass der Agent im Terminal wartet.
  • Die Mikrofon-Schaltfläche im Eingabefeld ist ein Platzhalter. Sie nimmt nichts auf, fragt nicht nach einer Mikrofonberechtigung und fügt keinen Text ein.

Control Room: Räume und Mitglieder

Im Control Room schicken sich Agents in verschiedenen Panes Nachrichten, und Sie sind der Moderator. Mit ⌘⌥B unter macOS oder Ctrl+Alt+B unter Windows und Linux öffnen Sie das rechte Panel, dann wählen Sie den Tab Control Room. Das Panel hat fünf Tabs: zuerst Control Room, dann Explorer, Verlauf, Git und Vorschau. Nur Control Room trägt seinen Namen neben dem Symbol, den gekreuzten Schwertern. Die anderen vier zeigen nur ein Symbol, der Name steht im Tooltip. Auf dem Tab Control Room öffnet sich das Panel breiter. Jeder Workspace-Tab hat seinen eigenen Raum, und das Panel zeigt nur die Räume des Tabs, den Sie gerade ansehen, den Hauptraum zuerst. Die Räume anderer Tabs stehen unter einem Menü Andere Räume.

Ein Pane fügen Sie über die Control-Room-Schaltfläche (verbundene Knoten) in seiner Kopfzeile hinzu. Dabei öffnet sich das Panel automatisch im Tab Control Room, Sie müssen es also nicht vorher öffnen. Die Schaltfläche zeigt ein kleines +, solange das Pane in keinem Raum ist, und nimmt, sobald es in einem ist, die eigene Farbe des Panes an. Eine kleine Markierung neben dem Symbol zeigt den Zustand der Nachrichten des Panes: ein ausgefüllter Punkt für neue Nachrichten, ein hohler Ring, solange Nachrichten warten, bis das Pane frei ist, eine Raute, wenn ihm eine Aufgabe übergeben wurde, und ein Punkt im Ring, wenn ältere Nachrichten übersprungen wurden, weil die Warteschlange voll war. Fahren Sie über die Markierung, um ihren Text zu sehen. Die Schaltfläche fehlt bei SSH-Panes, bei einem Pane, das von Rechner angebunden ist (es startet auf diesem Rechner kein Terminal und kann daher keinem Raum beitreten), und bei sehr schmalen Panes. Ein Pane auf das Panel zu ziehen, fügt es nicht hinzu.

  • Zum Control Room hinzufügen, bei einem bestehenden Raum Zu „Raumname“ hinzufügen, fügt das Pane hinzu und öffnet das Panel.
  • Neuer Raum legt einen Raum an und fügt ihm das Pane hinzu.
  • Bei einem Pane, das schon in einem Raum ist, listet das Menü die anderen Räume unter Control Room wechseln auf (wählen Sie einen, um das Pane zu verschieben) und bietet Control Room verlassen an, das noch einmal nachfragt, bevor es das Pane entfernt (die Sitzung läuft weiter). Ein Pane gehört immer nur zu einem Raum.

Das Rechtsklickmenü eines Panes enthält Pane-ID kopieren. Für ein Pane, das in einem Raum ist und schon ein Handle hat, enthält es außerdem Raum-Handle kopieren, das es mit dem @ kopiert, etwa @claude-2, und Im Raum erwähnen, das dieses Handle in das Eingabefeld des Raums einfügt.

Im Panel sind der gewählte Raum-Tab sowie der gewählte Tab Members oder Discussion ausgefüllt, damit Sie leicht sehen, wo Sie sind. In der Raumleiste legen Sie mit + einen Raum an, benennen ihn per Doppelklick oder mit einem Klick auf das Stift-Symbol um, das erscheint, wenn Sie darauf zeigen, und löschen ihn mit seinem ✕ (der Hauptraum eines Tabs hat kein ✕ und lässt sich nicht löschen). Members listet die Panes im Raum auf. Ein Klick auf eine Zeile springt zu diesem Pane. Wenn Sie Namen oder Ordner markieren, um sie zu kopieren, springt es nicht. Mit einem Rechtsklick auf eine Zeile benennen Sie das Pane um. Jede Zeile hat eine Kopier-Schaltfläche, die das Handle des Mitglieds kopiert, etwa claude-2 (der Wert, den ein Agent in to einträgt), eine Kronen-Schaltfläche, die den Koordinator festlegt oder aufhebt (siehe Control Room: der Koordinator), und ein immer sichtbares ✕, das das Pane nach einer weiteren Rückfrage aus dem Raum entfernt. Ein Smartphone oder ein anderer Computer über sein Panel Rechner (siehe Panes und Aufteilungen), dessen Schalter Darf Control Rooms verwalten hier an ist (siehe Fernzugriff & Geräte), kann von seinem eigenen Bildschirm aus außerdem einen Raum erstellen, Mitglieder hinzufügen, ein Mitglied entfernen und einen Raum löschen, unter denselben Free-Limits. Der Hauptraum eines Tabs lässt sich nicht löschen.

Die Schaltfläche Hinzufügen oben in Members listet zuerst die Panes des Tabs auf, zu dem der Raum gehört, dann die Panes anderer Tabs unter deren Tab-Namen, sodass auch Agents aus anderen Tabs beitreten können. Einfache SSH-Panes, die keinen Agent ausführen können, und Panes, die von Rechner angebunden sind, werden nicht aufgelistet. Ein Pane, das schon in einem anderen Raum ist, ist ausgegraut mit Bereits in "Raumname". Klicken Sie auf eine Zeile, um sie anzukreuzen, und drücken Sie dann N hinzufügen; Alle auswählen und Leeren ändern alle Häkchen auf einmal, und das + am Ende einer Zeile fügt nur dieses Pane sofort hinzu. Werden drei oder mehr Panes auf einmal hinzugefügt, fragt die App vorher nach (N Bereiche zu "Raumname" hinzufügen?). Können einzelne Panes nicht beitreten, etwa weil der Raum das Limit des Free-Tarifs erreicht hat, steht etwa 12 Sekunden lang unter der Schaltfläche, wie viele es sind und warum.

Ein Mitglied verlässt einen Raum über sein ✕, über Control Room verlassen im Menü seines Panes, wenn Sie sein Pane mit Control Room wechseln verschieben, wenn sein Raum gelöscht wird oder wenn sein Terminal endet. Eine Zeile zu ziehen, entfernt sie nicht. Die Discussion hält jeden Abgang fest und hängt, sofern der Grund bekannt ist, ihn an die Zeile an: (its pane left this window), (removed from the Members list), (left from the pane menu), (its terminal ended) oder (its pane was not reopened).

Räume und ihre Mitglieder werden gespeichert. Nachdem Sie die App beendet und wieder geöffnet haben, ist jedes Mitglied, dessen Pane wiederhergestellt wird, zurück in seinem Raum und zeigt kein Handshake, bis sein Agent erneut mxt_room aufruft. Ein Mitglied wartet bis zu 5 Minuten lang als Wartet auf Wiederverbindung in der Liste darauf, dass sein Pane zurückkommt. Kommt das Pane nicht, verlässt das Mitglied den Raum. Kehrt ein Agent zum Shell-Prompt zurück, bemerkt MXterm Pro das innerhalb weniger Sekunden (es prüft alle 3 Sekunden, nur unter macOS und Linux) und markiert das Mitglied als getrennt, und die Discussion meldet <name> disconnected (its agent exited). Das Mitglied bleibt im Raum, und seine Claims werden freigegeben. Nachrichten werden nicht mehr in seine Shell getippt, und ein Broadcast überspringt es. Es verbindet sich wieder, wenn der Agent gestartet wird und erneut mxt_room aufruft.

Wenn Sie ein Agent-Pane hinzufügen, tippt MXterm Pro eine kurze Einführung in den Prompt des Agents, die ihn anweist, mxt_room.list_peers aufzurufen. Ein Pane kann sich nicht als Sie ausgeben: Ein Pane, dessen Name „Moderator“ enthält, in beliebiger Groß- und Kleinschreibung, tritt als (pane, not the real Moderator) gefolgt von seinem eigenen Namen bei, und ein Name, der die Rolle des Koordinators beansprucht, erhält auf dieselbe Weise das Präfix (pane, not the coordinator). Tritt ein Agent, der die Regeln schon gesehen hat, einem Raum erneut bei, erhält er statt der vollständigen Einführung eine einzelne Zeile, die den Raum und den Koordinator nennt. Bis der Agent seinen ersten mxt_room-Aufruf macht, zeigt das Mitglied kein Handshake und kann keine Nachrichten empfangen. Eine einfache Shell macht diesen Aufruf nie, und Agents ohne automatische MCP-Einrichtung brauchen die oben beschriebene manuelle Einrichtung. Der MCP-Server weist Agents an, mxt_room-Tools nur aufzurufen, wenn Sie ihr Pane zu einem Raum hinzugefügt haben. Ein Aufruf aus einem Pane, das in keinem Raum ist, schlägt mit einem Fehler fehl, der den Agent bittet, sich von Ihnen hinzufügen zu lassen. Ein verbundenes Mitglied zeigt inaktiv, wenn MXterm Pro den Zustand seines Agents nicht lesen kann (der Zustand ist unbekannt, oder das Pane hat keinen Zustandsdetektor) und es seit mehr als fünf Minuten keinen mxt_room-Aufruf gemacht hat.

Ein Pane ohne eigenen Namen erhält einen Namen und ein Handle aus seinem Agent und einer Nummer, zum Beispiel Claude 2 und claude-2. Das ist der Agent, als der das Pane geöffnet wurde, oder bei einem einfachen Terminal der Agent, den MXterm Pro darin als laufenden Prozess erkannt hat. Die Nummer zählt pro Agent in diesem Raum hoch und wird dort nie an ein anderes Pane vergeben, sodass ein altes Handle keinen Neuling erreichen kann. Agents sprechen das Pane über sein Handle an; die längere ID mit peer- wird in to weiterhin akzeptiert. In der Discussion wird das Handle eines aktuellen Mitglieds als dieser Name angezeigt. Ein Pane, dem Sie einen Namen gegeben haben (siehe Ein Pane benennen), erscheint unter diesem Namen. Ein Pane, dem Sie keinen Namen gegeben haben, erhält vom Raum einen Namen aus seinem Terminal-Titel, sobald dieser Titel 2,5 Sekunden lang gleich geblieben ist, ohne das Statussymbol. Ein Titel, der nur ein Shell-Name, der Name des Agents selbst, ein Pfad oder user@host ist, wird nicht verwendet. Der Name im Raum ändert den eigenen Namen des Panes nicht. Zeigen Sie auf die Control-Room-Schaltfläche eines Panes, um seinen Raum und sein Handle zu sehen.

Nachrichten im Control Room senden

Der Tab Discussion zeigt die Nachrichten des Raums als Karten: Absender und Zeit, dann wer der Empfänger war, bei einem Prompt mit dem Tag Execute. Schreiben Sie als Moderator im Eingabefeld unten, wählen Sie einen Empfänger und einen Modus und drücken Sie Enter zum Senden (Shift+Enter fügt eine Zeile ein). Das Eingabefeld zeigt An Raum: <name> und bleibt deaktiviert, bis mindestens ein Mitglied verbunden ist. Ihr Entwurf bleibt pro Raum erhalten, auch beim Wechsel von Tabs, Räumen oder Workspaces, bis Sie ihn senden. Mit @ listen Sie die verbundenen Mitglieder auf; Enter oder Tab fügt ihr Handle, etwa @claude-2, in den Text ein. Die Liste beginnt mit einer Zeile Owner, die @owner für Sie einfügt, und eine Krone kennzeichnet den Koordinator. Eine Nachricht, die @owner erwähnt, erhält einen kleinen Punkt. Eine Erwähnung nennt nur jemanden in der Nachricht. Den Empfänger ändert sie nicht, den wählen Sie im Empfängermenü. An eine Moderator-Nachricht können Sie bis zu 5 Bilder mit je bis zu 10 MB anhängen. MXterm Pro ist außerdem so gebaut, dass ein gekoppeltes Telefon den Raum lesen und Nachrichten senden kann, sobald Sie Telefonen den Control Room zeigen einschalten, was standardmäßig aus ist. Wenn Sie von der neuesten Nachricht nach oben scrollen, erscheint unten rechts eine runde Pfeil-Schaltfläche (Zum Neuesten springen) mit der Anzahl der seither eingegangenen Nachrichten; sie bringt Sie zurück ans Ende. Bericht (.md) oben exportiert die Discussion.

ModusWas passiertEmpfänger
ProbeDie Nachricht landet im Posteingang des Empfängers, und ein einzeiliger Hinweis wird ins Terminal des Agents getippt. Eine einzelne Nachricht, die aus einer einfachen Zeile mit bis zu 280 Zeichen besteht, wird im Hinweis zitiert. Andernfalls weist der Hinweis den Agent an, mxt_room.read_inbox aufzurufen.Alle oder ein verbundenes Mitglied
ExecuteDer Text wird ins Terminal des Agents eingefügt und als Prompt abgeschickt. Das Eingefügte beginnt mit einer Zeile, die den Absender nennt, [War Room execute from "<name>" — agent-to-agent handoff, not typed by the user], damit der Agent erkennt, dass es nicht von Ihnen an seinem Prompt getippt wurde. Nur die Einführung, die MXterm Pro beim Beitritt eines Panes zu einem Raum tippt, hat keine solche Zeile. Diese Einführung bittet den Agent außerdem, eine übergebene Aufgabe mit einer einzeiligen Antwort RESULT status=… files=… tests=… abzuschließen und keine Tests zu behaupten, die er nicht ausgeführt hat.Ein verbundenes Mitglied, das einen Coding-Agent ausführt, nie eine einfache Shell

Agents senden mit mxt_room.send in denselben beiden Modi und können Ihnen als Moderator schreiben, indem sie owner oder @owner in to angeben. Eine Nachricht an Sie kann nur ein Probe sein, da Sie in dem Raum kein Terminal haben. Ihre Nachrichten erscheinen in der Discussion. Das Papierkorb-Symbol leert die Discussion und behält die Mitglieder.

MXterm Pro tippt nur dann in ein Pane, wenn dessen Ausgabe 3 Sekunden lang ruhig war. Ein Agent, den MXterm Pro an seinem Prompt als inaktiv liest, gilt als ruhig, auch wenn sein Terminal weiter Neuzeichnungen ausgibt. Auch dann hält es Zustellungen zurück, solange:

  • der Agent in diesem Pane nicht inaktiv ist (ein Agent, der an einem Berechtigungsdialog wartet, zählt dazu, und MXterm Pro erkennt das bei den Agents, deren Zustand es liest), oder
  • das Pane ein einfaches Terminal ist, in dem MXterm Pro einen laufenden Agent gefunden hat (es liest das Vordergrundprogramm des Panes, und nur bei bekannten Agents wie claude, codex, gemini, omp und grok), und es den Zustand dieses Agents nicht lesen kann, wie bei GitHub Copilot und Amp: Ein Berechtigungsdialog könnte offen sein, oder
  • Sie in diesem Pane eine nicht abgeschickte Zeile haben (ein nicht gesendeter Entwurf im Chat-Eingabefeld des Panes zählt dazu) oder in den letzten 6 Sekunden eine Taste gedrückt haben, während es den Fokus hat, oder
  • das Pane keine eingefügten Blöcke annimmt (Bracketed Paste ist aus, wie in einer einfachen Shell) und eine Nachricht mehr als eine Zeile hat: Sie würde Zeile für Zeile ausgeführt, also wird sie nicht getippt. Das Pane sagt es und bietet Verwerfen, aber kein Jetzt zustellen an.

Ein Pane, das als einfaches Terminal geöffnet wurde, zählt ebenfalls als Agent, sobald MXterm Pro darin einen der Agents laufen sieht, deren Bildschirm es liest, zum Beispiel claude, am Shell-Prompt eingetippt. Es hat dann einen Zustand, und seine Nachrichten werden nach denselben Regeln zugestellt wie bei einem Pane, das aus einer Agent-Vorlage geöffnet wurde. MXterm Pro liest das Vordergrundprogramm eines Panes unter macOS und Linux. Unter Windows kann es das nicht, dort bleibt ein einfaches Pane ein einfaches Pane, egal wie Sie darin einen Agent starten.

Solange Nachrichten in der Warteschlange sind, färbt sich die Kopfzeile des Panes bernsteinfarben. Sind sie zurückgehalten, zeigt das Pane mit einer Schaltfläche Jetzt zustellen, wie viele Nachrichten warten, und der Raum-Tab zeigt ⏸ mit der Anzahl. Auch die Zeile des Mitglieds in Members zeigt ⏸ und die Anzahl. Jetzt zustellen sendet sie auch dann, wenn der Agent beschäftigt ist oder Sie gerade tippen, wartet aber weiterhin, bis die Ausgabe des Panes ruhig ist. Solange der Agent arbeitet und das Pane noch Ausgabe erzeugt, hat die Anzeige keine Schaltfläche und lautet Wartet, bis der Agent frei ist; nachdem Sie Jetzt zustellen gedrückt haben, lautet sie Wird gesendet, sobald der Agent frei ist. Eine Zurückhaltung, die 10 Sekunden dauert, löst ein Banner Nachrichten warten auf Versand aus, danach höchstens zwei Erinnerungen im Abstand von 2 Minuten, bis die Warteschlange leer ist.

Daneben steht Verwerfen (✕): Es wirft die Warteschlange weg, ohne etwas zu tippen. Eine Warteschlange aus Hinweisen ist mit einem Klick weg, und die Nachrichten bleiben im Posteingang des Agents. Eine Warteschlange mit einem Execute verlangt einen zweiten Klick (Verwerfen?), weil dieser Text eingefügt wird und sonst nirgends gespeichert ist. Der Absender erfährt, dass sie verworfen wurde. Ein veralteter Hinweis wird verworfen statt getippt, nämlich wenn der Agent schon jede Nachricht gelesen hat, die er ankündigt.

mxt_room.list_peers sagt jedem Agent, wer im Raum ist. Jeder Peer hat einen state (working, blocked, wenn er an einem Berechtigungsdialog oder einer Frage wartet, done, idle oder none, wenn MXterm Pro dieses Pane nicht lesen kann) und agentSource, das angibt, ob das Pane als dieser Agent geöffnet wurde (template) oder MXterm Pro den Agent im Pane laufen sah (process). Der Platz des Moderators trägt isModerator: true. Das ist das einzige Feld, das die Person kennzeichnet, die die App bedient, denn der Name eines Panes kann beliebigen Inhalt haben. Der Koordinator des Raums, falls Sie einen festgelegt haben, trägt isCoordinator: true.

Mit changesOnly: true liefert mxt_room.list_peers nur die Peers, deren Eintrag sich seit dem letzten Aufruf dieses Agents geändert hat. Die lange erklärende Notiz kommt nur beim ersten Aufruf eines Agents. Das Feld unreadFromYou eines Peers gibt an, wie viele Ihrer Nachrichten er noch nicht gesehen hat, und fehlt, wenn es keine gibt. Eine Nachricht gilt als gesehen, sobald der Peer sie mit mxt_room.read_inbox gelesen hat, sobald ein Hinweis, der sie vollständig zitierte, ins Pane getippt und abgeschickt wurde, oder sobald der Peer Ihnen geantwortet hat. Eine Nachricht, die auf dem zweiten oder dritten Weg als gesehen gilt, bleibt im Posteingang, bis der Peer sie liest. Die Beschreibungen der War-Room-Tools, die Agents erhalten, sind kürzer, damit Agents dafür weniger Tokens verbrauchen.

Ein Agent, der eine Weile weg war, kann mxt_room.digest aufrufen und erhält eine kurze Zusammenfassung seines eigenen Raums: die an ihn gerichteten Nachrichten, die er noch nicht beantwortet hat, die jüngsten Nachrichten, wer welche Dateien belegt und wer blockiert ist. Das Tool liest nur: Es leert den Posteingang des Agents nicht und zeigt nie einen anderen Raum.

Control Room: der Koordinator

Sie können als Moderator ein Mitglied zum Koordinator des Raums machen. Zeigen Sie auf die Zeile des Mitglieds in Members und klicken Sie auf die Kronen-Schaltfläche (Zum Koordinator machen). Klicken Sie erneut darauf (Koordinator entfernen), um die Rolle aufzuheben. Nur Sie können sie in der App festlegen. Ein Agent kann das nicht, und ein Pane-Name kann sie nicht beanspruchen.

  • Ein Raum hat höchstens einen Koordinator. Machen Sie ein anderes Mitglied zum Koordinator, ersetzt es das erste, und die Rolle endet, wenn dieses Mitglied den Raum verlässt.
  • In einem Raum mit Koordinator dürfen nur der Koordinator und Sie einen Broadcast senden, also eine Nachricht ohne Empfänger. Jedes andere Mitglied muss an einen Peer senden, meist an den Koordinator. Die App lehnt jeden anderen Broadcast mit einem Fehler ab, der den Koordinator nennt. Die Übergabe einer Aufgabe mit execute ist auf dieselbe Weise beschränkt, während jedes Mitglied weiterhin eine Probe an einen Peer senden kann. In einem Raum ohne Koordinator kann jeder Agent höchstens 3 Broadcasts pro 60 Sekunden senden, und ein Broadcast wird abgelehnt, wenn mehr als 12 Peers verbunden sind; Einzelnachrichten sind davon nicht betroffen.
  • Das Festlegen oder Aufheben der Rolle sendet jedem Mitglied eine automatische Nachricht und fügt der Discussion eine Zeile hinzu, etwa <name> is now the coordinator. Die Nachricht sagt außerdem, dass Push, Deploy, Release und Löschen weiterhin eine Nachricht von Ihnen brauchen (fromModerator: true): Der Koordinator schlägt nur vor. Ein Agent, der später beitritt, erfährt in seiner Einführung, wer der Koordinator ist.
  • mxt_room.list_peers kennzeichnet den Koordinator mit isCoordinator: true. Wie isModerator stammt es aus der Rolle, nicht aus einem Namen.

Dateien mit Claims reservieren

Zwei Agents können am Ende dieselbe Datei ändern. Um das zu vermeiden, reserviert ein Agent Dateien oder Ordner mit mxt_room.claim, bevor er sie bearbeitet, bis zu 10 in einem Claim. Liegt eine davon in einem Claim, den ein anderer Peer noch hält, wird der Claim abgelehnt, und die Antwort nennt, wer ihn hält. Ein Claim ist nur ein Hinweis: Er hindert niemanden daran, in eine Datei zu schreiben.

Ein Claim gilt 15 Minuten nach dem letzten mxt_room-Aufruf seines Besitzers. Er endet auch, wenn der Besitzer den Raum verlässt, wenn sein Agent zum Shell-Prompt zurückkehrt oder wenn Sie auf das ✕ in seiner Schloss-Zeile im Tab Members klicken, das erscheint, wenn Sie auf die Zeile zeigen. Es gibt alle Claims dieses Mitglieds frei und ist der Ausweg bei einem festhängenden Agent, der Dateien hält, die ein anderer braucht. Ein Mitglied kann höchstens 5 Claims halten.

Im Tab Members zeigt ein Mitglied mit einem Claim unter seinem Namen eine Schloss-Zeile.

Limits im Control Room

  • Standardmäßig lässt der Free-Tarif 2 Panes pro Raum zu. Beim dritten öffnet sich der Upgrade-Hinweis. Free erlaubt außerdem immer nur einen Control Room mit Mitgliedern: Ein Raum ohne Mitglieder zählt nicht, Sie können also beliebig viele Räume anlegen, aber ein Pane in einen zweiten Raum zu setzen, während ein anderer Mitglieder hat, öffnet den Upgrade-Hinweis. Das einzige Mitglied eines Raums in einen anderen Raum zu verschieben, ist erlaubt. Die App selbst setzt beide Limits durch. mxterm.net kann andere Zahlen festlegen. Eine Änderung gilt für später hinzugefügte Panes und entfernt weder Mitglieder noch Räume, die Sie schon haben. Pro hat bei beiden kein Limit. Siehe Preise.
  • Jeder Agent kann höchstens 20 Nachrichten und Claims pro 60 Sekunden senden; der Moderator ist nicht begrenzt.
  • Eine Nachricht darf höchstens 8.192 Bytes groß sein.
  • Ein Posteingang behält die letzten 50 Nachrichten im Speicher und verwirft die älteren. Über einen Neustart hinweg behält MXterm Pro höchstens die neuesten 20 ungelesenen Nachrichten pro Mitglied, insgesamt 256 KiB, und nichts, das älter als 24 Stunden ist.
  • Wenn der MCP-Server nicht startet, ist der Control Room für diesen Lauf nicht verfügbar, und das Hinzufügen eines Panes schlägt fehl.

KI zu MXterm Pro fragen

Öffnen Sie eine Live-Antwort in ChatGPT, Claude oder Perplexity, die auf dieser Seite basiert. Den Text schreibt der Assistent, nicht wir. Prüfen Sie daher die Quellen, die er nennt.

Gesendete FrageWie führe ich Claude Code, Codex und andere Agent-CLIs in MXterm Pro aus, und was leistet der Control Room?