MXterm Pro

Coding agent dan Control Room

MXterm Pro menjalankan CLI milik tiap agent di pane terminal asli dan memantau outputnya. MXterm Pro tidak memasang agent: CLI-nya harus sudah ada di komputer Anda. Control Room juga dikenal sebagai War Room.

Agent yang didukung

MXterm Pro bisa menjalankan 27 coding agent. Daftar lengkapnya ada di halaman Agent. Tabel di bawah memuat sebagian di antaranya.

Pilih agent di daftar Agen AI saat membuat workspace, atau ganti agent sebuah pane kapan saja lewat ikon agent di sisi kiri header pane. Pane agent menjalankan perintah di tabel berikut. Terminal tidak menjalankan perintah apa pun.

AgentPerintahFlag bypassTitik statusMCP
Claude Codeclaude--dangerously-skip-permissionsYaOtomatis
Codexcodex--dangerously-bypass-approvals-and-sandboxYaOtomatis
OpenCodeopencodeTidak adaYaManual
GitHub CopilotcopilotTidak adaTidakManual
Qwen Codeqwen--yoloHanya permintaan izinManual
AmpampTidak adaTidakManual
Gemini CLIgemini--yoloYaOtomatis
Cursor Agentcursor-agentTidak adaYaManual
AntigravityagyTidak adaTidakManual
OMP (Oh My Pi)ompTidak adaHanya permintaan izinOtomatis
Grokgrok--always-approveHanya permintaan izinOtomatis

Untuk Claude Code, Codex, Gemini CLI, Cursor Agent, OpenCode dan Grok, MXterm Pro mencari file eksekusinya di PATH dan di folder instalasi umum (di macOS dan Linux, misalnya /opt/homebrew/bin, ~/.local/bin dan ~/.npm-global/bin). Jika tidak ketemu, agent ditandai Belum terpasang. Gemini CLI juga dianggap terpasang jika folder ~/.gemini ada. Agent lain di tabel selalu ditawarkan; jika CLI-nya belum ada, shell di pane melaporkan bahwa perintahnya tidak ditemukan. Agent yang tidak ada di tabel, seperti OpenClaw, OpenClaude, Hermes Agent, Devin CLI, Kimi Code, Aider, Cline, Goose, Crush, Kilo Code, Kiro CLI, Auggie, Autohand Code, Codebuff, Command Code dan Continue, baru ditawarkan di composer setelah MXterm Pro menemukan CLI-nya. Pengaturan → Agen menampilkan status terpasang tiap agent; lihat Pengaturan.

Bypass Mode

Aktifkan Mode Bypass (setujui otomatis izin CLI) nonaktif secara default. Jika dibiarkan, setiap agent akan bertanya dulu sebelum menjalankan perintah atau mengedit file, sama seperti CLI agent itu sendiri.

Jika dicentang, MXterm Pro menjalankan Claude Code dengan --dangerously-skip-permissions, Codex dengan --dangerously-bypass-approvals-and-sandbox, Gemini CLI dan Qwen Code dengan --yolo, serta Grok dengan --always-approve. Agent tersebut lalu menjalankan perintah dan mengedit file tanpa bertanya dulu kepada Anda, dan Codex juga melewati sandbox-nya.

Kotak centang ini ada di composer workspace, layar yang terbuka saat Anda membuat tab baru. Pilihan Anda tersimpan dan berlaku untuk setiap pane agent yang dijalankan sesudahnya, di workspace mana pun. Agent yang sudah berjalan tetap memakai flag saat mereka dimulai.

Flag ditambahkan atau dihapus saat pane dimulai, jadi kotak ini berlaku sama untuk setiap agent yang memakai flag. Selain kelima agent di atas, MXterm Pro mengenal flag untuk melewati persetujuan pada OpenClaude, Hermes Agent, Devin CLI, Kimi Code, Aider, Crush, Kiro CLI, Autohand Code dan Command Code, sehingga totalnya 14 agent. Goose tidak punya flag: mode otomatisnya berupa environment variable (GOOSE_MODE=auto) yang hanya ditawarkan di Pengaturan. Agent lainnya, termasuk OpenCode, GitHub Copilot, Amp, Cursor Agent, Antigravity dan OMP, tetap dijalankan dengan perintah biasa, dicentang atau tidak. Menebak flag untuk mereka hanya akan membuat CLI menolak berjalan.

Status agent dan notifikasi

Untuk Claude Code, Codex, Gemini CLI, Cursor Agent dan OpenCode, MXterm Pro membaca layar pane untuk mengetahui apa yang sedang dikerjakan agent. Statusnya tampil sebagai titik di samping pane pada daftar terminal di sidebar dan pada daftar anggota Control Room (sebelumnya War Room), juga pada tab workspace, yang menampilkan titik paling mendesak dari semua pane-nya. OMP, Grok dan Qwen Code hanya dibaca untuk satu hal: saat salah satunya menampilkan tool yang menunggu persetujuan Anda, titiknya berubah merah. MXterm Pro tidak punya aturan untuk status bekerja mereka. Gemini CLI dibaca pada dialog persetujuan, rencana, pertanyaan dan kepercayaan folder. Goose juga dibaca, dengan aturan yang belum diperiksa terhadap sesi sungguhan. Secara keseluruhan, 9 agent punya deteksi status; sisanya tidak menampilkan titik.

  • Merah: agent terblokir dan butuh input Anda.
  • Kuning: agent sedang bekerja. Pane lain juga menampilkan titik kuning yang sama saat mereka mencetak output.
  • Hijau: agent selesai saat Anda tidak sedang melihat pane itu. Titik hilang ketika Anda memfokuskan pane.

