Bu çeviri Claude tarafından oluşturulmuştur. İyileştirme önerileriniz varsa lütfen bir PR açın.
AI kodlama ajanları için dikey sekmeler ve bildirimler içeren Ghostty tabanlı macOS terminali
English | 日本語 | Tiếng Việt | 简体中文 | 繁體中文 | 한국어 | Deutsch | Español | Français | Italiano | Dansk | Polski | Русский | Bosanski | العربية | Norsk | Português (Brasil) | ไทย | Türkçe | ភាសាខ្មែរ | Українська
▶ Demo videosu · The Zen of cmux
| Kodlama ajanları dikkatinizi istediğinde paneller mavi bir halka alır ve sekmeler yanar |
|
| Bekleyen tüm bildirimleri tek bir yerden görün, en son okunmamışa atlayın |
|
| agent-browser'dan aktarılmış betiklenebilir bir API ile terminalinizin yanında bir tarayıcı bölün |
|
| Kenar çubuğu git dalını, bağlantılı PR durumunu/numarasını, çalışma dizinini, dinlenen portları ve en son bildirim metnini gösterir. Yatay ve dikey bölmeler. |
|
cmux ssh user@remote uzak bir makine için çalışma alanı oluşturur. Tarayıcı panelleri uzak ağ üzerinden yönlendirilir, böylece localhost sorunsuz çalışır. Uzak oturuma bir görsel sürükleyerek scp ile yükleyin.
|
|
cmux claude-teams Claude Code'un takım arkadaşı modunu tek bir komutla çalıştırır. Takım arkadaşları, kenar çubuğu meta verileri ve bildirimlerle yerel bölmeler olarak oluşturulur. tmux gerekmez.
|
|
- Tarayıcı içe aktarma — Chrome, Firefox, Arc ve 20'den fazla tarayıcıdan çerezleri, geçmişi ve oturumları içe aktararak tarayıcı panellerinin oturum açmış şekilde başlamasını sağlayın
- Özel komutlar — Komut paletinden başlatılan projeye özel eylemleri
cmux.jsondosyasında tanımlayın - Betiklenebilir — Çalışma alanları oluşturmak, panelleri bölmek, tuş vuruşları göndermek ve tarayıcıyı otomatikleştirmek için CLI ve socket API
- Yerel macOS uygulaması — Swift ve AppKit ile yapılmıştır, Electron değil. Hızlı başlangıç, düşük bellek kullanımı.
- Ghostty uyumlu — Temalar, yazı tipleri ve renkler için mevcut
~/.config/ghostty/configdosyanızı okur - GPU hızlandırmalı — Akıcı görüntüleme için libghostty tarafından desteklenir
.dmg dosyasını açın ve cmux'u Uygulamalar klasörüne sürükleyin. cmux Sparkle aracılığıyla otomatik güncellenir, bu yüzden yalnızca bir kez indirmeniz yeterlidir.
brew tap manaflow-ai/cmux
brew install --cask cmuxDaha sonra güncellemek için:
brew upgrade --cask cmuxİlk açılışta macOS, tanımlanmış bir geliştiriciden gelen bir uygulamayı açmayı onaylamanızı isteyebilir. Devam etmek için Aç'a tıklayın.
Birçok Claude Code ve Codex oturumunu paralel olarak çalıştırıyorum. Ghostty'yi bir sürü bölünmüş panelle kullanıyor ve bir ajanın bana ne zaman ihtiyacı olduğunu anlamak için yerel macOS bildirimlerine güveniyordum. Ancak Claude Code'un bildirim metni her zaman sadece "Claude is waiting for your input" oluyor, hiçbir bağlam yok ve yeterince sekme açıkken başlıkları bile okuyamıyordum artık.
Birkaç kodlama orkestratörü denedim ama çoğu Electron/Tauri uygulamasıydı ve performansları beni rahatsız ediyordu. Ayrıca terminali tercih ediyorum çünkü GUI orkestratörleri sizi kendi iş akışlarına kilitliyor. Bu yüzden cmux'u Swift/AppKit'te yerel bir macOS uygulaması olarak geliştirdim. Terminal görüntüleme için libghostty kullanıyor ve temalar, yazı tipleri ve renkler için mevcut Ghostty yapılandırmanızı okuyor.
Ana eklemeler kenar çubuğu ve bildirim sistemi. Kenar çubuğunda her çalışma alanı için git dalını, bağlantılı PR durumunu/numarasını, çalışma dizinini, dinlenen portları ve en son bildirim metnini gösteren dikey sekmeler var. Bildirim sistemi terminal dizilerini (OSC 9/99/777) yakalıyor ve Claude Code, OpenCode vb. için ajan kancalarına bağlayabileceğiniz bir CLI'ye (cmux notify) sahip. Bir ajan beklerken paneli mavi bir halka alıyor ve sekme kenar çubuğunda yanıyor, böylece bölmeler ve sekmeler arasında hangisinin bana ihtiyacı olduğunu görebiliyorum. Cmd+Shift+U en son okunmamışa atlıyor.
Uygulama içi tarayıcının agent-browser'dan aktarılmış betiklenebilir bir API'si var. Ajanlar erişilebilirlik ağacının anlık görüntüsünü alabilir, öğe referansları elde edebilir, tıklayabilir, formları doldurabilir ve JS çalıştırabilir. Terminalinizin yanında bir tarayıcı paneli bölebilir ve Claude Code'un geliştirme sunucunuzla doğrudan etkileşime girmesini sağlayabilirsiniz.
Her şey CLI ve socket API aracılığıyla betiklenebilir — çalışma alanları/sekmeler oluşturun, panelleri bölün, tuş vuruşları gönderin, tarayıcıda URL'ler açın.
cmux, geliştiricilerin araçlarını nasıl kullandığını dikte etmez. Bir terminal ve tarayıcı ile CLI'dir, geri kalanı size kalmış.
cmux bir ilkel yapıdır, hazır bir çözüm değil. Size bir terminal, bir tarayıcı, bildirimler, çalışma alanları, bölmeler, sekmeler ve hepsini kontrol etmek için bir CLI verir. cmux sizi kodlama ajanlarını belirli bir şekilde kullanmaya zorlamaz. İlkel yapılarla ne inşa edeceğiniz tamamen size aittir.
En iyi geliştiriciler her zaman kendi araçlarını yapmıştır. Ajanlarla çalışmanın en iyi yolunu henüz kimse bulamadı ve kapalı ürünler geliştiren ekipler de kesinlikle bulamadı. Kendi kod tabanlarına en yakın olan geliştiriciler bunu ilk keşfedenler olacak.
Bir milyon geliştiriciye birleştirilebilir ilkel yapılar verin, en verimli iş akışlarını herhangi bir ürün ekibinin yukarıdan aşağıya tasarlayabileceğinden daha hızlı bulacaklardır.
cmux'u nasıl yapılandıracağınız hakkında daha fazla bilgi için, dokümantasyonumuza gidin.
| Kısayol | Eylem |
|---|---|
| ⌘ N | Yeni çalışma alanı |
| ⌘ 1–8 | Çalışma alanı 1–8'e atla |
| ⌘ 9 | Son çalışma alanına atla |
| ⌃ ⌘ ] | Sonraki çalışma alanı |
| ⌃ ⌘ [ | Önceki çalışma alanı |
| ⌘ ⇧ W | Çalışma alanını kapat |
| ⌘ ⇧ R | Çalışma alanını yeniden adlandır |
| ⌘ B | Kenar çubuğunu aç/kapat |
| Kısayol | Eylem |
|---|---|
| ⌘ T | Yeni surface |
| ⌘ ⇧ ] | Sonraki surface |
| ⌘ ⇧ [ | Önceki surface |
| ⌃ Tab | Sonraki surface |
| ⌃ ⇧ Tab | Önceki surface |
| ⌃ 1–8 | Surface 1–8'e atla |
| ⌃ 9 | Son surface'e atla |
| ⌘ W | Surface'i kapat |
| Kısayol | Eylem |
|---|---|
| ⌘ D | Sağa böl |
| ⌘ ⇧ D | Aşağı böl |
| ⌥ ⌘ ← → ↑ ↓ | Yönlü panel odaklama |
| ⌘ ⇧ H | Odaklanan paneli yanıp söndür |
Tarayıcı geliştirici araçları kısayolları Safari varsayılanlarını takip eder ve Settings → Keyboard Shortcuts bölümünden özelleştirilebilir.
| Kısayol | Eylem |
|---|---|
| ⌘ ⇧ L | Bölmede tarayıcı aç |
| ⌘ L | Adres çubuğuna odaklan |
| ⌘ [ | Geri |
| ⌘ ] | İleri |
| ⌘ R | Sayfayı yeniden yükle |
| ⌥ ⌘ I | Geliştirici Araçlarını aç/kapat (Safari varsayılanı) |
| ⌥ ⌘ C | JavaScript Konsolunu göster (Safari varsayılanı) |
| Kısayol | Eylem |
|---|---|
| ⌘ I | Bildirim panelini göster |
| ⌘ ⇧ U | En son okunmamışa atla |
| Kısayol | Eylem |
|---|---|
| ⌘ F | Bul |
| ⌘ G / ⌘ ⇧ G | Sonrakini bul / Öncekini bul |
| ⌘ ⇧ F | Arama çubuğunu gizle |
| ⌘ E | Seçimi arama için kullan |
| Kısayol | Eylem |
|---|---|
| ⌘ K | Kaydırma geçmişini temizle |
| ⌘ C | Kopyala (seçimle) |
| ⌘ V | Yapıştır |
| ⌘ + / ⌘ - | Yazı tipi boyutunu artır / azalt |
| ⌘ 0 | Yazı tipi boyutunu sıfırla |
| Kısayol | Eylem |
|---|---|
| ⌘ ⇧ N | Yeni pencere |
| ⌘ , | Ayarlar |
| ⌘ ⇧ , | Yapılandırmayı yeniden yükle |
| ⌘ Q | Çıkış |
cmux NIGHTLY, kendi bundle ID'sine sahip ayrı bir uygulamadır, bu yüzden kararlı sürümle yan yana çalışır. En son main commit'inden otomatik olarak derlenir ve kendi Sparkle akışı aracılığıyla otomatik güncellenir.
cmux'tan çıktığınızda mevcut oturum kaydedilir. Yeniden başlatıldığında cmux uygulamaya ait durumu geri yükler:
- Pencere/çalışma alanı/panel düzeni
- Çalışma dizinleri
- Terminal kaydırma geçmişi (en iyi çaba)
- Tarayıcı URL'si ve gezinme geçmişi
cmux rastgele canlı işlem durumunu checkpoint etmez. tmux, vim, shell'ler ve desteklenmeyen terminal uygulamaları normal terminaller olarak yeniden açılır.
Desteklenen agent oturumları, hooks yerel bir oturum ID'si kaydettiğinde sürdürülebilir:
cmux hooks setup
cmux hooks setup codex
cmux hooks setup --agent opencodeGelişmiş kullanıcılar ve entegrasyonlar mevcut terminal surface'ine özel bir resume komutu bağlayabilir. Bu, tmux oturumları veya özel agent CLI'ları gibi kendi kalıcı durumuna sahip araçlar için kullanışlıdır:
cmux surface resume set --kind tmux --checkpoint work --shell "tmux attach -t work"
cmux surface resume show --json
cmux surface resume clear --checkpoint workBu binding cmux surface'ine bağlı kalır. Genel CLI veya socket ile oluşturulan bindingler inceleme ve manuel resume için saklanır. cmux yalnızca güvenilir olarak işaretlediği resume bindinglerini otomatik çalıştırır, örneğin canlı processlerden algılanan tmux bindingleri. Token, parola, gizli değer ve API anahtarı gibi hassas ortam anahtarları resume binding kaydedilmeden önce atılır.
Katılım yolları:
- Güncellemeler için bizi X'te takip edin @manaflowai, @lawrencecchen ve @austinywang
- Discord'da sohbete katılın
- GitHub issues ve discussions oluşturun ve katılın
- cmux ile ne inşa ettiğinizi bize bildirin
cmux ücretsiz, açık kaynak ve her zaman öyle olacak. Geliştirmeyi desteklemek ve sırada ne olduğuna erken erişim almak isterseniz:
- Öncelikli özellik istekleri/hata düzeltmeleri
- Erken erişim: Her çalışma alanı, sekme ve panel hakkında bağlam sağlayan cmux AI
- Erken erişim: Masaüstü ve telefon arasında senkronize terminallere sahip iOS uygulaması
- Erken erişim: Bulut VM'ler
- Erken erişim: Sesli mod
- Kişisel iMessage/WhatsApp'ım
cmux, GPL-3.0-or-later kapsamında açık kaynaklıdır.
Kuruluşunuz GPL'ye uyum sağlayamıyorsa, ticari lisans mevcuttur. Ayrıntılar için founders@manaflow.com ile iletişime geçin.






