Hey everyone β quick update on my side project, ACP UI.
A couple of days ago I shared that ACP UI had landed as native iOS and Android apps, so you could connect to any remote ACP agent right from your phone. Cool, but I figured⦠why stop there?
So I kept hacking, and now there's one more thing:
π ACP UI is now a web app
Just open this URL in any browser β desktop or mobile, doesn't matter:
That's it. No install, no setup, no app store. Pop it open and you can connect to any remote ACP agent over WebSocket.
What you can do with it
- Talk to any ACP-compatible agent β Copilot, Claude Code, Codex, Gemini, Qwen, Auggie, Qoder, OpenCode, OpenClaw, you name it
- Run it from your laptop browser, your phone browser, or as a native desktop / iOS / Android app β same UI everywhere
- Connect to remote agents over
ws://(LAN) orwss://(anywhere, e.g. via Dev Tunnels) - Manage multiple sessions, switch between agent modes, pick models, see tool calls as they happen
- Built-in Traffic Monitor so you can watch the raw ACP protocol go by β handy for debugging
- A
$/pingheartbeat keeps your WebSocket alive through NAT and proxy idle timeouts, so your session doesn't randomly drop after a minute
Where ACP UI runs today
- π Web β https://acp-ui.github.io/
- π₯οΈ Desktop β Windows, macOS (Apple Silicon + Intel), Linux (x64 + ARM64)
- π± Mobile β Android (APK on Releases), iOS (build from source)
One client, six platforms. Same chat, same sessions, same agents.
Heads up: HTTPS pages need wss://
Since the hosted site is on https://, your browser won't let it open plain ws:// connections (mixed-content rule). Two options:
-
Easy: front your local agent with a
wss://URL β Microsoft Dev Tunnels gives you one for free. -
LAN-only: clone the repo and run
npm run preview:weblocally, thenws://<LAN IP>:3000/works fine.
Both flows are documented in the repo.
How did I pull this off?
One word: Tauri.
Same Vue frontend, swap the runtime β desktop gets a native shell with a system WebView, mobile gets WKWebView / Android WebView, web gets a plain browser tab. The ACP transport, the chat UI, the session management, all of it is reused as-is. The web build just throws away the local-subprocess code path and talks to remote agents over WebSocket only.
Try it / star it / break it
- π Web app: https://acp-ui.github.io/
- π» Source code (MIT): https://github.com/formulahendry/acp-ui
Issues, PRs, and stars all very welcome. Have fun connecting to your favorite agent from⦠literally anywhere.
Top comments (0)