A hardened version of the OpenClaw Browser Relay extension that survives WebSocket disconnects, MV3 service worker restarts, and tab lifecycle events.
Upstream PR: openclaw/openclaw#17588 If/when the PR is merged, this repo may be archived.
The stock Browser Relay extension has several failure modes that require manual re-attachment:
| Problem | Stock | This Fork |
|---|---|---|
| Gateway restart / WS drop | ❌ Debugger detached, extension goes dead | ✅ Keeps debugger, auto-reconnects |
| MV3 service worker killed | ❌ All state lost, appears attached but dead | ✅ State persisted & restored |
| Tab closed/replaced | ❌ Stale entries left in memory | ✅ Proper cleanup listeners |
| Worker idle timeout (~30s) | ❌ Worker terminated, sessions killed | ✅ Keepalive alarm every 4 min |
Keep debugger sessions alive when the relay WebSocket closes. Show ⏳ badge while reconnecting. Re-announce sessions when WS recovers.
Retries connection with backoff (1s → 2s → 4s → ... → 30s cap) + jitter. On reconnect, verifies each tab's debugger and re-announces to the relay.
Saves tab/session state so MV3 service worker restarts can recover without user intervention.
Listeners for chrome.tabs.onRemoved and chrome.tabs.onReplaced to clean up stale entries.
A relay-keepalive alarm (every 4 min) that keeps the worker alive, pings debugger sessions, and triggers state recovery if needed.
Permanent WS onclose/onerror handlers are installed inside onopen (before the connect promise resolves) to eliminate the race window where a WS drop could go unnoticed.
- Download or clone this repo
- Open Chrome/Edge →
chrome://extensions(oredge://extensions) - Enable Developer mode
- Click Load unpacked → select this folder
- Pin the extension icon in the toolbar
- Click the extension icon → Options
- Set the Port (default:
18792) - Enter your Gateway token (from
openclaw.json→gateway.auth.token) - Click Save
- Start OpenClaw Gateway (
openclaw gateway start) - Navigate to any page you want to automate
- Click the extension toolbar icon — badge turns ON
- OpenClaw can now control that tab via the
browsertool
- Edge (Chromium) on Linux
- 12+ hours continuous uptime with automated cron jobs (Suno music pipeline)
- Multiple gateway restarts — auto-reconnect worked every time
- Edge Sleeping Tabs — keepalive prevented worker termination
MIT — same as OpenClaw.
Based on the Browser Relay extension from OpenClaw by Peter Steinberger. Resilience patches by @Unayung.