3.9 KiB
3.9 KiB
Browser endpoints registry for mac-5 takeover and mac-7 automation
Date: 2026-03-18 Status: accepted
Purpose
Record the currently validated browser control endpoints so future automation and browser takeover tasks can reuse the right path without re-discovering ports.
mac-5 local intelligent browser takeover
Use OpenClaw local browser attach on mac-5 for takeover of the real local Chrome session.
Validated profile
- OpenClaw browser profile:
user - Driver/transport:
existing-sessionviachrome-mcp
Validation result
Validated on 2026-03-18:
openclaw browser --browser-profile user statusreturnedrunning: trueopenclaw browser --browser-profile user tabslisted live local tabs
Operational meaning
This is the preferred path for smart takeover of the browser running on mac-5 itself.
mac-7 browser automation service
mac-7 hosts the dedicated automation Chrome instance.
Persistent local CDP service
- LaunchAgent plist:
~/Library/LaunchAgents/com.lingyuzeng.chrome-cdp-mac7.plist
- Chrome executable:
/Applications/Google Chrome.app/Contents/MacOS/Google Chrome
- Dedicated profile dir:
~/.openclaw/browser/mac7-automation-profile
- Persistent local CDP listen address:
127.0.0.1:9333
- Validation:
http://127.0.0.1:9333/json/versionreturns standard CDP metadata andwebSocketDebuggerUrl
Persistent tailnet-facing listener
Validated on 2026-03-18:
- Tailscale IP on mac-7:
100.64.0.23 - Persistent tailnet listener:
100.64.0.23:9223 - Forward target:
127.0.0.1:9333 - LaunchAgent:
~/Library/LaunchAgents/com.lingyuzeng.chrome-cdp-tailnet-proxy-mac7.plist
- Proxy script:
~/.openclaw/bin/chrome_cdp_tailnet_proxy.py
- Validation:
http://100.64.0.23:9223/json/versionreturns200 OK- returned
webSocketDebuggerUrlis reachable on the tailnet-facing endpoint
Important caveat
tailscale serve is not the active solution here.
Observed status:
tailscale serve status=>No serve config
The durable implementation is instead LaunchAgent + Python TCP proxy.
So future tasks should treat the endpoints as:
- stable local automation endpoint on mac-7:
127.0.0.1:9333 - stable tailnet remote endpoint on mac-7:
100.64.0.23:9223
Usage guidance
- For mac-5 intelligent browser takeover: use OpenClaw local
userprofile. - For mac-7 automation on the same machine: use CDP on
127.0.0.1:9333. - For mac-5 controlling mac-7 across the tailnet: use the stable remote CDP endpoint
http://100.64.0.23:9223.
LaunchAgent correction after blank-tab loop incident
Validated on 2026-03-18 later the same day:
- The original
com.lingyuzeng.chrome-cdp-mac7LaunchAgent caused repeated blank tabs. - Root cause: the plist directly executed Chrome with
KeepAlive=trueandabout:blankinProgramArguments. - On macOS, Chrome detected the existing browser session, printed
正在现有的浏览器会话中打开。, exited with code0, and launchd immediately re-ran it. - This created a loop that kept injecting new
about:blanktabs into the same automation profile.
Corrected durable implementation
- LaunchAgent remains:
~/Library/LaunchAgents/com.lingyuzeng.chrome-cdp-mac7.plist
- It should no longer use
KeepAlive=trueto re-exec Chrome directly. - It should launch a wrapper script instead:
~/.openclaw/bin/start_chrome_cdp_mac7.sh
- Wrapper behavior:
- check whether
127.0.0.1:9333is already listening - if yes, exit without launching another Chrome instance
- if no, start the dedicated automation Chrome profile once
- check whether
Operational takeaway
- If future symptoms show many new
about:blanktabs appearing on mac-7, first inspectcom.lingyuzeng.chrome-cdp-mac7.plistfor accidental reintroduction ofKeepAliveor direct Chrome execution withabout:blank. - The repeated-tab issue was caused by LaunchAgent semantics, not by the remote CDP profile on mac-5.