ccy.dev
/

gtmux agent 指挥台 command center

你 Mac 上 tmux 里 agent 的雷达与中控。 A radar and command center for the agents in your tmux.

你在 tmux 里同时跑五个编码 agent,总有一个悄悄停下来等你回话——你却不知道是哪个。gtmux 是盯着它们的那块雷达:谁在等你、谁在干活、谁跑完了,一眼看清,再一键跳过去。从终端、菜单栏,到你口袋里的手机。 You’re running five coding agents in tmux, and one has quietly stopped to wait on you — but you don’t know which. gtmux is the radar over them: who’s blocked, who’s working, who’s done, at a glance — then it jumps you straight there. From your terminal, your menu bar, and the phone in your pocket.

免费 · 开源 · 无账号 · 无遥测 · MIT free · open source · no account · no telemetry · MIT

命令行 CLI 就地扫一眼、attach 接管——不离开终端 glance and attach — without leaving the terminal
菜单栏 Menu bar 常驻菜单栏,Mac 前一瞥就知道谁在等你 always up there — one glance at your desk
手机 Phone 出门也看得到、操控得了、会震你 on the go — watch it, steer it, get buzzed

一个核心,三块屏——不是三个勉强同步的 app,而是 gtmux-core 这一份数据开了三扇窗,各司其职:菜单栏在 Mac 前替你常盯,终端让你就地接管,手机把舰队带出门。同一支舰队、同一套状态语言,处处一致。 One core, three surfaces — not three apps that sort of stay in sync, but one gtmux-core with three windows onto it, each doing its own job: the menu bar keeps watch at your desk, the terminal lets you take over in place, the phone carries the fleet out the door. Same fleet, same status language, everywhere.

日常就三件事:看见、跳过去、被叫 The everyday loop: see it, jump to it, get called

  • 一眼看清整支舰队 See the whole fleet at a glance 五个 agent 铺在十几个 tmux 窗口里,哪个停下来等你了?gtmux 把它们全摆上一块雷达,按状态标色——红=等你、青=在干活、绿=跑完、灰=空闲,需要你的那个自动排到最上面。不在 tmux 里的原生会话也看得到(只读)。 Five agents spread across a dozen tmux windows — which one is blocked on you? gtmux lays them all on one radar, color-coded: red = waiting on you, teal = working, green = done, gray = idle, with the ones that need you sorted to the top. Non-tmux sessions show up too, read-only.
  • 一键跳到那个 pane Jump straight to the pane 看到那个红的,点它——gtmux 把那个终端窗口和 pane 直接带到最前,光标就落在 agent 停下的地方。不用在二十个窗口里一个个翻,找它到底停在哪。 You spot the red one. Click it — gtmux pulls that exact terminal window and pane to the front, right where the agent left off. No cycling through twenty windows to find where it stopped.
  • 该震才震 A buzz only when it needs you 离开桌子。哪个 agent 跑完了、或者卡住了,手机才震一下——在沙发上、厨房里、隔壁会议室都行。点开通知,直接到它面前;不需要你的时候,它一声不吭。 Walk away from the desk. Your phone buzzes only when an agent finishes or gets stuck — from the couch, the kitchen, the meeting next door. Tap it and you’re there; when it doesn’t need you, it stays quiet.
同一块雷达,在手机上。红=等你、青=在干活、绿=跑完。 The same radar, on the phone. Red = waiting on you, teal = working, green = done.

从任何地方连进来——或临时分享出去 Reach in from anywhere — or hand a session out

手上只有手机、或坐在另一台电脑前?看着雷达、往 pane 里打字、把卡住的 agent 解开——gtmux serve 起一个本地服务,gtmux tunnel 开一条你自己的隧道,手机就能连回家里的 Mac。想要完整终端?在任意电脑上 gtmux attach,把那个 tmux 会话原样接过来,光标落在 agent 停下的地方。 Just your phone, or sitting at another computer? Watch the radar, type into a pane, unblock a stuck agent — gtmux serve runs a local server, gtmux tunnel opens a tunnel you host yourself, and your phone reaches the Mac at home. Want the full terminal? gtmux attach from any computer pulls that tmux session over as-is, cursor right where the agent left off.