Pengaturan notifikasi ada di Pengaturan → Notifikasi, di bawah sakelar utama Notifikasi agen. Tiga kejadian bisa memicu notifikasi, masing-masing dengan sakelarnya sendiri dan semuanya aktif: Agen selesai, Agen butuh input Anda dan Agen berhenti tiba-tiba. Pesan Control Room yang tetap ditahan (lihat Mengirim pesan di Control Room) juga memunculkan banner, Pesan menunggu dikirim, di bawah sakelar Agen butuh input Anda.

PengaturanDefaultFungsinya
Notifikasi suaraAktifBunyi lonceng saat salah satu dari tiga kejadian itu terjadi.
Notifikasi desktop sistemAktifBanner berjudul nama tab dan agent, misalnya my-project · Claude Code, dengan isi Selesai, Butuh input Anda, Berhenti tiba-tiba atau Pesan menunggu dikirim.
Hanya saat MXterm Pro di latar belakangNonaktifJika nonaktif, Anda juga mendapat banner untuk pane di tab lain saat sedang bekerja di jendela ini. Jika aktif, banner hanya muncul saat aplikasi tidak sedang difokuskan.
Tampilkan teks terminal di bannerNonaktifMenambahkan judul terminal agent ke banner. Jika nonaktif, banner diakhiri dengan klik untuk membuka. Notification Center menyimpan banner dan bisa menampilkannya di layar kunci, karena itu pengaturan ini nonaktif.
Badge DockAktifJumlah pane yang menunggu Anda: sudah selesai tetapi belum dilihat, atau butuh input. Dibuat untuk Dock macOS; badge ini belum diverifikasi di Windows atau Linux.
Notifikasi per agenAktif untuk tiap agentSatu sakelar untuk setiap agent yang sudah punya deteksi status.

Mengklik banner membawa Anda ke pane yang dimaksud. Jendela dibawa ke depan, tab yang tepat terbuka, pane yang tersembunyi di balik pane tetangga yang dimaksimalkan ditampilkan kembali, pane mendapat fokus, dan tampilannya bergulir ke output terbaru. Jika pane itu sudah ditutup, jendela tetap dibawa ke depan dan tidak terjadi apa-apa lagi.

Klik-ke-pane memerlukan aplikasi macOS yang Anda unduh. Di sistem lain, MXterm Pro meminta sistem menampilkan banner, tetapi klik belum dihubungkan untuk membawa Anda ke pane. Ini belum diverifikasi di Windows.

Beberapa aturan mencegah banner berlebihan. Anda tidak pernah mendapat notifikasi tentang pane yang sedang Anda lihat. Respons agent yang selesai dalam waktu kurang dari 5 detik hanya mendapat titik, tanpa banner dan tanpa bunyi lonceng. Kejadian yang datang berdekatan dikumpulkan dan dikirim sebagai satu bunyi lonceng dan satu banner. Di macOS, saat Anda melihat sebuah pane, banner-nya juga dihapus dari Notification Center.

Koneksi MCP dan status line Claude

MXterm Pro menjalankan server MCP di 127.0.0.1 dengan port acak dan menyetel environment variable berikut di setiap pane: MXTERM_MCP_URL, yaitu alamat server, dan MXTERM_SESSION, token unik untuk pane itu. Ada juga nama lama SWARMTERM_MCP_URL dan SWARMTERM_SESSION dengan nilai yang sama, yang dibaca oleh entri konfigurasi agent di bawah. Agent memakai server ini untuk membuka pratinjau web di samping pane, berkomunikasi di Control Room dan, di workspace dengan isolasi worktree, membuat dan menghapus worktree.

Tool-tool ini bernama mxt_room.*. Versi sebelum 1.1.43 menamainya war_room.*; nama lama itu masih berfungsi untuk sementara.

Claude Code, Codex dan OMP terhubung otomatis, begitu juga Gemini CLI saat pane-nya dimulai. Pada setiap peluncuran, MXterm Pro memeriksa file-file berikut dan menulis entrinya jika belum ada atau sudah usang, terlepas dari apakah agent-nya terpasang:

  • ~/.claude.json (atau $CLAUDE_CONFIG_DIR/.claude.json): entri mxterm di bawah mcpServers yang membaca URL dan token dari environment pane. Saat menulis entri itu, MXterm Pro juga menambahkan "crossSessionInbound": "accept" jika key tersebut belum diatur.
  • ~/.codex/config.toml (atau $CODEX_HOME/config.toml): tabel [mcp_servers.mxterm] dengan URL server saat ini dan tanpa token: setiap pane Codex yang dijalankan MXterm Pro mengirim token miliknya sendiri, jadi beberapa pane Codex bisa bergabung ke room. URL ditulis ulang di setiap peluncuran karena port berubah.
  • ~/.omp/agent/mcp.json: entri mxterm di bawah mcpServers yang membaca URL dan token dari environment pane, sama seperti milik Claude Code, ditambah baris $schema jika file belum memilikinya.
  • ~/.zshrc, hanya jika file itu ada dan belum menyebut SWARMTERM_SESSION: baris export SWARMTERM_SESSION="${SWARMTERM_SESSION:-global}" ditambahkan di akhir.

