23 KiB
Denne oversættelse er genereret af Claude. Har du forslag til forbedringer, er du velkommen til at oprette en PR.
cmux
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 | ភាសាខ្មែរ | Українська
Funktioner
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.
|
|
- Browserimport — Importér cookies, historik og sessioner fra Chrome, Firefox, Arc og 20+ andre browsere, så browserpaneler starter autentificerede
- Brugerdefinerede kommandoer — Definér projektspecifikke handlinger i
cmux.json, der startes fra kommandopaletten - Scriptbar — CLI og socket API til at oprette workspaces, dele paneler, sende tastetryk og automatisere browseren
- Nativ macOS-app — Bygget med Swift og AppKit, ikke Electron. Hurtig opstart, lavt hukommelsesforbrug.
- Ghostty-kompatibel — Læser din eksisterende
~/.config/ghostty/configtil temaer, skrifttyper og farver - GPU-accelereret — Drevet af libghostty til jævn rendering
- Tastaturgenveje — Omfattende genveje til workspaces, opdelinger, browser og mere
- Open source — Gratis og GPL-licenseret
Installation
DMG (anbefalet)
Å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
brew tap manaflow-ai/cmux
brew install --cask cmux
For at opdatere senere:
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. 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.
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
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 eller i #nightly-bugs på Discord.
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:
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:
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:
{
"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⌘ ⇧ Ocmux 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å https://cmux.com/docs/session-restore.
FAQ
Hvordan forholder cmux sig til Ghostty?
cmux er ikke en fork af Ghostty. Den bruger libghostty som et bibliotek til terminal-rendering, på samme måde som apps bruger WebKit til webvisninger. Ghostty er en selvstændig terminal; cmux er en anden app bygget oven på dens rendering-motor.
Hvilke platforme understøtter den?
Kun macOS indtil videre. cmux er en nativ Swift + AppKit-app.
Findes der en iOS-app?
Ja, i beta. Par din iPhone med din Mac fra Mobile Connect-vinduet og tilslut dig dine terminaler fra din telefon, med valgfri videresendelse af terminalnotifikationer. Den udgives på TestFlight som cmux BETA. Se iOS-dokumentationen.
Hvilke kodningsagenter fungerer cmux med?
Alle sammen. cmux er en terminal, så enhver agent, der kører i en terminal, fungerer fra start: Claude Code, Codex, OpenCode, Gemini CLI, Kiro, Aider, Goose, Amp, Cline, Cursor Agent og alt andet, du kan starte fra kommandolinjen.
Kan cmux orkestrere flere agenter og underagenter?
Ja. Når en agent opretter underagenter eller holdkammerater, gør cmux dem til native paneler og opdelinger i stedet for skjulte baggrundsprocesser. Den understøtter Claude Code teams og oh-my-opencode multi-model-orkestrering, så hver agent i en kørsel er synlig og kontrollerbar.
Kan jeg bruge cmux med fjernmaskiner?
Ja. Åbn workspaces over SSH og tilslut dig fjern-tmux-sessioner, så agenter kan køre på en fjernvært, mens du styrer dem fra cmux. Se SSH og fjern.
Hvordan fungerer notifikationer?
Når en proces har brug for opmærksomhed, viser cmux notifikationsringe omkring paneler, ulæst-badges i sidebjælken, en notifikations-popover og en macOS-skrivebordsnotifikation. Disse udløses automatisk via standard-terminal-escape-sekvenser (OSC 9/99/777), eller du kan udløse dem med cmux CLI og agent-hooks. Enhver agent, der understøtter hooks eller OSC, fungerer, herunder Claude Code, Codex, OpenCode og pi.
Er cmux programmerbar?
Ja. Hver handling er tilgængelig gennem cmux CLI og en Unix-socket: opret workspaces, åbn delte paneler, send input, læs skærmindhold, tag skærmbilleder og styr den indbyggede browser. Se CLI-referencen og browserautomatisering-dokumentationen.
Hvad kan den indbyggede browser?
cmux kan dele et rigtigt browserpanel ved siden af din terminal, og det er fuldt programmerbart: navigér, tag snapshot af DOM, klik, skriv, evaluér JavaScript og læs konsol- og netværksaktivitet over den samme socket API. Agenter bruger den til at verificere deres egne web-ændringer uden at forlade cmux. Se browserautomatisering.
Har cmux skills?
Ja. Skills er genanvendelige arbejdsgange, du kan give enhver agent, der kører i cmux, til ting som CLI-styring, workspace-automatisering, indstillinger og browser-surfaces. Gennemse den åbne samling på cmux-skills, eller læs skills-dokumentationen.
Kan jeg tilpasse tastaturgenveje?
Terminal-tastebindinger læses fra din Ghostty-konfigurationsfil (~/.config/ghostty/config). cmux-specifikke genveje (workspaces, opdelinger, browser, notifikationer) kan tilpasses i Indstillinger. Se standardgenvejene for en fuld liste.
Kan jeg tilpasse cmux?
Ja. Terminal-rendering bruger din Ghostty-konfiguration, så temaer, skrifttyper, farver og markør overføres direkte. cmux' egne indstillinger i ~/.config/cmux/cmux.json styrer sidebjælken, fanelinjen, delte paneler og adfærd, og enhver tastaturgenvej kan redigeres. Se konfiguration.
Bliver mine sessioner gemt?
Ja. cmux genopretter dine vinduer, workspaces, paneler, arbejdsmapper og scrollback, når du genåbner, og tilstanden overlever en fuld computer-genstart, ikke kun at lukke appen. Agent-sessioner som Claude Code, Codex og OpenCode kommer også tilbage. Se sessionsgenoprettelse.
Hvordan kan den sammenlignes med tmux?
tmux er en terminal-multiplexer, der kører inde i enhver terminal. cmux er en nativ macOS-app med en GUI: lodrette faner, delte paneler, en indlejret browser og en socket API, alt indbygget, uden brug for konfigurationsfiler eller præfiks-taster. Når det er sagt, kører mange mennesker gerne cmux med SSH og tmux sammen, og cmux kan tilslutte sig dine fjern-tmux-sessioner nativt (beta).
Er cmux gratis?
Ja, cmux er gratis at bruge. Kildekoden er tilgængelig på GitHub.
Hvordan kan jeg støtte cmux?
cmux er gratis og open source og vil altid være det. Hvis du vil støtte udviklingen og få tidlig adgang til det, der kommer, herunder cmux AI, iOS-appen og Cloud VM'er, så tjek cmux Founders Edition.
Jeg har et funktionsønske eller har fundet en fejl?
Vi vil gerne høre det. Opret en issue eller pull request på GitHub, eller send os en e-mail.
Stjernehistorik
Bidrag
Måder at deltage:
- Følg os på X for opdateringer @manaflowai, @lawrencecchen og @austinywang
- Deltag i samtalen på Discord
- Opret og deltag i GitHub issues og diskussioner
- Fortæl os, hvad du bygger med cmux
Fællesskab
WeChat: Scan QR-koden for at blive en del af fællesskabet.
Founder's Edition
cmux er gratis, open source og vil altid være det. Hvis du gerne vil støtte udviklingen og få tidlig adgang til det, der kommer:
- Prioriterede funktionsønsker og fejlrettelser
- Tidlig adgang: cmux AI der giver dig kontekst om hvert workspace, fane og panel
- Tidlig adgang: iOS-app med terminaler synkroniseret mellem desktop og telefon
- Tidlig adgang: Cloud VM'er
- Tidlig adgang: Stemmetilstand
- Min personlige iMessage/WhatsApp
Licens
cmux er open source under GPL-3.0-or-later.
Hvis din organisation ikke kan overholde GPL, er en kommerciel licens tilgængelig. Kontakt [email protected] for detaljer.






