Pilot lets any agent harness click, type, fill forms and take small screenshots in your Chrome. It works in background tabs, so you keep working. You click Connect to let it in.
A Chrome extension, a relay on your machine, and a command-line client. Nothing leaves your computer.
The relay only listens on localhost. A Chrome profile shows up when the Pilot extension connects. Turn auto-connect off for a manual handshake every time.
# one relay, many profiles
node cli.js '{"action":"shot"}' --profile work
Pilot clicks, types and takes screenshots in inactive tabs while you keep working. Driven tabs go in a yellow Pilot group, so you can see what the agent touches.
# no tab switch, no stolen focus
node cli.js '{"action":"snap"}'
An on-device OCR tool built on macOS Vision reads the screenshots. No API key and no upload.
./ocr /tmp/page.jpg # text ./ocr /tmp/page.jpg --json # boxes
Your agent sends JSON to the CLI. Pilot does it in the page and answers.
Relay status: unknown
node cli.js --statusWho is connected{"action":"snap"}Title, URL, text and clickable items{"action":"click","sel":"button.x"}Click by CSS selector{"action":"clickText","text":"Save"}Click by visible text{"action":"clickXY","x":100,"y":200}Click at a point{"action":"type","text":"hi"}Type into the focused box{"action":"key","key":"Enter"}Press a key{"action":"fill","sel":"#name","value":"Ada"}Set an input{"action":"form"} · {"action":"dialog"}Read the open form or dialog{"action":"tabs"} · {"action":"navigate"}Tabs and navigation{"action":"shot"}Small screenshot to ~/.pilot/shots/Node.js and Chrome. The OCR tool needs macOS.
node server.js
chrome://extensions → Developer mode → Load unpacked → extension/
node cli.js '{"action":"snap"}'Copy the install and usage steps. Paste them into any agent harness, and it knows how to drive your Chrome.