Gemini CLI tidak bisa membaca environment variable di pengaturan MCP-nya, jadi penyiapannya berbeda. Setiap kali pane Gemini CLI dimulai di sebuah folder, MXterm Pro menulis <folder>/.gemini/settings.json berisi alamat server dan token milik pane itu sebagai teks biasa, lalu menambahkan .gemini/settings.json ke .gitignore folder tersebut, dan membuat file itu jika belum ada. Grok membaca entri mxterm di ~/.claude.json, jadi MXterm Pro tidak menulis apa pun lagi untuknya. Pengaturan → Agen menampilkan agent mana yang dianggap MXterm Pro sudah siap.

Agent lain tidak disiapkan otomatis, dan belum diverifikasi apakah agent tersebut mengenali tool dari MXterm Pro. Jika sebuah agent tidak menampilkan tool itu, tambahkan server MCP HTTP dengan URL $MXTERM_MCP_URL dan header Authorization: Bearer $MXTERM_SESSION. Baca keduanya dari environment, jangan menyalin nilainya, karena port berubah di setiap peluncuran dan token berbeda untuk tiap pane.

Integrasi status line Claude Code aktif secara default. Pada setiap peluncuran, MXterm Pro menyetel statusLine di ~/.claude/settings.json (atau $CLAUDE_CONFIG_DIR/settings.json) ke type: "command" dengan perintah yang menjalankan file eksekusi MXterm Pro dengan --statusline. Claude Code kemudian menampilkan mcp ✓ (terhubung), mcp … (server terjangkau, Claude belum memanggilnya) atau mcp ✗ (tidak terjangkau), diikuti pemakaian konteks seperti ctx 84k/200k 42%. Pengaturan ini berlaku di tingkat pengguna, jadi Claude Code di terminal lain juga menampilkan bagian konteksnya. statusLine kustom yang sudah Anda punya tidak pernah ditimpa. Nonaktifkan di Pengaturan → Terminal → Alihkan status line Claude Code, yang menghapus entri tersebut.

Isolasi git worktree

Centang Isolasi fitur di git worktree di composer workspace agar setiap pane agent mendapat worktree dan branch sendiri. Opsi ini nonaktif secara default dan hanya berlaku untuk workspace yang sedang Anda buat.

  • Setiap pane agent mendapat branch seperti swarm/brave-otter dan worktree di <folder>/.worktrees/swarm-brave-otter. Nama branch tampil di header pane.
  • Pane Terminal biasa tetap berada di folder itu sendiri. Begitu juga pane agent yang worktree-nya gagal dibuat.
  • Worktree dimulai dari commit HEAD saat ini. Perubahan yang belum di-commit dan file yang diabaikan seperti node_modules tidak disalin, jadi pasang dependensi di setiap worktree.
  • MXterm Pro menambahkan .worktrees/ ke .gitignore folder, dan membuat file itu jika perlu, tetapi tidak meng-commit perubahan tersebut.
  • Agent di workspace itu bisa memanggil tool MCP worktree.spawn, worktree.list dan worktree.remove.
Jika folder bukan repositori git, MXterm Pro tidak membuatkannya. Isolasi dilewati untuk workspace itu dan semua pane memakai folder tersebut bersama-sama. Setiap pane memberi tahu hal ini sekali, di bar yang bisa Anda abaikan: Folder ini bukan repositori git, jadi panel ini memakainya bersama panel lain (tanpa isolasi worktree). Tidak ada yang diinisialisasi, di-stage atau di-commit. Folder yang *sudah* berupa repositori tetapi belum punya commit tetap mendapat .gitkeep kosong, dan MXterm Pro hanya men-stage dan meng-commit file itu sebagai "Initial commit" (file lain yang sudah ada di folder tidak di-stage), karena worktree memerlukan sebuah commit untuk dijadikan titik awal branch.

Untuk menghapus worktree setelah selesai, buka tab Git di panel kanan dan klik Bersihkan worktrees… di samping daftar worktree.

  1. Entri yang direktorinya sudah tidak ada akan langsung dibersihkan (prune), tanpa konfirmasi.
  2. Sisanya terbuka di Bersihkan worktrees. Worktree tanpa file yang belum di-commit hanya dihitung ("N worktree akan dihapus (direktori dan branch).") dan dihapus saat Anda mengonfirmasi.
  3. Worktree yang masih berisi pekerjaan didaftar terpisah di bawah Ini punya pekerjaan yang belum disimpan, centang untuk tetap menghapus:, masing-masing menampilkan jumlah file yang belum di-commit dan jumlah commit yang belum di-merge. Worktree ini tidak dicentang untuk Anda.
  4. Hapus worktree (atau Hapus N worktree) menghapus setiap direktori dan branch-nya. Pane yang masih berjalan di salah satunya dipindahkan keluar lebih dulu.

