> Denne oversættelse er genereret af Claude. Har du forslag til forbedringer, er du velkommen til at oprette en PR.
En Ghostty-baseret macOS-terminal med lodrette faner og notifikationer til AI-kodningsagenter
English | 日本語 | Tiếng Việt | 简体中文 | 繁體中文 | 한국어 | Deutsch | Español | Français | Italiano | Dansk | Polski | Русский | Bosanski | العربية | Norsk | Português (Brasil) | ไทย | Türkçe | ភាសាខ្មែរ | Українська
NotifikationsringePaneler får en blå ring, og faner lyser op, når kodningsagenter har brug for din opmærksomhed |
|
NotifikationspanelSe alle ventende notifikationer ét sted, hop til den seneste ulæste |
|
Indbygget browserDel en browser ved siden af din terminal med en scriptbar API porteret fra agent-browser |
|
Lodrette + vandrette fanerSidebjælken viser git-branch, tilknyttet PR-status/nummer, arbejdsmappe, lyttende porte og seneste notifikationstekst. Del vandret og lodret. |
|
SSHcmux ssh user@remote opretter et workspace til en fjernmaskine. Browserpaneler rutes gennem fjernnetværket, så localhost bare virker. Træk et billede ind i en fjernsession for at uploade via scp.
|
|
Claude Code Teamscmux claude-teams kører Claude Codes holdkammeratstilstand med én kommando. Holdkammerater oprettes som native opdelinger med metadata i sidebjælken og notifikationer. Ingen tmux påkrævet.
|
|
Åbn `.dmg`-filen og træk cmux til din Programmer-mappe. cmux opdaterer sig selv automatisk via Sparkle, så du behøver kun at downloade én gang.
### Homebrew
```bash
brew tap manaflow-ai/cmux
brew install --cask cmux
```
For at opdatere senere:
```bash
brew upgrade --cask cmux
```
Ved første start kan macOS bede dig om at bekræfte åbning af en app fra en identificeret udvikler. Klik på **Åbn** for at fortsætte.
## Hvorfor cmux?
Jeg kører mange Claude Code- og Codex-sessioner parallelt. Jeg brugte Ghostty med en masse delte paneler og stolede på native macOS-notifikationer til at vide, hvornår en agent havde brug for mig. Men Claude Codes notifikationstekst er altid bare "Claude is waiting for your input" uden kontekst, og med nok åbne faner kunne jeg ikke engang læse titlerne længere.
Jeg prøvede et par kodningsorkestratore, men de fleste var Electron/Tauri-apps, og ydelsen irriterede mig. Jeg foretrækker også bare terminalen, da GUI-orkestratore låser dig ind i deres arbejdsgang. Så jeg byggede cmux som en nativ macOS-app i Swift/AppKit. Den bruger libghostty til terminal-rendering og læser din eksisterende Ghostty-konfiguration til temaer, skrifttyper og farver.
De vigtigste tilføjelser er sidebjælken og notifikationssystemet. Sidebjælken har lodrette faner, der viser git-branch, tilknyttet PR-status/nummer, arbejdsmappe, lyttende porte og den seneste notifikationstekst for hvert workspace. Notifikationssystemet opfanger terminalsekvenser (OSC 9/99/777) og har en CLI (`cmux notify`), du kan koble til agent-hooks for Claude Code, OpenCode osv. Når en agent venter, får dens panel en blå ring, og fanen lyser op i sidebjælken, så jeg kan se, hvilken der har brug for mig på tværs af opdelinger og faner. Cmd+Shift+U hopper til den seneste ulæste.
Den indbyggede browser har en scriptbar API porteret fra [agent-browser](https://github.com/vercel-labs/agent-browser). Agenter kan tage et snapshot af tilgængelighedstræet, få elementreferencer, klikke, udfylde formularer og evaluere JS. Du kan dele et browserpanel ved siden af din terminal og lade Claude Code interagere direkte med din udviklingsserver.
Alt er scriptbart gennem CLI og socket API — opret workspaces/faner, del paneler, send tastetryk, åbn URL'er i browseren.
## The Zen of cmux
cmux foreskriver ikke, hvordan udviklere bruger deres værktøjer. Det er en terminal og browser med en CLI, resten er op til dig.
cmux er en primitiv, ikke en løsning. Det giver dig en terminal, en browser, notifikationer, workspaces, opdelinger, faner og en CLI til at styre det hele. cmux tvinger dig ikke ind i en forudbestemt måde at bruge kodningsagenter på. Hvad du bygger med primitiverne, er dit eget.
De bedste udviklere har altid bygget deres egne værktøjer. Ingen har endnu fundet den bedste måde at arbejde med agenter på, og holdene bag lukkede produkter har heller ikke. De udviklere, der er tættest på deres egne kodebaser, vil finde ud af det først.
Giv en million udviklere komponerbare primitiver, og de vil kollektivt finde de mest effektive arbejdsgange hurtigere, end noget produkthold kunne designe oppefra.
## Dokumentation
For mere information om konfiguration af cmux, [se vores dokumentation](https://cmux.com/docs/getting-started?utm_source=readme).
## Tastaturgenveje
### Workspaces
| Genvej | Handling |
|----------|--------|
| ⌘ N | Nyt workspace |
| ⌘ 1–8 | Hop til workspace 1–8 |
| ⌘ 9 | Hop til sidste workspace |
| ⌃ ⌘ ] | Næste workspace |
| ⌃ ⌘ [ | Forrige workspace |
| ⌘ ⇧ W | Luk workspace |
| ⌘ ⇧ R | Omdøb workspace |
| ⌥ ⌘ E | Redigér workspace-beskrivelse |
| ⌘ B | Skjul/vis sidebjælke |
| ⌥ ⌘ B | Skjul/vis højre sidebjælke |
| ⌘ ⇧ E | Skift fokus til højre sidebjælke |
### Overflader
| Genvej | Handling |
|----------|--------|
| ⌘ T | Ny overflade |
| ⌘ ⇧ ] | Næste overflade |
| ⌘ ⇧ [ | Forrige overflade |
| ⌃ Tab | Næste overflade |
| ⌃ ⇧ Tab | Forrige overflade |
| ⌃ 1–8 | Hop til overflade 1–8 |
| ⌃ 9 | Hop til sidste overflade |
| ⌘ W | Luk overflade |
### Delte Paneler
| Genvej | Handling |
|----------|--------|
| ⌘ D | Del til højre |
| ⌘ ⇧ D | Del nedad |
| ⌥ ⌘ ← → ↑ ↓ | Fokuser panel retningsbestemt |
| ⌘ ⇧ H | Blink fokuseret panel |
### Browser
Browserens udviklerværktøjsgenveje følger Safaris standarder og kan tilpasses i `Indstillinger → Tastaturgenveje`.
Navigationsgenveje til kommandopaletten, herunder ⌃ P, kan også tilpasses og ryddes, så tastetrykket når den aktive terminal.
| Genvej | Handling |
|----------|--------|
| ⌘ ⇧ L | Åbn browser i opdeling |
| ⌘ L | Fokuser adresselinjen |
| ⌘ [ | Tilbage |
| ⌘ ] | Frem |
| ⌘ R | Genindlæs side |
| ⌥ ⌘ I | Slå Udviklerværktøjer til/fra (Safari-standard) |
| ⌥ ⌘ C | Vis JavaScript-konsol (Safari-standard) |
### Notifikationer
| Genvej | Handling |
|----------|--------|
| ⌘ I | Vis notifikationspanel |
| ⌘ ⇧ U | Hop til seneste ulæste |
| ⌥ ⌘ U | Skift det aktuelle elements ulæst-status |
| ⌃ ⌘ U | Markér det aktuelle element som ældste ulæste og hop til næste seneste ulæste |
### Søg
| Genvej | Handling |
|----------|--------|
| ⌘ F | Søg |
| ⌘ ⇧ F | Søg i mappe |
| ⌘ G / ⌥ ⌘ G | Find næste / forrige |
| ⌥ ⌘ ⇧ F | Skjul søgelinje |
| ⌘ E | Brug markering til søgning |
### Terminal
| Genvej | Handling |
|----------|--------|
| ⌘ K | Ryd scrollback |
| ⌘ C | Kopiér (med markering) |
| ⌘ V | Indsæt |
| ⌘ + / ⌘ - | Forøg / formindsk skriftstørrelse |
| ⌘ 0 | Nulstil skriftstørrelse |
### Vindue
| Genvej | Handling |
|----------|--------|
| ⌘ ⇧ N | Nyt vindue |
| ⌘ ⇧ O | Genåbn forrige session |
| ⌘ , | Indstillinger |
| ⌘ ⇧ , | Genindlæs konfiguration |
| ⌘ Q | Afslut |
## Nightly Builds
[Download cmux NIGHTLY](https://github.com/manaflow-ai/cmux/releases/download/nightly/cmux-nightly-macos.dmg)
cmux NIGHTLY er en separat app med sit eget bundle-ID, så den kører side om side med den stabile version. Bygges automatisk fra det seneste `main`-commit og opdaterer sig selv automatisk via sit eget Sparkle-feed.
Rapportér nightly-fejl på [GitHub Issues](https://github.com/manaflow-ai/cmux/issues) eller i [#nightly-bugs på Discord](https://discord.gg/xsgFEVrWCZ).
## Sessionsgenoprettelse
Når du afslutter cmux, gemmes den aktuelle session. Ved genstart genopretter cmux
app-ejet tilstand:
- Vindue/workspace/panel-layout
- Arbejdsmapper
- Terminal-scrollback (best effort)
- Browser-URL og navigationshistorik
cmux tager ikke checkpoints af vilkårlig aktiv procestilstand. tmux, vim, shells og
ikke-understøttede terminalapps åbnes igen som normale terminaler.
Understøttede agent-sessioner kan genoptages, når hooks har gemt et native sessions-ID.
Installér hooks efter installation af agentens CLI, så dens binær er på `PATH`:
```bash
cmux hooks setup
cmux hooks setup codex
cmux hooks setup --agent opencode
```
`cmux hooks setup` installerer de understøttede agenter, den kan finde, og udskriver en oversigt
over sprungne agenter. Understøttede genoptagelsesintegrationer omfatter Claude Code, Codex,
Grok, OpenCode, Pi, Amp, Cursor CLI, Gemini, Rovo Dev, Copilot, CodeBuddy,
Factory og Qoder. Claude Code håndteres af cmux' Claude-wrapper, når Claude-integration
er aktiveret i Indstillinger.
Avancerede brugere og integrationer kan knytte en brugerdefineret genoptagelseskommando til den
aktuelle terminal-surface. Det er nyttigt for værktøjer med egen varig tilstand, som
tmux-sessioner eller brugerdefinerede agent-CLI'er:
```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
```
Bindingen forbliver knyttet til cmux-surfacen. Bindinger oprettet via offentlig CLI eller socket
gemmes til inspektion og manuel genoptagelse, medmindre du godkender et signeret kommandopræfiks
til automatisk genoptagelse. Godkendte præfikser er også bundet til arbejdsmappen og de præcise
miljøværdier, når de er til stede. Gennemse eller redigér godkendelser i
**Indstillinger > Terminal > Genoptagelseskommandoer**. cmux auto-kører kun genoptagelsesbindinger,
som den markerer som betroede, for eksempel tmux-bindinger fundet fra live processer eller
brugergodkendte præfikser. Følsomme miljønøgler som tokens, adgangskoder, hemmeligheder og
API-nøgler fjernes, før en genoptagelsesbinding gemmes.
For at holde genoprettede agent-terminaler inaktive i stedet for automatisk at køre deres genoptagelseskommandoer,
slå **Indstillinger > Terminal > Genoptag agent-sessioner ved genåbning** fra eller angiv dette i
`~/.config/cmux/cmux.json`:
```json
{
"terminal": {
"autoResumeAgentSessions": false
}
}
```
Dette deaktiverer kun de automatiske agent-genoptagelseskommandoer. cmux genopretter stadig det gemte layout,
arbejdsmapperne, scrollback og browserhistorikken.
Hvis du har brug for at anvende det senest gemte snapshot manuelt igen, brug:
- `Arkiv > Genåbn forrige session`
- `⌘ ⇧ O`
- `cmux restore-session`
Under motorhjelmen skriver cmux et versioneret snapshot under
`~/Library/Application Support/cmux/`, og agent-hooks skriver sessionsmapninger
under `~/.cmuxterm/`. Ved genoprettelse genopbygger cmux først layoutet og kører derefter den
understøttede agents native genoptagelseskommando, når automatisk agent-genoptagelse er aktiveret.
Læs den fulde guide på
WeChat: Scan QR-koden for at blive en del af fællesskabet.