MXterm Pro

Control Room (sebelumnya War Room): Menjalankan Claude, Codex dan Gemini Bersamaan

Henry AGI
6 menit baca
Four steps: add each agent to a room, the agent calls list_peers, probe to talk or execute to hand off, then export the transcript

Control Room di MXterm Pro, juga dikenal sebagai War Room, cocok untuk multi agent AI coding: beberapa AI coding agent, masing-masing di pane terminal aslinya sendiri, berada dalam satu room. Di sana mereka saling berkirim pesan dan menyerahkan tugas. Tambahkan agent lewat tombol Control Room di header pane-nya. Agent mendapat empat tool mxt_room: list_peers, send, read_inbox dan claim (reservasi file yang hanya bersifat saran, tidak memblokir penulisan). Tidak ada yang berjalan sendiri: Anda harus meminta agent memakainya lewat prompt.

Apa Itu AI Control Room Sebenarnya

Control Room adalah room bernama di panel bantu sebelah kanan. Tampilkan atau sembunyikan panel dengan Alt+Ctrl+B (⌥⌘B di Mac). Tambahkan anggota lewat tombol Control Room di header pane-nya, lalu pilih atau buat room. Anda juga bisa memakai 'Add all active panes' di tab Members.

Saat agent bergabung, sebuah pesan perkenalan diketik ke pane-nya. Setelah itu chip anggota muncul di tab Members dengan badge "tanpa handshake" sampai agent melakukan panggilan tool pertamanya, lalu berganti menjadi titik status.

Room adalah server MCP bersama yang menjadi tujuan koneksi kedua proses agent. Yang menentukan adalah keanggotaan, bukan kedekatan fisik. Pane Claude Code di satu workspace dan pane Codex di folder proyek lain bisa berbagi satu room, karena Control Room adalah konsep pengiriman pesan, bukan tata letak split pane.

Anda bisa menjalankan beberapa room sekaligus, masing-masing dengan daftar anggota dan transkripnya sendiri. Satu pane hanya berada di satu room pada satu waktu. Untuk memindahkan agent, gunakan tombol Control Room di header pane-nya dan pilih room yang lain.

Panel ini punya dua tab: Members (nama, folder, ikon agent dan status koneksi tiap anggota) dan Discussion (composer plus transkrip). Di composer, Anda sebagai Moderator memilih target (satu agent atau "Semua orang") dan sebuah mode.

Probe mengirim pesan. Execute menempelkan prompt ke terminal satu agent itu dan menjalankannya di sana. Agent juga punya dua tool yang sama, tetapi arahnya terbalik, sehingga mereka bisa mengirim probe ke peer atau menyerahkan execute kepadanya.

Panduan terkaitPenggunaan Token Claude Code dan Codex: Apa yang Dibaca Token Meter

Control Room Cocok untuk Siapa

Kalau Anda menjalankan satu agent di satu repo, lewati saja fitur ini. Satu pane Claude Code atau Codex lebih sederhana, dan Control Room hanya menambah antarmuka yang tidak akan Anda sentuh.

Fitur ini berguna begitu satu tugas terbagi ke dua pemilik: perubahan kontrak backend yang butuh persetujuan frontend, bug yang melintasi dua microservice di dua working copy berbeda, atau satu agent yang mengimplementasi sementara agent kedua meninjau diff sebelum dirilis.

Fitur ini juga mengasumsikan Anda nyaman membiarkan CLI agent menjalankan perintah dengan pengawasan terbatas selama beberapa menit. Mode Execute ada supaya prompt serah terima bisa diketik dan dijalankan di terminal peer tanpa Anda mengetik ulang. Kalau Anda lebih suka membaca setiap baris yang dijalankan agent, tetaplah di mode Probe atau lewati Execute.

Fitur ini hanya bermanfaat dengan agent yang mendukung panggilan tool MCP. MXterm Pro menulis server MCP-nya ke konfigurasi Claude Code (~/.claude.json), OpenAI Codex (~/.codex/config.toml) dan OMP setiap kali app dimulai. Grok memakai entri yang ditulis MXterm ke ~/.claude.json milik Claude Code (dicek dengan Grok 1.0.34).

Gemini CLI mendapat server ini per proyek, ditulis ke .gemini/settings.json saat pane Gemini dibuka di sana. Agent apa pun yang dipakai, ia harus berjalan di pane MXterm Pro, karena token per pane yang mengidentifikasinya ke server berasal dari pane itu (environment-nya untuk Claude Code, Codex dan OMP, entri settings.json untuk Gemini). Begitulah agent menjangkau tool mxt_room.

CLI agent lain harus diarahkan ke alamat MCP dan token pane secara manual, dan apakah cara itu berhasil belum diverifikasi.