Worktree yang dibuat MXterm juga dicantumkan, lengkap dengan ukuran dan umurnya, di Pengaturan → Agen (lihat Pengaturan); kartu itu menghapus sebuah folder hanya saat Anda menekan Hapus dan selalu menyisakan branch-nya. Anda tetap bisa melakukannya manual dengan git worktree list, git worktree remove dan git branch -d dari folder tersebut. Agent juga bisa memanggil worktree.remove, yang menolak jika worktree punya perubahan yang belum di-commit dan membiarkan branch-nya tetap ada.

Catatan review pada diff

Tab Git di panel kanan menampilkan perubahan di folder atau worktree sebagai diff. Anda bisa menulis catatan pada sebuah baris, lalu mengirim semuanya sekaligus ke agent yang membuat perubahan itu.

  1. Arahkan kursor ke satu baris di diff, lalu klik ikon catatan: Tambah catatan di baris ini, atau Edit catatan pada baris yang sudah punya catatan.
  2. Ketik catatan Anda. Tekan mod+Enter untuk menyimpan atau Esc untuk membatalkan.
  3. Setelah selesai menulis, klik Kirim N catatan di bagian bawah diff. Hapus semua catatan membuang semua catatan tanpa mengirimnya.

Setiap catatan sampai ke agent berupa file, baris, kode pada baris itu, dan komentar Anda. Blok tersebut ditempel ke pane agent tetapi belum di-submit: aplikasi meminta Anda menekan Enter sendiri di pane, jadi Anda masih bisa menambahkan sesuatu terlebih dahulu.

Pengiriman ditolak, dengan alasan yang tampil di tombol, jika aplikasi tidak bisa menentukan pane tujuan atau pane belum siap: tidak ada pane agent yang bekerja di worktree itu, ada beberapa, pane tidak sedang berjalan, pane punya input yang belum Anda kirim, atau pane tidak menerima blok tempelan. Aturan pengetikannya sama dengan yang dipakai Control Room.

Catatan disimpan di memori selama aplikasi terbuka. Catatan tidak pernah ditulis ke disk, dan sebuah catatan hilang saat baris atau file-nya tidak lagi ada di diff.

Tampilan chat (eksperimental)

Tampilan chat menampilkan pane agent sebagai chat yang mudah dibaca dari percakapan agent itu sendiri, digambar di atas terminal. Fitur ini nonaktif secara default. Aktifkan dengan Tampilan chat (eksperimental) di Pengaturan → Terminal.

  • Berfungsi untuk Claude Code, Codex, OMP dan Grok. Untuk agent lain, atau shell biasa, pane menyatakan Chat tidak tersedia. Tidak ditawarkan di pane SSH.
  • Saat pengaturan aktif, pane agent terbuka di Chat. Setiap pane menyimpan pilihannya sendiri, yang diingat setelah restart. Tombol di header pane atau mod+Shift+J mengalihkan pane yang sedang fokus antara Chat dan Terminal. Menonaktifkan pengaturan mengembalikan setiap pane ke terminalnya.
  • Chat adalah overlay. Proses terminal di bawahnya tidak tersentuh dalam kedua kondisi.
  • Di composer, Enter mengirim dan Shift+Enter menambah baris. Anda bisa melampirkan file, menempel gambar, dan memilih model dari menu.
  • Untuk Claude Code dan Codex, prompt izin yang dikenali MXterm Pro menampilkan Setujui sekali dan Tolak dan hentikan agen. Untuk prompt lain, chat menyatakan agent sedang menunggu di terminal.
  • Tombol mikrofon di composer hanyalah mockup. Tombol itu tidak merekam apa pun, tidak meminta izin mikrofon, dan tidak memasukkan teks.

Control Room: room dan anggota

Control Room memungkinkan agent di pane yang berbeda saling berkirim pesan, dengan Anda sebagai Moderator. Tekan ⌘⌥B di macOS atau Ctrl+Alt+B di Windows dan Linux untuk membuka panel kanan, lalu pilih tab Control Room. Panel ini punya lima tab: Control Room lebih dulu, lalu Penjelajah, Riwayat, Git dan Pratinjau. Hanya Control Room yang namanya tertulis di samping ikonnya, yaitu pedang bersilang. Empat tab lain hanya berupa ikon, dengan nama di tooltip. Panel terbuka lebih lebar di tab Control Room. Setiap tab workspace punya room sendiri, dan panel hanya menampilkan room milik tab yang sedang Anda lihat, dengan room utamanya di urutan pertama. Room milik tab lain ada di bawah menu Ruang lain.

