aiti-devtools
aiti-devtools (pi-web extension)
❝ AI shouldn't squint blindly at a screen; it should truly see the page. ❞
⚠️ Same name, different thing: this page is about the pi-web extension deployed at
~/.pi/web/extensions/aiti-devtools/; the npm-published injection SDK proper and the framework plugins (vite/webpack/nuxt…) are not extensions — they belong to a separate big topic → aiti-devtools integration (SDK proper in core, framework integrations in integrations, examples in examples).
What this extension does
The server side and wiring layer of aiti-devtools in the pi-web scenario:
- Injector: injects the launcher (fab/HUD/toolbar/AI window) + client (selection, event freeze, CDP-like command set) into pages accessed via pi-web
- Bridge: the message/session core between page ⇄ agent (claim/SSE/result protocol; browser side in
bridge-client.js) - MCP server side: the
aiti_*tool family is injected in-process into every agent session via Plan M (theserver.agentextension point), zero MCP config files; external standard MCP hosts go through the aiti stdio shim (registered by coremcp-config.ts, connected viaAITI_BRIDGE_URL)
AI self-management
AI can, for you: debug any page — and debug its own window too; AI manages itself.
ai:
manage: true
skills:
- Multi-surface debug targets: aiti_page_exec/snapshot/logs/network/bridge_status (CDP-class against any page)
- AI manages itself: the **AI main window (non-iframe)** additionally registers its own pageId `xxx/ai` into the bridge → CDP its own window (read dialogs / fill extension dialog forms / screenshot for review); **when there is no host, the main window itself is also under management (`xxx/ai` present, channel present)**
- User interaction: element pick / confirm / option / input / presence probing / notification
storage_dir: <dataDir>
page: Toolbar 🧰 AITIAfter hooking into ai-helper: result backfill goes through two channels — "API direct write" or "CDP backfill of extension dialog forms"; the latter is the AI window self-bridging via this extension (see aiti-helper).
Big-topic navigation
| Want to know | Go to |
|---|---|
SDK proper (@aiti-ai/aiti-devtools) | /en/devtools/core |
| Vite/webpack/Nuxt/Astro plugins | /en/devtools/integrations/* |
| Runnable examples per carrier | /en/devtools/examples |
| Injection principles / CDP command set | /en/devtools/inject · /en/devtools/cdp-commands |