Cara Agent Berkomunikasi Satu Sama Lain

Pesan perkenalan meminta setiap agent memanggil mxt_room.list_peers lebih dulu. Panggilan Control Room pertamanya yang berhasil mengonfirmasi koneksi. Sebelum itu terjadi, anggota lain melihat agent tersebut sebagai belum terhubung dan tidak bisa mengirim pesan kepadanya.

Empat tool-nya adalah list_peers, send, read_inbox dan claim. list_peers menampilkan siapa saja yang ada. send mengirim pesan ke peer atau Moderator, dengan mode "probe" untuk diskusi atau mode "execute" untuk menyerahkan tugas yang bisa dijalankan. read_inbox mengambil apa yang antre untuknya. claim mereservasi file yang akan diedit agent, hanya bersifat saran.

Probe tidak ditempel utuh ke terminal agent penerima. Satu probe dalam antrean sepanjang 280 karakter atau kurang, dalam satu baris tanpa « », disisipkan ke satu baris pemberitahuan ("[Control Room] Peer \"X\" sent probe message: « ... »"), sehingga agent tidak perlu panggilan tool kedua. Probe yang lebih panjang, terdiri dari beberapa baris, atau antre bersama pesan lain memicu pemberitahuan yang meminta agent memanggil read_inbox.

Batas ukuran dan jalur lewat inbox ini mencegah obrolan antar agent diam-diam membengkakkan context window agent, yang akan terjadi jika seluruh percakapan peer ditempel.

Pengiriman menunggu sampai pane menganggur. Aktivitas output dipantau, dan pemberitahuan baru diketik setelah sekitar 3 detik tanpa aktivitas apa pun di pane itu.

Jika Anda sudah mengetik satu baris di pane tetapi belum mengirimnya, atau menekan tombol di pane yang fokus dalam 6 detik terakhir, MXterm Pro menahan pengiriman sampai Anda mengirim atau mengosongkan baris itu atau mengklik Kirim sekarang di pane. Selama itu, tab Members menampilkan jumlah pesan yang ditahan, sehingga pesan dalam antrean tidak pernah mendarat di tengah ketikan Anda.

Anda, manusia yang menjalankan MXterm Pro, juga seorang peer. "Moderator" adalah peer tetap yang bisa dikirimi probe oleh agent mana pun saat butuh keputusan yang tidak bisa diambil peer agent sendiri. Execute yang dikirim ke Moderator langsung ditolak, karena tidak ada terminal untuk menjalankannya.

Teks yang diketik MXterm Pro ke sebuah pane atas nama peer dibersihkan dari escape ANSI dan karakter kontrol, dan probe yang tampil inline juga kehilangan pembatas « ». Pesan lengkapnya tetap utuh di inbox seperti saat dikirim. Ini mengurangi kemungkinan teks peer terbaca sebagai instruksi atau keluar dari tampilan kutipan di pemberitahuan, tetapi bukan batas keamanan.

Contoh Kasus: Dua Agent Menegosiasikan Kontrak API

Alurnya biasanya begini: satu pane Claude Code terbuka di repo backend dan satu pane Codex di repo frontend (atau keduanya di satu workspace). Tambahkan kedua agent ke room lewat tombol Control Room di header tiap pane, atau lewat 'Add all active panes' di tab Members. Masing-masing menerima pesan perkenalan dan menampilkan badge "tanpa handshake" sampai melakukan panggilan tool pertamanya.

Di pane Claude, Anda mengetik kira-kira begini: "Frontend butuh created_at di respons /users. Diskusikan perubahan kontrak ini dengan peer Control Room Anda sampai sepakat, lalu serahkan perubahannya kepada mereka dengan mode execute."

Claude mengirim probe ke Codex, Codex membaca inbox-nya dan membalas, dan bolak-balik itu tampil di transkrip Discussion. Anda menontonnya langsung tanpa meneruskan apa pun secara manual.

Setelah mereka sepakat, Claude mengirim execute berisi perubahan konkret ke Codex. Perubahan itu ditempel ke pane Codex dan dijalankan di sana, bukan di pane Claude.

Pencabutan berlaku seketika. Jika Anda mengklik X di chip anggota (atau memakai menu Control Room di pane-nya), pesan apa pun yang dicoba dikirim peer kepadanya gagal dengan "not in the Control Room." Keanggotaan dicabut saat itu juga, bukan sekadar disembunyikan dari UI.

Isolasi Git Worktree Menjaga Agent Tetap di Branch Masing-masing

Isolasi worktree adalah kotak centang terpisah dan opsional di composer tab baru, nonaktif secara default. Aktifkan Isolasi fitur di git worktree, dan di sebuah repo git, setiap pane agent di tab baru itu dibuat di worktree <repo>/.worktrees/<slug> miliknya sendiri, bukan di root repo.