Tambahkan pane dengan tombol Control Room (node yang terhubung) di header-nya. Menambahkan pane membuka panel di tab Control Room dengan sendirinya, jadi Anda tidak perlu membukanya dulu. Tombol menampilkan + kecil selama pane belum ada di room mana pun dan, begitu sudah, memakai warna pane itu sendiri. Tanda kecil di samping ikon menunjukkan keadaan pesan pane: titik penuh untuk pesan baru, cincin kosong selama pesan menunggu sampai pane bebas, belah ketupat saat sebuah tugas diserahkan kepadanya, dan titik dalam cincin saat pesan lama dilewati karena antrean penuh. Arahkan kursor ke tanda itu untuk melihat teksnya. Tombol ini tidak tampil di pane SSH, di pane yang terhubung dari Mesin (pane itu tidak menjalankan terminal di mesin ini, jadi tidak bisa bergabung ke room), atau di pane yang sangat sempit. Menyeret pane ke panel tidak menambahkannya.

  • Tambahkan ke Control Room, atau Tambahkan ke "nama room" untuk room yang sudah ada, menambahkan pane dan membuka panel.
  • Ruang baru membuat room, lalu menambahkan pane ini ke room itu.
  • Untuk pane yang sudah ada di sebuah room, menu mencantumkan room lain di bawah Ganti Control Room (pilih salah satu untuk memindahkan pane) dan menawarkan Keluar dari Control Room, yang bertanya sekali lagi sebelum mengeluarkan pane (sesi tetap berjalan). Satu pane hanya bisa berada di satu room dalam satu waktu.

Menu klik kanan sebuah pane punya Copy pane ID. Untuk pane yang berada di sebuah room dan sudah punya handle, menu itu juga punya Copy room handle, yang menyalinnya beserta @, misalnya @claude-2, dan Mention in room, yang menambahkan handle itu ke composer room.

Di panel, tab room yang dipilih dan tab Members atau Discussion yang dipilih berwarna penuh, sehingga mudah terlihat tab mana yang sedang Anda buka. Strip room menambahkan room dengan +, mengganti nama room saat Anda mengklik dua kali atau mengklik ikon pensil yang muncul saat Anda mengarahkan kursor, dan menghapus room dengan ✕ (room utama sebuah tab tidak punya ✕ dan tidak bisa dihapus). Members mencantumkan pane di dalam room. Klik sebuah baris untuk melompat ke pane itu. Memilih nama atau foldernya untuk disalin tidak membuat Anda melompat. Klik kanan sebuah baris untuk mengganti nama pane. Setiap baris punya tombol salin, yang menyalin handle anggota itu, misalnya claude-2 (nilai yang dimasukkan agent ke to), tombol mahkota yang menetapkan atau menghapus koordinator (lihat Control Room: koordinator), dan tombol ✕ yang selalu terlihat untuk mengeluarkan pane dari room setelah bertanya sekali lagi. Ponsel, atau komputer lain lewat panel Mesin-nya (lihat Pane dan split), yang sakelar Dapat mengelola Control Room-nya aktif di sini (lihat Remote Access & Devices) juga bisa membuat room, menambah anggota, mengeluarkan anggota, dan menghapus room dari layarnya sendiri, dengan batas Free yang sama; room utama sebuah tab tidak bisa dihapus.

Tombol Tambah di bagian atas Members mencantumkan pane milik tab room itu sendiri lebih dulu, lalu pane milik tab lain di bawah nama tab masing-masing, sehingga agent dari tab lain tetap bisa bergabung. Pane SSH biasa, yang tidak bisa menjalankan agent, dan pane yang terhubung dari Mesin tidak dicantumkan. Pane yang sudah berada di room lain tampak redup dengan Sudah ada di "nama room". Klik sebuah baris untuk mencentangnya, lalu tekan Tambah N; Pilih semua dan Kosongkan mengubah semua centang sekaligus, dan + di ujung baris langsung menambahkan pane itu saja. Menambahkan tiga pane atau lebih sekaligus bertanya dulu (Tambahkan N panel ke "nama room"?). Jika sebagian pane tidak bisa bergabung, misalnya karena room sudah mencapai batas Free, sebuah catatan di bawah tombol menyebutkan jumlah dan alasannya selama sekitar 12 detik.

Anggota keluar dari room lewat ✕, lewat Keluar dari Control Room di menu pane-nya, saat Anda memindahkan pane-nya dengan Ganti Control Room, saat room-nya dihapus, atau saat terminalnya berakhir. Menyeret sebuah baris tidak mengeluarkannya. Discussion mencatat setiap kepergian dan, jika alasannya diketahui, menutup baris dengan alasan tersebut: (its pane left this window), (removed from the Members list), (left from the pane menu), (its terminal ended) atau (its pane was not reopened).

Room dan anggotanya disimpan. Setelah Anda keluar dari aplikasi dan membukanya lagi, setiap anggota yang panenya dipulihkan kembali ke room-nya, dan menampilkan tanpa handshake sampai agent-nya memanggil mxt_room lagi. Anggota menunggu di daftar dengan status Waiting to reconnect hingga 5 menit sampai panenya kembali; jika pane tidak kembali, anggota itu keluar dari room. Saat agent kembali ke prompt shell, MXterm Pro menyadarinya dalam beberapa detik (memeriksa setiap 3 detik, hanya di macOS dan Linux) dan menandai anggota itu terputus, dan Discussion menulis <name> disconnected (its agent exited). Anggota tetap berada di room dan claim-nya dilepas. Pesan tidak lagi diketik ke shell-nya, dan broadcast melewatinya. Anggota itu tersambung lagi saat agent dijalankan dan memanggil mxt_room lagi.

