Premiera cmux na Show HN

Opublikowaliśmy cmux na Show HN 19 lutego:

Uruchamiam wiele sesji Claude Code i Codex równolegle. Używałem Ghostty z wieloma dzielonymi panelami i polegałem na natywnych powiadomieniach macOS, żeby wiedzieć kiedy agent mnie potrzebuje. Ale treść powiadomień Claude Code to zawsze tylko "Claude is waiting for your input" bez kontekstu, a przy wystarczającej liczbie kart nie mogłem nawet przeczytać tytułów.

Próbowałem kilku orkiestratorów kodowania, ale większość to były aplikacje Electron/Tauri i irytowała mnie wydajność. Wolę też po prostu terminal, bo GUI-orkiestratory zamykają cię w swoim workflow. Więc zbudowałem cmux jako natywną aplikację macOS w Swift/AppKit. Używa libghostty do renderowania terminala i czyta Twoją istniejącą konfigurację Ghostty dla motywów, czcionek, kolorów i więcej.

Główne dodatki to pasek boczny i system powiadomień. Pasek boczny ma pionowe karty pokazujące gałąź git, katalog roboczy, nasłuchujące porty i ostatni tekst powiadomienia dla każdego workspace'a. System powiadomień przechwytuje sekwencje terminala (OSC 9/99/777) i ma CLI (cmux notify) które możesz podpiąć do hooków agentów dla Claude Code, OpenCode itp. Gdy agent czeka, jego panel dostaje niebieski pierścień a karta podświetla się na pasku bocznym, więc widzę który potrzebuje mnie na przestrzeni podziałów i kart. Cmd+Shift+U przeskakuje do najnowszego nieprzeczytanego.

Wbudowana przeglądarka ma skryptowalne API. Agenci mogą zrobić snapshot drzewa dostępności, pobrać referencje elementów, klikać, wypełniać formularze, ewaluować JS i czytać logi konsoli. Możesz podzielić panel przeglądarki obok terminala i pozwolić Claude Code bezpośrednio wchodzić w interakcję z Twoim serwerem deweloperskim.

Wszystko jest skryptowalne przez CLI i socket API: tworzenie workspace'ów/kart, dzielenie paneli, wysyłanie naciśnięć klawiszy, otwieranie URL-i w przeglądarce.

W szczycie osiągnął #2 na Hacker News. Mitchell Hashimoto udostępnił go:

Mój ulubiony komentarz z wątku HN:

Hey, this looks seriously awesome. Love the ideas here, specifically: the programmability (I haven't tried it yet, but had been considering learning tmux partly for this), layered UI, browser w/ api. Looking forward to giving this a spin. Also want to add that I really appreciate Mitchell Hashimoto creating libghostty; it feels like an exciting time to be a terminal user.

Some feedback (since you were asking for it elsewhere in the thread!):

  • It's not obvious/easy to open browser dev tools (cmd-alt-i didn't work), and when I did find it (right click page → inspect element) none of the controls were visible but I could see stuff happening when I moved my mouse over the panel
  • Would be cool to borrow more of ghostty's behavior:
    • hotkey overrides
    • command palette (cmd-shift-p)
    • cmd-z to "zoom in" to a pane

johnthedebs

Niespodziewanie cmux stał się viralowy w Japonii:

Tłumaczenie: "To wygląda dobrze. Aplikacja terminalowa oparta na Ghostty, zaprojektowana żebyś się nie zgubił uruchamiając wiele CLI jak Claude Code równolegle. Panel czekający na input dostaje niebieską ramkę i ma własny system powiadomień."

I pół-viralowy w Chinach:

Kolejną ekscytującą rzeczą było obserwowanie jak ludzie budują na bazie cmux CLI. sasha zbudował rozszerzenie pi-cmux które pokazuje informacje o modelu, zużycie tokenów i stan agenta na pasku bocznym:

Wszystko w cmux jest skryptowalne przez CLI: tworzenie workspace'ów, wysyłanie naciśnięć klawiszy, kontrola przeglądarki, odczytywanie powiadomień. Częścią filozofii cmux jest bycie programowalnym i komponowalnym, żeby ludzie mogli dostosować sposób pracy z agentami kodowania. Stan wiedzy o agentach kodowania zmienia się szybko, i nie chcesz być zamknięty w nieelastycznym GUI-orkiestratorze który nie nadąża.

Jeśli uruchamiasz wielu agentów kodowania, wypróbuj cmux.

cmux GitHub star history showing growth from near 0 to 900+ stars after the Show HN launch