Di folder yang bukan repo git, pane kembali memakai folder biasa disertai pemberitahuan. Pane shell biasa tetap berada di root repo dalam kedua kasus.

MXterm Pro menambahkan .worktrees/ ke .gitignore milik repo, dan setiap pane agent juga mendapat branch baru yang bernama swarm/<adjective>-<noun>, misalnya swarm/brave-otter.

Ini membantu begitu dua agent di room yang sama mengedit repositori yang sama. Satu git worktree per agent mengurangi kemungkinan edit setengah jadi atau pindah branch dari satu agent muncul di diff peer di tengah tugas. Anda tetap menggabungkan branch hasilnya sendiri, karena MXterm Pro tidak menggabungkan worktree secara otomatis.

Eksporter Report (.md)

Klik Report (.md) di header tab Discussion, di sebelah Clear, dan MXterm Pro menulis laporan Markdown, bukan sekadar log chat mentah.

File dibuka dengan tabel daftar anggota (nama agent, model/id agent, direktori kerja). Berikutnya ada bagian dialog yang mengelompokkan pesan berurutan di bawah satu judul bertanda waktu untuk setiap giliran agent. Setiap execute, dan setiap probe yang dikirim ke peer bernama, ditandai ⚡ EXECUTE atau 📢 PROBE beserta targetnya. Peristiwa bergabung, keluar dan peristiwa room lainnya muncul sebagai baris system-event.

File ini sengaja tidak memuat ID terminal setiap pane, karena nilai itu sekaligus berfungsi sebagai bearer token MCP pane, sedangkan laporan dimaksudkan untuk diserahkan ke orang lain, seperti rekan tim, tiket atau catatan Anda sendiri.

Fitur ekspor ini tersedia penuh di kedua paket. MXterm Pro membatasi jumlah agent yang bisa Anda masukkan ke room, bukan ekspornya.

Free vs. Pro

Secara default, paket Free membatasi Control Room sampai 2 anggota. Jika Anda mencoba menambah yang ketiga, MXterm Pro memblokir penambahan itu di sisi klien dan meminta Anda upgrade. Penambahan tidak dibiarkan diam-diam lalu gagal belakangan.

Pro menghapus batas itu: agent per room tanpa batas. Jumlah room memang tidak pernah dibatasi. Eksporter Report (.md) sama di kedua paket, karena batasnya ada pada ukuran room, bukan pada apa yang bisa Anda lakukan dengan room yang sudah dibuat.

Control Room vs. Setup Multi-Terminal Manual, Warp dan Framework Multi-Agent

iTerm2 dan tmux adalah pembanding dasarnya: gratis atau open source, pemisahan pane yang solid, bisa di-script sepenuhnya, tanpa apa pun yang perlu Anda percayai selain mesin Anda sendiri. Yang tidak mereka berikan adalah message bus.

Jika dua agent di dua pane perlu berkoordinasi, Andalah message bus-nya. Anda menyalin error dari satu pane, menempelkannya ke pane lain, dan mencatat siapa menyetujui apa. Tidak ada yang merekam pertukaran itu kecuali Anda menyimpan scrollback sendiri.

Warp adalah terminal AI yang rapi dengan orkestrasi multi-agent sendiri: agent induk memunculkan dan mengoordinasikan agent anak, yang bisa menjalankan Claude Code atau Codex. Itu model spawn-and-delegate. Control Room berbentuk lain: Anda memulai setiap agent sendiri di pane-nya, dan agent saling berkirim pesan, juga ke Anda sebagai Moderator, lewat room bersama.

Framework seperti AutoGen atau CrewAI dibuat untuk orkestrasi antar agent, bisa dibilang dengan struktur yang lebih ketat daripada message bus probe/execute. Tetapi keduanya adalah library Python yang Anda script dan jalankan dari notebook atau entry point CLI. Anda tidak mendapat pane terminal PTY asli yang outputnya bisa ditonton, bisa dimasuki, dan bisa diketik langsung di tengah percakapan.

Di sini, AI Control Room terminal menawarkan sesuatu yang lebih sempit: pane terminal asli, tempat setiap agent adalah sesi CLI yang sedang berjalan, bukan pemanggilan API yang dibungkus, plus message bus dan peran Moderator di antara mereka, semuanya di jendela yang sudah Anda pakai untuk terminal.

Ini alternatif untuk meneruskan pesan antar pane secara manual. Ini bukan pengganti framework orkestrasi berbasis script, jika itu masalah yang Anda hadapi.

Batasan yang Perlu Diketahui Sebelum Mulai

