Open-source terminal control plane for coding agents

Bring every agent session back to one hub.

AgentMux keeps Codex, Claude, Gemini, OpenCode, and plain shells unaware of remote access. Workers own local tmux or PTY sessions, Hub routes identity and WebSockets, Control gives you browser and TUI access from anywhere.

Open Web Control Open-source on GitHub Hub https://agentmux.kinboy.wang · Worker wss://agentmux.kinboy.wang
Hub, Worker, Control and WSS relay architectureClick to inspect

Agent-unaware

No agent SDK, callback server, or vendor-specific remote feature. AgentMux attaches below the agent at the terminal layer.

Cloudflare-ready

Run Hub behind Cloudflare Tunnel or a proxy. HTTPS becomes WSS, and workers keep outbound-only connectivity by default.

Multi-session control

Registered Control supports workspaces, previews, Worker management, and updates. Direct Token sharing stays limited to session list and terminal access.

Architecture in practice

Large technical diagrams are embedded directly into the Hub landing page and can be opened for detail review.

Signal onboarding

Generate a short-lived Worker signal plus a Direct Token share URL, then connect machines and anonymous Control devices.

Click to inspect

Cloudflare-ready deployment

Keep Hub and SQLite on your server while Cloudflare terminates HTTPS and WSS through a tunnel.

Click to inspect

Multi-pane Web Control

Operate multiple long-lived terminal sessions from a compact browser workspace.

Click to inspect

Quick Start

This Hub is already running. Generate a join signal, run the Worker command on the machine that owns your sessions, then open the Web Control share URL or copy the Direct Token into TUI.

Current Hub
https://agentmux.kinboy.wang
Worker side
Click Generate to create a short-lived command for the machine running agents.
Control side
After the Worker is connected, open the share URL for simple Direct Token access, or sign in for the full management workspace.

Self-host Hub

Only use this when you want to run your own Hub. The Docker image already defaults to port 8081 and stores data under /var/lib/agentmux.

Run Hub with Docker
docker run -d --name agentmux --restart unless-stopped -p 8081:8081 ghcr.io/kinboyw/agentmux:latest
Run Hub with binary
agentmux hub --addr 0.0.0.0:8081 --data ./agentmux.db
Optional Docker persistence
docker run -d --name agentmux --restart unless-stopped -p 8081:8081 -v agentmux-data:/var/lib/agentmux ghcr.io/kinboyw/agentmux:latest
Optional tunnel when Hub has no public URL
cloudflared tunnel --url http://127.0.0.1:8081
# open the printed https://*.trycloudflare.com URL and generate commands there