Repository navigation
Conversation
Host Settings ▸ Agent browser (per host, synced, default off) lets agents on that host open and operate web pages beside its terminal via `mpx browser` (mpx-cli PR). The app runs `mpx bridge` over its own SSH connection and serves requests against AGENT viewport tabs only. - Tabs: helpers in an isolated WKContentWorld (still no message handler — the page gets no bridge), the host's own data store, docked beside the agent's tmux session on a window that is on screen; focus taken only through AgentFocusGate (never mid-typing, once per 30 s per host). - Route: pages load THROUGH THE HOST — a loopback CONNECT proxy for the tabs' data store, every connection an SSH direct-tcpip from the host, so the device's LAN is never on the path. A real device never proxies loopback, so host localhost ports are forwarded on the device, admitted by an HttpOnly per-proxy cookie (`forward --open` opts a port out) and closed with the host's last agent tab; a loopback rule list blocks every other device port. WebRTC is removed from agent tabs. - Robustness: bounded wire integers and buffers, per-host quotas, stale requests dropped after suspension (bridge clock from trusted pongs), revocation cancels in-flight work and closes the host's tabs, the link redials on network change, backpressured tunnels.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Host Settings ▸ Agent browser (per host, synced, default off) lets agents on that host open and operate web pages beside its terminal with
mpx browser. CLI side: multiplex-term/mpx-cli#2, which also ships themultiplexskill and the Claude Code plugin.mpx bridgeon its own SSH connection (SSHConnection.openLineChannel, a PTY-less login shell) and speaks JSON lines with it (AgentBrowserWire, pure).wireInteger).ViewportController.Agent). Agents can drive only the tabs they opened.WKContentWorld. There is still no message handler, so the page gets no bridge into the app.⌗ AGENTlabel.AgentFocusGate: never while the user is typing, at most once per 30 s per host.AgentBrowserProxy).localhost, so host loopback ports are forwarded on the device.mpx browser forward <port> --openopts a port out of the cookie check. Re-checking the port closes the connections admitted while it was open.AgentProxySplice).MULTIPLEX_AGENT_ROUTE=devicekeeps the old device route, for measurement.docs/agents/links-and-viewers.md("Agent tabs"),architecture.md,e2e-headless.md. Strings are translated (zh-Hant, ja), and the TestFlight note is added.Testing
AgentFocusGate, docking order, splice backpressure, and the composed AGENT label.--openbehaves: checked → refused, open → reached, re-checked → refused.local-plan/agent-browser.md(not committed).Known limits
--open.*.localhostis not admitted;https://localhostworks only on an open port.