Chrome DevTools MCP is great, but it doesn't work if you're building browser extensions, embedded Webviews, or any non-standard runtime. Found an open source alternative: vite-plugin-pilot — live demo: https://2234839.github.io/vite-plugin-pilot/
Instead of connecting through Chrome's debugging protocol (the official backdoor), it plants an agent inside your page (the insider approach). So it works anywhere a browser runs — extensions, Webviews, custom clients, even regular frontend development.
The core idea is simple: it lets AI agents eval JS in the browser, so they can check their own frontend code for bugs, interact with the page, and verify that everything looks right.
It's also useful for exploring how to implement things in weird runtime environments. The agent can explore on its own, and these are places where Chrome DevTools MCP and similar tools just don't work.
Some things it can do:
-
Standalone server mode —
npx pilot server, no Vite required. Connect to any website through a Tampermonkey userscript or a console bridge script. Not tied to Vite projects anymore. - Browser-to-Claude Code channel — Alt+Click any element on the page, and it generates a prompt you can send directly back to Claude Code. No more copy-pasting between browser and terminal. (Full disclosure: this feature requires a Claude Code Pro/Max account, haven't tested it myself)
- Multi-tab support — agent can switch between tabs, each tracked independently.
- Vue/React aware — handles v-model, scheduler quirks, etc.
One thing that's kind of interesting: this whole project was iterated on by AI (glm5-turbo + Claude Code). It started as a single vite-plugin.ts file, and the project itself used its own playground to test and improve itself. Since it was built by an agent using the plugin, it's pretty well tuned for how agents actually use it.
MIT licensed, TypeScript, works with any Vite project.
P.S. Sorry if the English is a bit off — my English isn't great, so this post was translated and polished by AI from my original Chinese notes. If anything reads weird, that's on me (and my AI translator 😅)
Top comments (0)