Chrome Actuator
Unofficial companion: drive the Chrome window you already have open from an agent(tested with Grok Build). New work lands in a pink Actuator tab group inthe current session, not a new Chrome window.
tabs_create → snapshot → press @e12 / fill @e5 "text" → settle
v1 is an actuator, not a side-panel chatbot. The agent stays in the terminal.The extension sees the page, assigns @eN refs, and clicks/types. Your cookiesand logins stay in Chrome.
Not affiliated with, endorsed by, or sponsored by xAI. "Grok" and "GrokBuild" are xAI marks, used here only to describe compatibility. See NOTICE.
Status
Phases 0–3 are in. pnpm gauntlet covers unit tests, the content-scriptactuator, and a live Chromium tab driven through native messaging.
| Phase | What | State |
|---|---|---|
| 0 | Workspace, stable extension id, side panel | done |
| 1 | Native messaging heartbeat | done |
| 2 | snapshot / press / fill on a real tab | done |
| 3 | Agent plugin + /chrome + skill |
done |
Load the extension
cd /path/to/chrome-actuator
pnpm install
pnpm --filter @chrome-actuator/extension build
- Open
chrome://extensions - Enable Developer mode
- Load unpacked →
packages/extension/dist - Pin the extension and click it (or
Cmd+Shift+G)
Then register the native host (once) and fully quit Chrome:
node packages/host/dist/install.js
--trust on the plugin install lets the agent operate this Chrome profile.Only do that if you trust the agent.
grok plugin install ./packages/plugin --trust
Side panel should say connected once the MCP host is running.
pnpm gauntlet # unit + L3 + live native-messaging L4
Stable unpacked id (from the committed manifest key): lgkcgenkjaalkfnpmglgpfclkaokblfj
Decisions we will not reopen
- Brain in the agent, body in Chrome. No in-extension LLM loop in v1.
- Native messaging, not WebSocket, not Playwright, not agent-device-the-binary.
- agent-device contract only (
snapshot/press/fill). - No
chrome.debuggerin v1 (no yellow infobar). - Independent implementation. Do not copy another vendor's brand, marks, orreverse-engineered internals into this tree.
Layout
packages/shared protocol, snapshot grammar, target parser
packages/extension MV3 side panel + service worker
packages/host MCP + native host
packages/plugin Grok Build plugin (compatibility layer)
Tests
pnpm --filter @chrome-actuator/shared test
License
MIT. See LICENSE and NOTICE.