Saat Anda menambahkan pane agent, MXterm Pro mengetikkan perkenalan singkat ke prompt agent. Perkenalan itu meminta agent memanggil mxt_room.list_peers. Sebuah pane tidak bisa menyamar sebagai Anda: pane yang namanya mengandung "Moderator", dalam huruf besar atau kecil apa pun, bergabung sebagai (pane, not the real Moderator) diikuti namanya sendiri, dan nama yang mengaku berperan sebagai koordinator diberi awalan (pane, not the coordinator) dengan cara yang sama. Saat agent yang sudah melihat aturannya bergabung lagi ke sebuah room, ia hanya menerima satu baris yang menyebut nama room dan koordinatornya, bukan perkenalan lengkap. Sampai agent melakukan panggilan mxt_room pertamanya, anggota itu menampilkan tanpa handshake dan tidak bisa menerima pesan. Shell biasa tidak pernah melakukan panggilan itu, dan agent tanpa penyiapan MCP otomatis memerlukan penyiapan manual di atas. MCP server menyuruh agent untuk tidak memanggil tool mxt_room kecuali Anda sudah menambahkan pane-nya ke room, dan panggilan dari pane yang tidak ada di room mana pun gagal dengan error yang meminta agent menyuruh Anda menambahkan pane itu ke room. Anggota yang terhubung menampilkan diam jika MXterm Pro tidak bisa membaca status agent-nya (statusnya tidak diketahui, atau pane tidak punya pendeteksi status) dan anggota itu tidak melakukan panggilan mxt_room selama lebih dari lima menit.

Pane tanpa nama sendiri mendapat nama dan handle yang dibuat dari agent-nya dan sebuah angka, misalnya Claude 2 dan claude-2. Agent yang dipakai adalah agent tempat pane tersebut dibuka atau, untuk terminal biasa, agent yang ditemukan MXterm Pro sedang berjalan di dalamnya. Angkanya bertambah per agent di room itu dan tidak pernah diberikan ke pane lain di sana, jadi handle lama tidak bisa menjangkau pane baru. Agent mengalamatkan pesan ke pane lewat handle-nya; id peer- yang lebih panjang tetap diterima di to. Di Discussion, handle anggota yang masih ada ditampilkan sebagai nama itu. Pane yang Anda beri nama (lihat Beri nama pane) memakai nama tersebut. Pane yang belum Anda beri nama dinamai oleh room dari judul terminalnya setelah judul itu bertahan sama selama 2,5 detik, dengan simbol status dibuang. Judul yang hanya berupa nama shell, nama agent itu sendiri, sebuah path atau user@host tidak dipakai. Nama dari room tidak mengubah nama pane itu sendiri. Arahkan kursor ke tombol Control Room sebuah pane untuk melihat room dan handle-nya.

Mengirim pesan di Control Room

Tab Discussion menampilkan pesan di room sebagai kartu: pengirim dan waktu, lalu kepada siapa pesan itu dikirim, dengan tag Execute pada sebuah prompt. Tulis di composer di bagian bawah sebagai Moderator, pilih penerima dan mode, lalu tekan Enter untuk mengirim (Shift+Enter menambah baris). Composer menampilkan Ke ruang: <name> dan tetap nonaktif sampai setidaknya satu anggota terhubung. Draf Anda disimpan per room, meski Anda berpindah tab, room atau workspace, sampai Anda mengirimnya. Mengetik @ menampilkan anggota yang terhubung; Enter atau Tab memasukkan handle-nya, misalnya @claude-2, ke teks. Daftar itu dimulai dengan baris Owner, yang memasukkan @owner untuk Anda, dan mahkota menandai koordinator. Pesan yang menyebut @owner mendapat titik kecil. Sebuah mention hanya menyebut seseorang di dalam pesan. Mention tidak mengubah penerima, yang Anda pilih dari menu penerima. Anda bisa melampirkan hingga 5 gambar, masing-masing maksimal 10 MB, pada pesan Moderator. MXterm Pro juga dirancang agar ponsel yang sudah dipasangkan bisa membaca room dan mengirim pesan setelah Anda mengaktifkan Allow phones to see Control Room, yang nonaktif secara default. Saat Anda menggulir ke atas dari pesan terbaru, tombol panah bulat (Jump to latest) muncul di kanan bawah bersama jumlah pesan yang masuk sejak itu; tombol itu membawa Anda kembali ke bagian akhir. Laporan (.md) di bagian atas mengekspor diskusi.

ModeYang terjadiPenerima
ProbePesan masuk ke kotak masuk penerima, dan satu baris pemberitahuan diketik ke terminal agent. Satu pesan yang berupa satu baris biasa sepanjang maksimal 280 karakter dikutip di pemberitahuan itu. Jika tidak, pemberitahuan menyuruh agent memanggil mxt_room.read_inbox.Semua orang, atau satu anggota yang terhubung
ExecuteTeks ditempel ke terminal agent dan dikirim sebagai prompt. Tempelan diawali satu baris yang menyebut pengirimnya, [War Room execute from "<name>" — agent-to-agent handoff, not typed by the user], supaya agent tahu pesan itu bukan berasal dari ketikan Anda di prompt-nya. Satu-satunya yang tidak memiliki baris itu adalah perkenalan yang diketik MXterm Pro saat sebuah pane bergabung ke room. Perkenalan itu juga meminta agent mengakhiri tugas yang diserahkan kepadanya dengan balasan satu baris RESULT status=… files=… tests=…, dan tidak mengklaim tes yang tidak dijalankannya.Satu anggota yang terhubung dan menjalankan coding agent, tidak pernah shell biasa

