SYS terminal control plane / multi-consumer stream

Share real terminals with your agents.

phux makes a terminal an addressable object on a wire. Humans, GUIs, and agents can observe or drive the same live terminal without screen scraping, rebuilt chat views, or a second terminal model in the middle.

01real terminal bytes

libghostty-backed rendering on both ends of the wire.

02many consumers

the TUI, browser client, GUI, and agents share one model.

03agent-ready

state is projected locally from the same stream a person sees.

live / edge session100×24 / phux-web
a live phux session: the demo shell MOTD, osc 8 hyperlinks, and 24-bit color rendered by the phux-web client
live demo coming online

A real phux terminal in your browser. The same bytes can be consumed by a GUI, a headless tool, or an agent.The demo backend is a curated, OS-less shell running as Wasm at the edge: no network and no persistent session state.

install and run
brew install phall1/tap/phux
phux

macOS or Linux. The install guidealso covers release tarballs, the verified curl installer, and source builds.

Why the wire exists

Phux is not another terminal emulator. It gives a real terminal a stable identity so a person, GUI, or agent can spawn, observe, anddrive it without owning the only view.

spawn

open a terminal as an object with a stable id, independent of who's watching it.

observe

attach to its live byte stream — the same stream any other consumer sees.

drive

write input to it, resize it, tag it — from a TUI, a GUI, or a program.

The TUI is one consumer, not the product boundary. Native consumers keep terminal bytes intact; compatibility profiles preserve semantics through negotiated synthesis. See the model orread the protocol.

Built for agents

The CLI and MCP adapter let an agent read, act, and wait against the same terminals a person sees. Rich clients can carry the engine and project structure locally, as phux-web does. The control loop works today; the APIs are pre-1.0. Use the agent guide.

Status

Phux is v0.0.x, pre-alpha. The line between what is solid and what is still a promise:

mit/apache-2.0 ·github.com/phall1/phux

Get going