0%
no hand  · 
gmux-virtual-cam
voice ready
gesture-aware AI terminal multiplexer

Run 10 agents.
See everything.
Touch nothing.

tmux, but aware. gmux wraps your terminal sessions and adds a live state layer — gestures, voice, phone control — without replacing a single tool you already use.

1:myapp ! permission
◉ claude is asking...
Write to auth.py?
[y] yes [n] no [a] always
2:api-server ◉ working
Refactoring route handlers
✓ routes/auth.ts
✓ routes/users.ts
› routes/api.ts
3:database ● waiting
qc
✓ Schema migration done
What should I do next?
📷 · !1 · ◉2 · ●3 · ◉4 · ^!5 · ◆6 · ○7 your tmux status bar, live

how it works

tmux, but aware of everything

gmux doesn't replace your tools. It adds a visibility and navigation layer on top of the tmux sessions you already use.

🔍

live state detection

Subscribes to every opencode SSE stream. Knows exactly when an agent switches from working to waiting — not by polling, by listening.

gesture navigation

MediaPipe hand tracking via webcam. Swipe right to move to the next window. Three fingers to jump to the next waiting agent. Point to toggle voice.

🎤

local voice routing

faster-whisper STT, fully local. Nav commands go to tmux. AI queries go to the focused agent window. ~400ms latency. No cloud. No API keys.

📱

phone control

Mobile PWA served from your machine. Agent carousel, volume-key cycling, push-to-talk. Zero install — open a URL. Termux SSH for full terminal access.

🪟

native desktop UI

Tauri app with a real terminal (xterm.js + PTY), live agent sidebar with todo progress and one-click permission approval, gesture overlay.

♻️

session persistence

Window names survive tmux kills. Agents relaunch on resurrect. Custom project names persist to disk every 30s. No more losing your workspace layout.


state system

Every agent, every state

Each tmux window shows the worst state of any pane inside it. Permission beats waiting beats working.

!
permission
Main agent needs tool approval right now
^!
sub-agent perm
A Task-tool sub-agent needs approval (one level down)
waiting
Agent finished, ready for your next input
working
Running tools, streaming response, actively processing
done
Just completed a task
error
Something broke — needs attention
idle
Plain shell, no AI running in this pane

gesture control

Two hands. Two roles.

Right hand navigates. Left hand commands. Both tracked simultaneously — the camera broker means no conflicts with your browser.

◉ RIGHT HAND — navigation
swipe right →next tmux window
swipe left ←previous tmux window
swipe up ↑scroll pane up
swipe down ↓scroll pane down
pinchselect / configurable
◉ LEFT HAND — commands
point ☝toggle voice on/off
three fingersjump to next waiting agent
thumbs up 👍accept / approve action
thumbs down 👎reject / deny
peace ✌toggle always-listen voice

early access

In active development

Terminal stack is working. Tauri UI is being built. Public release when it's ready. Leave your email — we'll reach out when it's time.

Version A — Terminal Dark

Rate this demo for Alexei →

✓ saved!

Thanks — logged to Notion