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.
44 lines
2.1 KiB
Markdown
44 lines
2.1 KiB
Markdown
|
|
## 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. Then `git log` / `git status` show what changed.
|
|
- M1 is the git remote `m1`. If something truly must be committed from here,
|
|
push it with `git 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.
|