HomeTutorials › Web & Desktop
Web & Desktop

Web Terminal Architecture

#100 0:16 Part of the Rysh video series

No separate service. The web server is baked right into the rysh binary.

Web Terminal Architecture — 0:16 walkthrough

What you'll see

  1. The web server is an embedded Go server running inside the same rysh process -- zero external dependencies.
  2. The React frontend connects to the same embedded NATS bus and the same actor hierarchy the terminal uses.
  3. State streams to the browser as a snapshot roughly every 200ms over a WebSocket, keeping browser and terminal in lockstep.
  4. Summarize the stack: React frontend, embedded Go web server, shared NATS and actors -- one self-contained binary.

Commands shown

echo 'rysh web = embedded Go server + React frontend, in one binary'
echo 'Browser  <-WebSocket->  embedded NATS bus  <->  Workspace/Tab/Pane actors'
echo 'Live snapshot pushed over WebSocket every ~200ms -> React renders the TUI'
echo 'React frontend | embedded Go web server | shared NATS + actors'

Keys used

Enter

Transcript

0:00No separate service. The web server is baked right into the rysh binary.

0:05When you run rysh web start, an embedded Go web server boots inside the same process -- nothing to install, zero external dependencies.

0:13The frontend does not run a second copy of your session. It connects to the very same embedded NATS bus and the very same actor hierarchy your terminal uses.

0:23State streams to the browser as a snapshot roughly every 200 milliseconds over a WebSocket -- so what you see in the browser stays in lockstep with the terminal.

0:33React on the front, Go and NATS on the back, all in one self-contained binary -- that is the whole web terminal stack.

Key takeaway
The web terminal is an embedded Go server plus React frontend over the session's own NATS bus, streaming ~200ms snapshots with no external dependencies.