JoaxClaw in your browser
The web version runs the same app as the desktop build, in a browser or installed as a phone app. It's hosted here for sponsors — and it's MIT-licensed, so you can always host it yourself for free instead.
Before it will work
Two things are required by the browser and by your own gateway — neither is something this site can do for you:
- Your gateway needs TLS (a
wss://address). A page served over HTTPS cannot open a plainws://socket, so a bare LAN gateway won't connect. Tailscale Serve or any TLS-terminating proxy in front of your gateway works. - This origin has to be allowed by your gateway. In your gateway's
~/.openclaw/openclaw.json, add the full origin — scheme included, no trailing slash — togateway.controlUi.allowedOrigins:
Merge it into any{ "gateway": { "controlUi": { "allowedOrigins": ["https://www.joaxclaw.ai", "https://joaxclaw.ai"] } } }controlUisettings you already have rather than replacing them. Loopback, private-range,.local, and.ts.netorigins are accepted automatically — a public domain like this one is not.
Editing it in JoaxClaw (Gateway → Config) writes to the gateway you're connected to and hot-reloads it; editing the file by hand needsopenclaw gateway restart.
Your phone or browser then pairs as its own device: it generates a key, and you approve
it once on the gateway host with openclaw devices approve --latest. Your
gateway token and that key stay in your browser — see the
privacy policy.
Or host it yourself, free
Nothing here is exclusive. The web app is part of the public repository, and the build has no server component:
git clone https://github.com/joax/joaxclaw
cd joaxclaw
npm install
npm run build:web # static bundle → out/web
Serve out/web from anywhere your phone can reach over HTTPS. If you serve
it from the gateway host itself, or any .ts.net / private-range origin, you
don't even need the allowedOrigins change above. Sponsoring buys you the
convenience of not doing this, and it funds the project — not access.