Agent mengirim dengan mxt_room.send dalam dua mode yang sama dan bisa mengirim pesan ke Anda sebagai Moderator dengan menaruh owner atau @owner di to; pesan untuk Anda hanya bisa berupa probe, karena Anda tidak punya terminal di room. Pesan mereka muncul di Discussion. Ikon tempat sampah membersihkan discussion dan mempertahankan anggota.

MXterm Pro baru mengetik di sebuah pane setelah output pane itu diam selama 3 detik. Agent yang dibaca MXterm Pro sebagai idle di prompt-nya dihitung diam, meskipun terminalnya terus mencetak ulang tampilan. Pengiriman juga ditahan selama:

  • agent di pane itu tidak idle (agent yang menunggu di dialog izin dihitung, dan MXterm Pro bisa melihatnya untuk agent yang statusnya ia baca), atau
  • pane itu terminal biasa tempat MXterm Pro menemukan agent berjalan (MXterm Pro membaca program foreground pane, dan hanya untuk agent yang dikenal seperti claude, codex, gemini, omp dan grok) dan tidak bisa membaca status agent itu, seperti pada GitHub Copilot dan Amp: dialog izin mungkin sedang terbuka, atau
  • Anda punya baris yang belum dikirim di pane itu (draf yang belum dikirim di composer Chat pane itu dihitung), atau menekan tombol di dalamnya dalam 6 detik terakhir saat pane sedang fokus, atau
  • pane tidak menerima blok tempelan (bracketed paste nonaktif, seperti di shell biasa) dan pesan lebih dari satu baris: pesan itu akan berjalan baris demi baris, jadi tidak diketik. Pane menyatakannya dan menawarkan Abaikan tetapi tanpa Kirim sekarang.

Pane yang dibuka sebagai terminal biasa juga dihitung sebagai agent begitu MXterm Pro melihat salah satu agent yang layarnya ia baca berjalan di dalamnya, misalnya claude yang diketik di prompt shell. Pane itu lalu punya status, dan pesannya dikirim dengan aturan yang sama seperti pane yang dibuka dari template agent. MXterm Pro membaca program foreground pane di macOS dan Linux. Di Windows hal itu tidak dibaca, jadi di sana pane biasa tetap pane biasa, bagaimanapun Anda menjalankan agent di dalamnya.

Selama pesan dalam antrean, header pane berubah menjadi amber. Saat pesan ditahan, pane menampilkan jumlah pesan yang menunggu dengan tombol Kirim sekarang, dan tab room menampilkan ⏸ beserta jumlahnya. Baris anggota di Members juga menampilkan ⏸ dan jumlahnya. Kirim sekarang mengirim pesan itu meskipun agent sedang sibuk atau Anda sedang mengetik, tetapi tetap menunggu output pane diam. Selama agent bekerja dan pane masih mencetak output, pill tidak punya tombol dan berbunyi Menunggu agent bebas; setelah Anda menekan Kirim sekarang, pill berbunyi Dikirim saat agent bebas. Penahanan yang berlangsung 10 detik memunculkan satu banner Pesan menunggu dikirim, lalu paling banyak dua pengingat dengan jarak 2 menit, sampai antrean kosong.

Di sebelahnya, Abaikan (✕) membuang antrean tanpa mengetik apa pun. Antrean yang hanya berisi pemberitahuan langsung dibuang dengan satu klik, dan pesannya tetap ada di kotak masuk agent. Antrean yang berisi Execute meminta klik kedua (Buang?), karena teks itu ditempelkan dan tidak disimpan di tempat lain. Pengirim diberi tahu bahwa pesannya diabaikan. Pemberitahuan yang sudah usang, karena agent sudah membaca semua pesan yang diumumkannya, dibuang dan tidak diketik.

mxt_room.list_peers memberi tahu setiap agent siapa saja yang ada di room. Setiap peer punya state (working, blocked saat menunggu di dialog izin atau pertanyaan, done, idle, atau none jika MXterm Pro tidak bisa membaca pane itu) dan agentSource, yang menyatakan apakah pane dibuka sebagai agent tersebut (template) atau MXterm Pro melihat agent itu berjalan (process). Entri Moderator berisi isModerator: true. Itu satu-satunya field yang mengidentifikasi orang yang menjalankan aplikasi, karena nama pane bisa berisi apa saja. Koordinator room, jika Anda sudah menetapkannya, berisi isCoordinator: true.

Jika dipanggil dengan changesOnly: true, mxt_room.list_peers hanya mengembalikan peer yang entri-nya berubah sejak panggilan terakhir agent itu. Catatan penjelasannya yang panjang hanya menyertai panggilan pertama sebuah agent. unreadFromYou milik peer menyatakan berapa banyak pesan Anda yang belum ia lihat, dan tidak ada jika semuanya sudah terlihat. Sebuah pesan dihitung sudah terlihat setelah peer membacanya dengan mxt_room.read_inbox, setelah pemberitahuan yang mengutipnya penuh diketik ke pane dan dikirim, atau setelah peer membalas Anda. Pesan yang terlihat lewat cara kedua atau ketiga tetap ada di kotak masuknya sampai peer membacanya. Deskripsi tool Control Room yang diterima agent dibuat lebih pendek, sehingga agent memakai lebih sedikit token untuk membacanya.