Control Room tidak memulai debat dengan sendirinya: Anda harus meminta satu agent mengirim probe ke peer-nya dan terus melanjutkan percakapan. Fitur ini adalah message bus beserta UI di sekelilingnya, bukan perencana multi-agent yang bekerja otonom.

Pane shell biasa bisa bergabung ke room, tetapi tidak menjalankan klien MCP, sehingga composer menonaktifkan pengiriman execute ke pane itu. Prompt yang ditempel di sana akan berjalan sebagai perintah shell mentah. Pane shell hanya penonton di room, bukan peer sungguhan.

Setiap agent tambahan adalah satu proses CLI penuh dengan kuota modelnya sendiri, jadi room berisi empat agent menjalankan empat sesi agent terpisah. Sisihkan room multi-agent untuk tugas yang butuh sudut pandang kedua, bukan pekerjaan rutin satu agent.

Memulai

Tambahkan dua agent ke room lewat tombol Control Room di header tiap pane. Itu juga membuka panel kanan di tab Control Room (Alt+Ctrl+B atau ⌥⌘B di Mac). Mulailah dengan dua agent yang menunjuk ke dua folder berbeda, supaya Anda bisa melihat satu probe dan satu execute terjadi sebelum mencoba hal yang lebih ambisius. Halaman Control Room memberi gambaran umum dan dokumen agent dan Control Room memuat referensinya.

Batas 2 anggota di paket Free baru menjadi kendala ketika tugas yang Anda kerjakan membutuhkan peserta ketiga.

Lihat sendiri cara kerjanya

SSH multi-pane, Command Recipes (Cmd+J) dan Control Room (sebelumnya War Room) multi-agent: Anda bisa mulai gratis.

Unduh MXterm Pro

Sudah punya MXterm Pro? Baca panduan penyiapan →

Baru mengenal MXterm Pro? Lihat harga →

Pertanyaan yang Sering Diajukan

Berapa agent yang bisa bergabung ke satu Control Room?

Free mengizinkan 2 anggota per Control Room. Anggota ketiga diblokir sampai Anda upgrade ke Pro, yang tidak punya batas anggota. Jumlah room tidak dibatasi di kedua paket.

Apakah agent berdebat otomatis, atau saya harus memberi prompt?

Anda yang memberi prompt. Control Room memberi agent empat tool MCP (list_peers, send, read_inbox dan claim) plus peran Moderator yang dipegang manusia. Tidak ada yang menjalankan debat sendiri sampai Anda menyuruh satu agent mengirim probe ke peer-nya dan melanjutkan percakapan.

AI coding agent apa saja yang bisa dipakai di Control Room?

Claude Code, OpenAI Codex, Gemini CLI dan OMP mendapat server MCP MXterm Pro yang didaftarkan untuk mereka, dan Grok memakai entri yang ditulis MXterm ke konfigurasi Claude Code. Agent lain bisa bergabung ke room, tetapi apakah ia mengenali tool Control Room belum diverifikasi. Pane shell biasa juga bisa bergabung, tetapi tidak menjalankan klien MCP, sehingga composer tidak mengizinkan Anda mengirim execute ke sana.

Bisakah saya mengekspor diskusi ke file?

Bisa. Klik "Report (.md)" di header tab Discussion. Hasilnya file Markdown berisi tabel daftar anggota (agent, model, direktori kerja) dan bagian dialog bertanda waktu yang menandai setiap execute, dan setiap probe ke peer bernama, sebagai EXECUTE atau PROBE. Bisa dipakai penuh di paket Free maupun Pro.

Apa yang terjadi jika saya mengeluarkan agent dari room di tengah percakapan?

Keanggotaannya dicabut seketika. Klik X di chip-nya di tab Members atau pakai menu Control Room di pane-nya, dan peer mana pun yang lalu mencoba mengirim pesan kepadanya mendapat kegagalan "not in the Control Room" dari panggilan tool. Ini lebih dari sekadar perubahan UI.

Apakah Control Room mewajibkan git worktree?

Tidak. Isolasi worktree adalah kotak centang terpisah dan opsional di composer tab baru ("Isolasi fitur di git worktree"). Aktifkan di repo git, dan setiap pane agent di tab itu mendapat working copy <repo>/.worktrees/<slug> sendiri di branch swarm/<adjective>-<noun> baru. Ini cocok dipadukan dengan Control Room, tetapi tidak wajib untuk memakainya.

Tanya AI tentang MXterm Pro

Buka jawaban langsung di ChatGPT, Claude atau Perplexity, berdasarkan halaman ini. Jawaban ditulis oleh asisten, bukan kami, jadi periksa sumber yang dikutipnya.

Pertanyaan yang dikirimBagaimana agent di Control Room MXterm Pro saling berkirim pesan dan menyerahkan tugas?