想把某个会话临时给同事看看?gtmux share 生成一个受限、可撤销的链接:默认只读,你按 pane 精确放开「能看」和「能输入」,绝不等于把整台 Mac 的控制权交出去。看完撤掉,链接立刻失效。 Want to show a teammate one session? gtmux share mints a scoped, revocable link: read-only by default, and you open up “can view” and “can type” per pane — never a handover of your whole Mac. Revoke it when you’re done and the link dies instantly.

在手机上接管一个会话——读屏、看 diff,用 1 / 2 / 3 直接回它的提问。 Take over a session from your phone — read the screen, see the diff, answer its prompt with 1 / 2 / 3.

agent 多到盯不过来?交给中控 Too many agents to watch? Hand it to HQ

中控是一个常驻的参谋长 agent,不是转发通知的机器人。它维护一块态势板notes/board.md)——哪怕自己的上下文被重置,也记得每个会话在干什么、卡在哪;它把事件按轻重记进账本(routine / notable / important),只在真正要紧时拍你一下;你纠正它一次——「这种小事别烦我」——它就把这条写进自己的章程knowledge/corrections.md),下次照做。盯得越久,它越懂你的舰队,也越懂你。派活(带落地校验)和受限分享也归它管。 HQ is a standing chief-of-staff agent, not a notification forwarder. It keeps a situation board (notes/board.md) that remembers what every session is doing and where it’s stuck — even after its own context is reset; it files events into a severity-tagged ledger (routine / notable / important) and taps you only when something matters; and when you correct it once — “don’t ping me for routine finishes” — it writes that into its own charter (knowledge/corrections.md) and follows it next time. The longer it runs, the better it knows your fleet, and you. Verified dispatch and scoped sharing live here too.

中控的三块底子:一块跨重置存活的态势板、一本按轻重分诊的事件账本、一份被你的纠正持续改写的章程。 HQ’s three foundations: a board that survives resets, a ledger that triages by severity, and a charter your corrections keep rewriting.

东西都留在你机器上 It all stays on your machine

你的算力、凭据、agent——全在你自己的 Mac 上。核心那圈「读状态、发按键」不经过任何服务器,也没有账号要注册。只有你想从外面连进来时,流量才走一条你能自己搭的隧道。开源、MIT,代码全在 GitHub 摆着,你可以自己读、自己审、自己改。 Your compute, your credentials, your agents — all on your own Mac. The core loop (read state, send keystrokes) touches no server, and there’s no account to sign up for. Only when you reach in from outside does traffic cross a tunnel you can host yourself. Open source, MIT — the code is all on GitHub to read, audit, and change.

上手 Install

curl -fsSL https://raw.githubusercontent.com/chenchaoyi/gtmux/main/install.sh | bash
gtmux install-hooks     # put your agents on the radar
gtmux hq                # start the HQ supervisor  (optional)
gtmux serve             # only to connect from your phone or afar
  1. install-hooks给你的 agent 装上钩子,让它们出现在雷达上。 wires a hook into your agents so they show up on the radar.
  2. hq起中控参谋长,可选,agent 一多再开。 starts the HQ chief-of-staff — optional, add it once you have a few agents.
  3. serve只有要从手机或异地连进来时才需要。 only needed when you connect from your phone or from afar.

或用 Homebrew:brew install chenchaoyi/tap/gtmux(命令行)、brew install --cask chenchaoyi/tap/gtmux-app(菜单栏 app)。 Or Homebrew: brew install chenchaoyi/tap/gtmux (CLI) and brew install --cask chenchaoyi/tap/gtmux-app (menu-bar app).


为什么叫 gtmux?因为它就是你天天泡着的 tmux 之上的一个指挥台——把散在各处的 agent 拢成一块雷达。 Why “gtmux”? It’s a command center over the tmux you already live in — pulling the agents scattered across it onto one radar.

目前面向 tmux + macOS。装了 hook 的 agent 都能显示;非 tmux 会话为只读感知。 你的 agent、终端和对话都留在你自己的设备上——读 隐私政策 · 需要帮助看 支持 tmux + macOS today. Any agent that installs a hook shows up; non-tmux sessions are sensed read-only. Your agents, terminals, and chats stay on your own devices — read the privacy policy · need a hand? see support.