diff options
Diffstat (limited to 'FORK.md')
| -rw-r--r-- | FORK.md | 42 |
1 files changed, 31 insertions, 11 deletions
@@ -1,14 +1,20 @@ # Fork notes -A fork of [tianrendong/pi-chrome](https://github.com/tianrendong/pi-chrome) that -lets pi on **other machines** drive one signed-in browser. It adds a remote mode -to the pi extension and a standalone broker for the browser's host. Without -`PI_CHROME_REMOTE` set, it behaves exactly like upstream. - -Not published to npm and not proposed upstream. +**sz-chrome-remote-extension**: driving a signed-in browser through its +companion extension, from other machines. A fork of +[tianrendong/pi-chrome](https://github.com/tianrendong/pi-chrome) that lets pi +on **other machines** drive one signed-in browser. It adds a remote mode to the +pi extension, a standalone broker for the browser's host, and `mcp/`, an MCP +server for the same tools. Without `PI_CHROME_REMOTE` set, the pi extension +behaves exactly like upstream. Until 2026-10 this repository was named +pi-chrome. + +Not published to npm and not proposed upstream. The package keeps upstream's +name, `pi-chrome`, in `package.json`: renaming it would conflict on every +rebase. ``` -origin https://git.soarez.net/sz/pi-chrome.git +origin https://git.soarez.net/sz/sz-chrome-remote-extension.git upstream https://github.com/tianrendong/pi-chrome.git ``` @@ -89,9 +95,22 @@ switching its tabs. ## MCP clients -[pi-chrome-mcp](https://git.soarez.net/sz/pi-chrome-mcp.git) serves these -tools to Claude Code, Claude Desktop and other MCP clients. Point its -`PI_CHROME_PATH` at this fork's `index.ts` to use remote mode. +`mcp/` serves these tools to Claude Code, Claude Desktop and other MCP clients; +its README has the setup. It loads the pi extension from this repository, +`../extensions/chrome-profile-bridge/index.ts`, so the server, the extension and +the broker always come from one commit. + +It was its own repository, pi-chrome-mcp, from 2026-09-25 (when it moved out of +this fork to stand alone, loading pi-chrome from npm) until 2026-10, when it +came back to keep everything that drives the browser through its extension in +one place. Its commits were replayed here with `git am --directory=mcp`, linear, +so they rebase like any fork commit. It touches no upstream file, so it never +conflicts. It keeps its own `package.json` and lockfile; `mcp/run.sh` installs +them into `mcp/node_modules`. + +Run it from a checkout of its own, not from pi's package clone +(`~/.pi/agent/git/...`): pi runs `git clean -fdx` there whenever it updates the +package, which deletes `mcp/node_modules`. ## Setup @@ -121,7 +140,8 @@ git push --force-with-lease origin master Then update the broker's checkout, restart it, and reload the extension in the browser. `/chrome doctor` reports a version mismatch until you do. -Expect conflicts in the places marked `FORK:` in `index.ts`: the bridge class's +Commits under `broker/` and `mcp/` never conflict. Expect conflicts in the +places marked `FORK:` in `index.ts`: the bridge class's bind, forward and status code (including `connectionStatus`, whose `/status` fetch carries the token), `session_start`, the remote prompt-section handler just ahead of upstream's primer, doctor, and `chrome_upload_file`. If upstream changes the extension↔bridge HTTP contract |
