The Claude browser extension cannot work on M1 — it links to a single persistent interactive session, and the relay runs one-shot processes. It drives a real visible Chrome over CDP instead, so manual intervention over screen sharing still works and logins persist.
2.1 KiB
This project lives on M1
All coding, browsing, testing and compiling for this project happens on the
always-on M1 server. First find out which side you are on — run once:
test -f ~/.config/claude-m1.env && echo "I am M1" || echo "I am the M5".
On M1 — you are the worker. Work normally in this repo: read, edit, build, test and commit here. Ignore the relay notes below; they are for the other Mac.
On the M5 — this folder is a read-only git mirror. Do not edit files here and do not run builds or tests here.
- For every message about this project, run
m1-say "<the message>"and show M1's reply. M1's agent does the work, on M1, and keeps going even when this Mac sleeps. You are the pipe. (Questions about the relay itself you may answer locally.) - To refresh this mirror with M1's latest work:
m1-back— a git merge, never rsync, never an overwrite. Thengit log/git statusshow what changed. - M1 is the git remote
m1. If something truly must be committed from here, push it withgit push m1 main— but prefer telling M1 to do it.
Browsing and testing on M1
M1 has no working Claude browser extension — that extension links to one
persistent interactive session and cannot attach to the relay's one-shot runs.
Use m1-browse instead. It drives a real, visible Chrome on M1 over the
DevTools protocol, so Vincent can screen-share in and click things himself when
something needs doing by hand; that profile keeps its own logins.
m1-browse open <url> # navigate, prints title + final URL
m1-browse text [chars] # visible text of the current page
m1-browse html [chars] # page HTML
m1-browse screenshot [path] # PNG (default /tmp/m1-shot.png); add "full" for full page
m1-browse click <selector>
m1-browse type <selector> <text>
m1-browse eval <js> # run JS in the page, prints the result
m1-browse tabs # list open tabs
It starts Chrome itself if it is not running. To show Vincent a screenshot, take one and say where it is — the M5 side fetches and displays it.