BrowserKitten
爪爪 · 完全解放版 (PawWork_ZhuaZhua) is a Chrome MV3 unpacked extension. It runs a side-panel agent that can drive the current tab (action), execute guest JS against the browser (sys inside run), and keep sheet / Univer doc / site HTML artifacts in the session.
Not on the Chrome Web Store. No hosted model — bring your own key.
Load it
- Clone this repo, or download a Release zip
- Chrome →
chrome://extensions→ Developer mode → Load unpacked → select the folder (manifest.jsonis at its root) - Open the side panel → paste an OpenAI-compatible API key (BYOK; stored in
chrome.storage.local) → send a task on a normalhttp(s)page
After editing files, click 重新加载 on the extension card. There is no package.json and no build step.
Needs Chrome 135+. On Chrome 138+, enable Allow User Scripts on the extension details page if you want sys.eval or page-identity fetch. Close DevTools on the target tab before using sys.cdp (otherwise CDP_BUSY). Restricted pages such as chrome:// and the Web Store return NEED_PAGE.
Tests
node --test tests/runtime-regression.test.mjs # pure Node, no browser
node tests/browser-smoke.cjs <path-to-playwright> # loads the real extension
Architecture
Side panel → service worker → offscreen SessionWorkspaceService → AI SDK ToolLoopAgent. Process layering, domain objects, tool contracts, and the unimplemented boundaries are documented in AGENTS.md and the nested AGENTS.md files under src/.
Release packaging: python scripts/pack_extension.py --zip dist/pawwork.zip.
License
MIT. Third-party components: THIRD_PARTY_NOTICES.md.