Agent yang sempat pergi bisa memanggil mxt_room.digest untuk ringkasan singkat room-nya sendiri: pesan yang ditujukan kepadanya dan belum dijawab, pesan terbaru, siapa memegang file mana, dan siapa yang terblokir. Tool ini hanya membaca: kotak masuk agent tidak dikosongkan, dan room lain tidak pernah ditampilkan.

Control Room: koordinator

Anda, sebagai Moderator, bisa menjadikan satu anggota sebagai koordinator room. Arahkan kursor ke baris anggota di Members dan klik tombol mahkota (Jadikan koordinator). Klik lagi (Hapus koordinator) untuk menghapus perannya. Hanya Anda yang bisa menetapkannya, dari aplikasi. Agent tidak bisa, dan nama pane tidak bisa mengakuinya.

  • Sebuah room punya paling banyak satu koordinator. Menjadikan anggota lain koordinator menggantikan yang pertama, dan perannya berakhir saat anggota itu keluar dari room.
  • Di room yang punya koordinator, hanya koordinator dan Anda yang boleh broadcast, yaitu pesan tanpa penerima. Setiap anggota lain harus mengirim ke satu peer, biasanya koordinator. Aplikasi menolak broadcast lain dengan error yang menyebut nama koordinator. Menyerahkan tugas dengan execute dibatasi dengan cara yang sama, sedangkan setiap anggota tetap bisa mengirim probe ke satu peer. Di room tanpa koordinator, setiap agent boleh broadcast paling banyak 3 kali per 60 detik, dan broadcast ditolak jika lebih dari 12 peer terhubung; pesan satu-ke-satu tidak terpengaruh.
  • Menetapkan atau menghapus peran ini mengirim pesan otomatis ke setiap anggota dan menambahkan baris di Discussion, seperti <name> is now the coordinator. Pesan itu juga menyatakan bahwa push, deploy, release dan delete tetap memerlukan pesan dari Anda (fromModerator: true): koordinator hanya mengusulkan. Agent yang bergabung kemudian diberi tahu siapa koordinatornya dalam perkenalannya.
  • mxt_room.list_peers menandai koordinator dengan isCoordinator: true. Seperti isModerator, tanda itu berasal dari peran, bukan dari nama.

Mengklaim file

Dua agent bisa saja mengubah file yang sama. Untuk mencegahnya, agent mengklaim file atau folder dengan mxt_room.claim sebelum mengeditnya, hingga 10 dalam satu claim. Jika salah satunya berada dalam claim yang masih dipegang peer lain, claim ditolak dan jawabannya menyebut siapa pemegangnya. Claim hanya bersifat saran, tidak memblokir penulisan: claim tidak mencegah siapa pun menulis ke file.

Sebuah claim berlaku 15 menit setelah panggilan mxt_room terakhir pemiliknya. Claim juga berakhir saat pemiliknya keluar dari room, saat agent-nya kembali ke prompt shell, atau saat Anda mengklik ✕ pada baris kunci milik pemilik itu di tab Members (muncul saat Anda mengarahkan kursor ke baris). Klik itu melepaskan semua claim anggota tersebut dan menjadi jalan keluar untuk agent yang macet dan memegang file yang dibutuhkan agent lain. Satu anggota bisa memegang paling banyak 5 claim.

Di tab Members, anggota yang punya claim menampilkan baris kunci di bawah namanya.

Batas Control Room

  • Secara default paket Free mengizinkan satu room berisi 2 pane. Menambahkan yang ketiga membuka prompt upgrade. Free juga hanya mengizinkan satu Control Room yang berisi anggota pada satu waktu: room tanpa anggota tidak dihitung, jadi Anda tetap bisa membuat room sebanyak yang Anda mau, tetapi memasukkan pane ke room kedua saat room lain masih punya anggota membuka prompt upgrade. Memindahkan satu-satunya anggota sebuah room ke room lain diizinkan. Aplikasi sendiri yang memberlakukan kedua batas ini. mxterm.net bisa menetapkan angka lain. Perubahan berlaku untuk pane yang ditambahkan kemudian dan tidak mengeluarkan anggota atau room yang sudah Anda miliki. Pro tidak punya batas untuk keduanya. Lihat harga.
  • Setiap agent bisa mengirim paling banyak 20 pesan dan claim per 60 detik; Moderator tidak dibatasi.
  • Satu pesan paling besar 8.192 byte.
  • Kotak masuk menyimpan 50 pesan terbaru di memori dan membuang yang lebih lama. Setelah restart, MXterm Pro menyimpan paling banyak 20 pesan belum dibaca terbaru per anggota, total 256 KiB, dan tidak ada yang lebih tua dari 24 jam.
  • Jika MCP server gagal dimulai, Control Room tidak tersedia untuk sesi itu dan penambahan pane gagal.

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 cara menjalankan Claude Code, Codex, dan agent CLI lain di MXterm Pro, dan apa fungsi Control Room?