Browser React SPA
Browser...
UI Components · Agent Panel · Workspace Panel · File Tree · Monaco Editor · Terminal (xterm.js)
UI Components...
httpserver Serves SPA + /ws
httpserver...
bridge · WebSocket ⇄ ACP · Event broadcast · Permission routing · History replay
bridge...
agent ACP session lifecycle
agent...
files Workspace file API
files...
terminal PTY per connection
terminal...
ACP Agent
(claude-code-acp)

JSON-RPC over stdio
session_update · permission_request
ACP Agent...
Go backend bridges browser WebSockets to ACP stdio, broadcasting agent updates to all connected browsers while routing permissions back to the waiting call.
Go backend bridges browser WebSockets to ACP stdio, broadcasting agent updates to all connected browsers while routing permissions back to the waiting call.
1. load SPA
1. load SPA
2. WebSocket /ws
2. WebSocket...
3. prompt + permission responses
3. prompt +...
4. session_update events (replay)
4. session_update...
5. ACP lifecycle
5. ACP...
6. stdio JSON-RPC
6. stdio...
7. updates + permissions
7. updates +...
file ops
file ops
shell I/O
shell I/O
Text is not SVG - cannot display