> Diese Übersetzung wurde von Claude erstellt. Verbesserungsvorschläge sind als PR willkommen.
Ein Ghostty-basiertes macOS-Terminal mit vertikalen Tabs und Benachrichtigungen für AI-Coding-Agenten
English | 日本語 | Tiếng Việt | 简体中文 | 繁體中文 | 한국어 | Deutsch | Español | Français | Italiano | Dansk | Polski | Русский | Bosanski | العربية | Norsk | Português (Brasil) | ไทย | Türkçe | ភាសាខ្មែរ | Українська
▶ Demo-Video · The Zen of cmux
## Funktionen
BenachrichtigungsringeBereiche erhalten einen blauen Ring und Tabs leuchten auf, wenn Coding-Agenten Ihre Aufmerksamkeit benötigen |
|
BenachrichtigungspanelAlle ausstehenden Benachrichtigungen auf einen Blick sehen und zur neuesten ungelesenen springen |
|
Integrierter BrowserTeilen Sie einen Browser neben Ihrem Terminal mit einer skriptfähigen API, portiert von agent-browser |
|
Vertikale + horizontale TabsDie Seitenleiste zeigt Git-Branch, verknüpften PR-Status/Nummer, Arbeitsverzeichnis, lauschende Ports und den neuesten Benachrichtigungstext. Horizontal und vertikal teilen. |
|
SSHcmux ssh user@remote erstellt einen Arbeitsbereich für eine entfernte Maschine. Browser-Bereiche werden über das entfernte Netzwerk geleitet, sodass localhost einfach funktioniert. Ziehen Sie ein Bild in eine entfernte Sitzung, um es per scp hochzuladen.
|
|
Claude Code Teamscmux claude-teams startet den Teammate-Modus von Claude Code mit einem einzigen Befehl. Teammates erscheinen als native Teilungen mit Seitenleisten-Metadaten und Benachrichtigungen. Kein tmux erforderlich.
|
|
Öffnen Sie die `.dmg`-Datei und ziehen Sie cmux in Ihren Programme-Ordner. cmux aktualisiert sich automatisch über Sparkle, sodass Sie nur einmal herunterladen müssen.
### Homebrew
```bash
brew tap manaflow-ai/cmux
brew install --cask cmux
```
Später aktualisieren:
```bash
brew upgrade --cask cmux
```
Beim ersten Start fordert macOS Sie möglicherweise auf, das Öffnen einer App von einem identifizierten Entwickler zu bestätigen. Klicken Sie auf **Öffnen**, um fortzufahren.
## Warum cmux?
Ich führe viele Claude Code- und Codex-Sitzungen parallel aus. Ich habe Ghostty mit einer Menge geteilter Bereiche verwendet und mich auf die nativen macOS-Benachrichtigungen verlassen, um zu wissen, wann ein Agent mich braucht. Aber der Benachrichtigungstext von Claude Code ist immer nur „Claude is waiting for your input" ohne Kontext, und bei genügend offenen Tabs konnte ich nicht einmal mehr die Titel lesen.
Ich habe einige Coding-Orchestratoren ausprobiert, aber die meisten waren Electron/Tauri-Apps und die Performance hat mich gestört. Ich bevorzuge außerdem das Terminal, da GUI-Orchestratoren einen in ihren Workflow einschließen. Also habe ich cmux als native macOS-App in Swift/AppKit gebaut. Es verwendet libghostty für das Terminal-Rendering und liest Ihre vorhandene Ghostty-Konfiguration für Themes, Schriftarten und Farben.
Die wesentlichen Ergänzungen sind die Seitenleiste und das Benachrichtigungssystem. Die Seitenleiste hat vertikale Tabs, die Git-Branch, verknüpften PR-Status/Nummer, Arbeitsverzeichnis, lauschende Ports und den neuesten Benachrichtigungstext für jeden Arbeitsbereich anzeigen. Das Benachrichtigungssystem erkennt Terminal-Sequenzen (OSC 9/99/777) und bietet eine CLI (`cmux notify`), die Sie in Agent-Hooks für Claude Code, OpenCode usw. einbinden können. Wenn ein Agent wartet, bekommt sein Bereich einen blauen Ring und der Tab leuchtet in der Seitenleiste auf, sodass ich über Teilungen und Tabs hinweg erkennen kann, welcher mich braucht. ⌘⇧U springt zur neuesten ungelesenen Benachrichtigung.
Der integrierte Browser hat eine skriptfähige API, portiert von [agent-browser](https://github.com/vercel-labs/agent-browser). Agenten können den Barrierefreiheitsbaum erfassen, Elementreferenzen erhalten, klicken, Formulare ausfüllen und JS ausführen. Sie können einen Browser-Bereich neben Ihrem Terminal teilen und Claude Code direkt mit Ihrem Entwicklungsserver interagieren lassen.
Alles ist über CLI und Socket-API skriptfähig — Arbeitsbereiche/Tabs erstellen, Bereiche teilen, Tastenanschläge senden, URLs im Browser öffnen.
## The Zen of cmux
cmux schreibt Entwicklern nicht vor, wie sie ihre Werkzeuge nutzen sollen. Es ist ein Terminal und Browser mit einer CLI, und der Rest liegt bei Ihnen.
cmux ist ein Grundbaustein, keine fertige Lösung. Es bietet Ihnen ein Terminal, einen Browser, Benachrichtigungen, Arbeitsbereiche, Teilungen, Tabs und eine CLI, um alles zu steuern. cmux zwingt Sie nicht in eine bestimmte Art, Coding-Agenten zu nutzen. Was Sie mit den Grundbausteinen bauen, ist Ihre Sache.
Die besten Entwickler haben schon immer ihre eigenen Werkzeuge gebaut. Niemand hat bisher die beste Art gefunden, mit Agenten zu arbeiten, und die Teams, die geschlossene Produkte bauen, auch nicht. Die Entwickler, die ihren eigenen Codebasen am nächsten sind, werden es zuerst herausfinden.
Geben Sie einer Million Entwickler komponierbare Grundbausteine, und sie werden gemeinsam die effizientesten Workflows schneller finden, als jedes Produktteam es von oben herab entwerfen könnte.
## Dokumentation
Weitere Informationen zur Konfiguration von cmux finden Sie in [unserer Dokumentation](https://cmux.com/docs/getting-started?utm_source=readme).
## Tastenkürzel
### Arbeitsbereiche
| Tastenkürzel | Aktion |
|----------|--------|
| ⌘ N | Neuer Arbeitsbereich |
| ⌘ 1–8 | Zu Arbeitsbereich 1–8 springen |
| ⌘ 9 | Zum letzten Arbeitsbereich springen |
| ⌃ ⌘ ] | Nächster Arbeitsbereich |
| ⌃ ⌘ [ | Vorheriger Arbeitsbereich |
| ⌘ ⇧ W | Arbeitsbereich schließen |
| ⌘ ⇧ R | Arbeitsbereich umbenennen |
| ⌥ ⌘ E | Arbeitsbereichsbeschreibung bearbeiten |
| ⌘ B | Seitenleiste umschalten |
| ⌥ ⌘ B | Rechte Seitenleiste umschalten |
| ⌘ ⇧ E | Fokus der rechten Seitenleiste umschalten |
### Oberflächen
| Tastenkürzel | Aktion |
|----------|--------|
| ⌘ T | Neue Oberfläche |
| ⌘ ⇧ ] | Nächste Oberfläche |
| ⌘ ⇧ [ | Vorherige Oberfläche |
| ⌃ Tab | Nächste Oberfläche |
| ⌃ ⇧ Tab | Vorherige Oberfläche |
| ⌃ 1–8 | Zu Oberfläche 1–8 springen |
| ⌃ 9 | Zur letzten Oberfläche springen |
| ⌘ W | Oberfläche schließen |
### Geteilte Bereiche
| Tastenkürzel | Aktion |
|----------|--------|
| ⌘ D | Nach rechts teilen |
| ⌘ ⇧ D | Nach unten teilen |
| ⌥ ⌘ ← → ↑ ↓ | Bereich richtungsabhängig fokussieren |
| ⌘ ⇧ H | Fokussierten Bereich aufblitzen |
### Browser
Tastenkürzel für Browser-Entwicklertools folgen den Safari-Standardeinstellungen und sind in `Einstellungen → Tastenkürzel` anpassbar.
Navigationstastenkürzel der Befehlspalette, einschließlich ⌃ P, sind ebenfalls anpassbar und können gelöscht werden, sodass der Tastendruck das aktive Terminal erreicht.
| Tastenkürzel | Aktion |
|----------|--------|
| ⌘ ⇧ L | Browser in Teilung öffnen |
| ⌘ L | Adressleiste fokussieren |
| ⌘ [ | Zurück |
| ⌘ ] | Vorwärts |
| ⌘ R | Seite neu laden |
| ⌥ ⌘ I | Entwicklertools umschalten (Safari-Standard) |
| ⌥ ⌘ C | JavaScript-Konsole anzeigen (Safari-Standard) |
### Benachrichtigungen
| Tastenkürzel | Aktion |
|----------|--------|
| ⌘ I | Benachrichtigungspanel anzeigen |
| ⌘ ⇧ U | Zur neuesten ungelesenen springen |
| ⌥ ⌘ U | Ungelesen-Status des aktuellen Eintrags umschalten |
| ⌃ ⌘ U | Aktuellen Eintrag als älteste ungelesene markieren und zur nächsten neuesten ungelesenen springen |
### Suchen
| Tastenkürzel | Aktion |
|----------|--------|
| ⌘ F | Suchen |
| ⌘ ⇧ F | Im Verzeichnis suchen |
| ⌘ G / ⌥ ⌘ G | Nächstes / vorheriges Ergebnis |
| ⌥ ⌘ ⇧ F | Suchleiste ausblenden |
| ⌘ E | Auswahl für Suche verwenden |
### Terminal
| Tastenkürzel | Aktion |
|----------|--------|
| ⌘ K | Scrollback löschen |
| ⌘ C | Kopieren (mit Auswahl) |
| ⌘ V | Einfügen |
| ⌘ + / ⌘ - | Schriftgröße vergrößern / verkleinern |
| ⌘ 0 | Schriftgröße zurücksetzen |
### Fenster
| Tastenkürzel | Aktion |
|----------|--------|
| ⌘ ⇧ N | Neues Fenster |
| ⌘ ⇧ O | Vorherige Sitzung erneut öffnen |
| ⌘ , | Einstellungen |
| ⌘ ⇧ , | Konfiguration neu laden |
| ⌘ Q | Beenden |
## Nightly Builds
[cmux NIGHTLY herunterladen](https://github.com/manaflow-ai/cmux/releases/download/nightly/cmux-nightly-macos.dmg)
cmux NIGHTLY ist eine separate App mit eigener Bundle-ID, die neben der stabilen Version läuft. Wird automatisch vom neuesten `main`-Commit gebaut und aktualisiert sich über einen eigenen Sparkle-Feed.
Melden Sie Nightly-Bugs über [GitHub Issues](https://github.com/manaflow-ai/cmux/issues) oder in [#nightly-bugs auf Discord](https://discord.gg/xsgFEVrWCZ).
## Sitzungswiederherstellung
Beim Beenden speichert cmux die aktuelle Sitzung. Beim Neustart stellt cmux den von der
App verwalteten Zustand wieder her:
- Fenster-/Arbeitsbereich-/Bereichs-Layout
- Arbeitsverzeichnisse
- Terminal-Scrollback (bestmöglich)
- Browser-URL und Navigationsverlauf
cmux erstellt keine Prüfpunkte für beliebigen laufenden Prozesszustand. tmux, vim, Shells und
nicht unterstützte Terminal-Apps werden als normale Terminals erneut geöffnet.
Unterstützte Agent-Sitzungen können fortgesetzt werden, wenn Hooks eine native Sitzungs-ID gespeichert haben.
Installieren Sie Hooks nach der Installation der Agent-CLI, damit ihr Binary im `PATH` liegt:
```bash
cmux hooks setup
cmux hooks setup codex
cmux hooks setup --agent opencode
```
`cmux hooks setup` installiert die gefundenen unterstützten Agenten und gibt eine Zusammenfassung
der übersprungenen Agenten aus. Zu den unterstützten Wiederaufnahme-Integrationen gehören Claude Code, Codex,
Grok, OpenCode, Pi, Amp, Cursor CLI, Gemini, Rovo Dev, Copilot, CodeBuddy,
Factory und Qoder. Claude Code wird vom cmux Claude-Wrapper übernommen, wenn die Claude-Integration
in den Einstellungen aktiviert ist.
Fortgeschrittene Nutzer und Integrationen können einen eigenen Wiederaufnahmebefehl an die aktuelle
Terminal-Surface binden. Das ist nützlich für Werkzeuge mit eigenem dauerhaftem Zustand,
etwa tmux-Sitzungen oder eigene Agent-CLIs:
```bash
cmux surface resume set --kind tmux --checkpoint work --shell "tmux attach -t work"
cmux surface resume show --json
cmux surface resume clear --checkpoint work
```
Die Bindung bleibt mit der cmux-Surface verknüpft. Über öffentliche CLI oder Socket erstellte
Bindungen werden zur Prüfung und manuellen Wiederaufnahme gespeichert, sofern Sie nicht ein
signiertes Befehlspräfix für die automatische Wiederaufnahme freigeben. Freigegebene Präfixe sind
zudem an das Arbeitsverzeichnis und die exakten Umgebungswerte gebunden, sofern vorhanden. Prüfen oder
bearbeiten Sie Freigaben unter **Einstellungen > Terminal > Wiederaufnahmebefehle**. cmux führt nur
Wiederaufnahme-Bindungen automatisch aus, die es als vertrauenswürdig markiert, etwa aus laufenden
Prozessen erkannte tmux-Bindungen oder vom Nutzer freigegebene Präfixe. Sensible Umgebungsvariablen
wie Tokens, Passwörter, Secrets und API-Keys werden verworfen, bevor eine Wiederaufnahme-Bindung
gespeichert wird.
Um wiederhergestellte Agent-Terminals inaktiv zu lassen, anstatt ihre Wiederaufnahmebefehle automatisch auszuführen,
deaktivieren Sie **Einstellungen > Terminal > Agent-Sitzungen beim erneuten Öffnen fortsetzen** oder setzen Sie dies in
`~/.config/cmux/cmux.json`:
```json
{
"terminal": {
"autoResumeAgentSessions": false
}
}
```
Dies deaktiviert nur die automatischen Agent-Wiederaufnahmebefehle. cmux stellt weiterhin das gespeicherte Layout,
die Arbeitsverzeichnisse, den Scrollback und den Browserverlauf wieder her.
Wenn Sie den zuletzt gespeicherten Snapshot manuell erneut anwenden müssen, verwenden Sie:
- `Ablage > Vorherige Sitzung erneut öffnen`
- `⌘ ⇧ O`
- `cmux restore-session`
Im Hintergrund schreibt cmux einen versionierten Snapshot unter
`~/Library/Application Support/cmux/`, und Agent-Hooks schreiben Sitzungszuordnungen
unter `~/.cmuxterm/`. Bei der Wiederherstellung baut cmux zuerst das Layout neu auf und führt dann den
nativen Wiederaufnahmebefehl des unterstützten Agenten aus, wenn die automatische Agent-Wiederaufnahme aktiviert ist.
Lesen Sie die vollständige Anleitung unter
WeChat: Scannen Sie den QR-Code, um der Community beizutreten.