> 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
## Özellikler
Bildirim halkalarıKodlama ajanları dikkatinizi istediğinde paneller mavi bir halka alır ve sekmeler yanar |
|
Bildirim paneliBekleyen tüm bildirimleri tek bir yerden görün, en son okunmamışa atlayın |
|
Uygulama içi tarayıcıagent-browser'dan aktarılmış betiklenebilir bir API ile terminalinizin yanında bir tarayıcı bölün |
|
Dikey + yatay sekmelerKenar ç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. |
|
SSHcmux 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.
|
|
Claude Code Teamscmux 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.
|
|
`.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.
### Homebrew
```bash
brew tap manaflow-ai/cmux
brew install --cask cmux
```
Daha sonra güncellemek için:
```bash
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.
## Neden cmux?
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](https://github.com/vercel-labs/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.
## The Zen of cmux
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.
## Dokümantasyon
cmux'u nasıl yapılandıracağınız hakkında daha fazla bilgi için, [dokümantasyonumuza gidin](https://cmux.com/docs/getting-started?utm_source=readme).
## Klavye Kısayolları
### Çalışma Alanları
| 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 |
| ⌥ ⌘ E | Çalışma alanı açıklamasını düzenle |
| ⌘ B | Kenar çubuğunu aç/kapat |
| ⌥ ⌘ B | Sağ kenar çubuğunu aç/kapat |
| ⌘ ⇧ E | Sağ kenar çubuğu odağını aç/kapat |
### Surfaces
| 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 |
### Bölünmüş Paneller
| 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ı
Tarayıcı geliştirici araçları kısayolları Safari varsayılanlarını takip eder ve `Settings → Keyboard Shortcuts` bölümünden özelleştirilebilir.
⌃ P dahil komut paleti gezinme kısayolları da özelleştirilebilir ve tuş vuruşu aktif terminale ulaşacak şekilde temizlenebilir.
| 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ı) |
### Bildirimler
| Kısayol | Eylem |
|----------|--------|
| ⌘ I | Bildirim panelini göster |
| ⌘ ⇧ U | En son okunmamışa atla |
| ⌥ ⌘ U | Mevcut öğenin okunmamış durumunu aç/kapat |
| ⌃ ⌘ U | Mevcut öğeyi en eski okunmamış olarak işaretle ve bir sonraki okunmamışa atla |
### Bul
| Kısayol | Eylem |
|----------|--------|
| ⌘ F | Bul |
| ⌘ ⇧ F | Dizinde bul |
| ⌘ G / ⌥ ⌘ G | Sonrakini bul / Öncekini bul |
| ⌥ ⌘ ⇧ F | Arama çubuğunu gizle |
| ⌘ E | Seçimi arama için kullan |
### Terminal
| 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 |
### Pencere
| Kısayol | Eylem |
|----------|--------|
| ⌘ ⇧ N | Yeni pencere |
| ⌘ ⇧ O | Önceki oturumu yeniden aç |
| ⌘ , | Ayarlar |
| ⌘ ⇧ , | Yapılandırmayı yeniden yükle |
| ⌘ Q | Çıkış |
## Nightly Sürümler
[cmux NIGHTLY'i indir](https://github.com/manaflow-ai/cmux/releases/download/nightly/cmux-nightly-macos.dmg)
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.
Nightly hatalarını [GitHub Issues](https://github.com/manaflow-ai/cmux/issues) üzerinde veya [Discord'daki #nightly-bugs](https://discord.gg/xsgFEVrWCZ) kanalında bildirin.
## Oturum geri yükleme
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. Binary dosyasının `PATH` üzerinde olması için hooks'u agent CLI'sini kurduktan sonra kurun:
```bash
cmux hooks setup
cmux hooks setup codex
cmux hooks setup --agent opencode
```
`cmux hooks setup` bulabildiği desteklenen agentleri kurar ve atlanan agentler için bir özet yazdırır. Desteklenen resume entegrasyonları arasında Claude Code, Codex, Grok, OpenCode, Pi, Amp, Cursor CLI, Gemini, Rovo Dev, Copilot, CodeBuddy, Factory ve Qoder bulunur. Claude entegrasyonu Ayarlar'da etkinleştirildiğinde Claude Code, cmux Claude wrapper tarafından işlenir.
Geliş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:
```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
```
Bu binding cmux surface'ine bağlı kalır. Genel CLI veya socket ile oluşturulan bindingler, otomatik resume için imzalı bir komut öneki onaylamadığınız sürece inceleme ve manuel resume için saklanır. Onaylanan önekler ayrıca, mevcut olduğunda, çalışma dizinine ve tam ortam değerlerine de bağlanır. Onayları **Settings > Terminal > Resume Commands** bölümünde gözden geçirin veya düzenleyin. cmux yalnızca güvenilir olarak işaretlediği resume bindinglerini otomatik çalıştırır, örneğin canlı processlerden algılanan tmux bindingleri veya kullanıcı tarafından onaylanan önekler. Token, parola, gizli değer ve API anahtarı gibi hassas ortam anahtarları resume binding kaydedilmeden önce atılır.
Geri yüklenen agent terminallerinin resume komutlarını otomatik çalıştırmak yerine boşta kalmasını sağlamak için **Settings > Terminal > Resume Agent Sessions on Reopen** seçeneğini kapatın veya bunu `~/.config/cmux/cmux.json` dosyasında ayarlayın:
```json
{
"terminal": {
"autoResumeAgentSessions": false
}
}
```
Bu yalnızca otomatik agent resume komutlarını devre dışı bırakır. cmux yine de kaydedilmiş düzeni, çalışma dizinlerini, kaydırma geçmişini ve tarayıcı geçmişini geri yükler.
Son kaydedilen anlık görüntüyü manuel olarak yeniden uygulamanız gerekirse, şunu kullanın:
- `File > Reopen Previous Session`
- `⌘ ⇧ O`
- `cmux restore-session`
Arka planda cmux, `~/Library/Application Support/cmux/` altında sürümlenmiş bir anlık görüntü yazar ve agent hooks oturum eşlemelerini `~/.cmuxterm/` altında yazar. Geri yükleme sırasında cmux önce düzeni yeniden oluşturur, ardından otomatik agent resume etkinleştirildiğinde desteklenen agentin yerel resume komutunu çalıştırır.
Tam kılavuzu
WeChat: Topluluğa katılmak için QR kodunu tarayın.