PawWork_ZhuaZhua
Health Pass
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 209 GitHub stars
Permissions Warn
- Permission: offscreen — Manifest requests 'offscreen' which grants fs access
Code Fail
- spawnSync — Synchronous process spawning in scripts/build-agent.mjs
- process.env — Environment variable access in scripts/build-design.mjs
- process.env — Environment variable access in scripts/build-docs.mjs
- process.env — Environment variable access in scripts/build-sheet.mjs
No AI report is available for this listing yet.
Paw Work - selection-first web agent for Chrome: select on the live page, describe the outcome, take away an editable office file. BYOK, sandboxed, no server.
爪爪 · Paw Work
Select on the live page. Describe the outcome. Take away a real file.
English · 中文
[!IMPORTANT]
Just want to use Paw Work? Do not clone this whole repository. You do not need the developer files. Clone only branchunpacked(~44 MB). That folder is the Chrome extension (manifest.jsonat the root).Clone creates
paw-workunder the directory where you run the command, not a fixed Desktop path. If you run it from your user home, that isC:\Users\yyy\paw-work. Git cannot print the path by itself — the last line of the block below does. In Chrome, Load unpacked that printed folder.Windows (PowerShell) — paste this whole block:
git clone --depth 1 --single-branch --branch unpacked https://github.com/Player-YN/PawWork_ZhuaZhua.git paw-work (Get-Item .\paw-work).FullNamemacOS / Linux:
git clone --depth 1 --single-branch --branch unpacked https://github.com/Player-YN/PawWork_ZhuaZhua.git paw-work realpath paw-workThen: Chrome →
chrome://extensions→ Developer mode → Load unpacked → select the folder whose path was just printed.No git? On this GitHub page: Code → switch the branch to
unpacked→ Download ZIP. Unzip, then Load unpacked the folder that containsmanifest.json.Optional, same bytes: the Release zip (
paw-work-unpacked.zip). Unzip and Load unpacked the innerpaw-workfolder.
SELECT + DESCRIBE OUTCOME → DELIVER
What you can do · See it · How it works · Install · Trust · Limitations
What it is
Paw Work is a Chrome MV3 extension. Turn Paw Mode on, point at images, tables, text, blocks, or links on the page you already have open, then say what you want in the sidepanel. It returns editable office files on live canvases — not a chat essay about the page.
It is not an unattended Operator that roams the web for you, and not a terminal coding agent. It sits beside the browser world you are already logged into: you set the scope, it returns something you can check.
Who it is for
| For | Not a first choice for |
|---|---|
| People who already work in the browser — compare, extract, export, turn a page into a sheet, deck, poster, site, or long doc | Unattended RPA (cross-site checkout, submit, pay) |
| Work that starts on a page you are already looking at (shop, SaaS, docs, article) | A coding-agent home: Docker, local shell, million-file repos |
No account. No server. You bring your own model keys.
What you can do
| On the page | You ask for | You take away |
|---|---|---|
| Product photos, tables, copy, blocks, links | “Make a comparison sheet” | A live spreadsheet (Univer) you can keep editing |
| The same selection, or a blank workspace | “Make an 8-page deck / one poster” | Design/Slides on a tldraw canvas; decks export to PPTX |
| The current page | “Make an editable site, with entrance motion” | Real HTML. Tweaks stay on that file. Site QA gates quality |
| Long notes or a transcript | “Turn this into a document” | A document canvas |
| Need a picture or a lookup | “Generate in this style / search, then put it in the sheet” | Images in the workspace; search uses your web-acquire key |
You can run more than one task in the same session. @ mentions a capture. Empty templates for sheet / slides / docs / site sit at the foot of the workspace rail.
Try asking:
- Turn these product cards into a comparison sheet.
- Make a poster from the selected images.
- Rebuild this page as an editable site.
- Turn these notes into an 8-page deck.
- This is messy — show a plan first and wait for my approval.
Complex work can yield a plan card before it writes: Approve, Decline, or Required to change (you leave notes; it revises the plan; the old card stays). It does not silently expand outside what you selected.
See it
Selecting product photos on a live Apple page. The sidepanel holds the capture; the next line is the outcome.

A live spreadsheet beside the sidepanel. The agent is splitting a SKU column on the open workbook — not dropping a second file into chat.

How it works
- Turn Paw Mode on (off = normal browsing).
- Click what matters on the page.
- In the sidepanel, describe the outcome.
- Open the file from the workspace rail. Click a node, say the change, only that node changes.
Live page (Paw on) → select → sidepanel → live canvas / file
Not listed on the Chrome Web Store yet. Passersby: clone only branch unpacked (see the box at the top) — do not clone this source tree. Then: Paw on → paste a model key → select something → say one sentence.
Trust & privacy
- No account, no Paw Work server, no hosted model quota.
- Keys live in Chrome extension storage on your machine and are sent only to the HTTPS endpoints you set.
- Model-generated code compiles with packaged esbuild-wasm and runs in a QuickJS VM. It never sees
chrome.*, the live page DOM, or another session’s files. No executable code is loaded from a CDN. - Capture is what you pointed at, not the whole site. The agent inspects on demand. You can stop a run; it must not keep working in the background.
Install
If you just want to use it — do not clone this whole repository. Clone only branch unpacked.
- Paste the PowerShell (or macOS/Linux) block at the top of this README. The last line prints the absolute path of
paw-work. - Open Chrome →
chrome://extensions - Turn on Developer mode
- Load unpacked → select the folder whose path was printed (
manifest.jsonis at that root)
No git? Code → branch unpacked → Download ZIP, unzip, then steps 2–4. Same pack is also on the Release page as paw-work-unpacked.zip.
No Node, no npm install. Do not load the source-repo root.
Build from source (contributors)
Prerequisites: Node.js 20+, npm, Chrome 120+.
git clone https://github.com/Player-YN/PawWork_ZhuaZhua.git
cd PawWork_ZhuaZhua
npm install
npm run build:agent
npm run pack:extension
Then Load unpacked → artifacts/unpacked/. After npm install the folder is hundreds of megabytes (node_modules). Do not load the repository root. Rebuild (npm run build:agent) and reload after pulling.
How to build and test: CONTRIBUTING.md.
Bring your own keys
Nothing runs without them. Configure in the sidepanel settings.
- Chat — any OpenAI-compatible HTTPS endpoint (base URL + key + model).
- Image (optional) — its own base URL / key / model; empty fields inherit chat. OpenRouter’s image origin is filled by the template.
- Web search / fetch (optional) — your search or crawl keys. Without them, fetch can still do an anonymous GET.
- tldraw license (optional) — removes the Design/Slides watermark; see Limitations.
Stack
Chrome MV3 extension. Sidepanel talks to an in-extension workspace (no Paw Work cloud). Spreadsheets and documents: Univer. Posters and slides: tldraw. Sites: real HTML. Generated JS runs in a local WASM sandbox. Files persist in the browser (IndexedDB + OPFS). MIT code in this repo; third-party engines in THIRD_PARTY_NOTICES.md.
Runtime contracts (isolation, writes, tools) live in docs/SESSION_WORKSPACE_RUNTIME.md and docs/PROMPT_RUNTIME.md. Host path: constitution § Host path.
Limitations
- Not on the Chrome Web Store yet. Clone branch
unpacked(or the same-bytes Release zip). GitHub sideload is a stopgap; CWS is the later front door. - Extension only. Chromium MV3. No hosted service, no account.
- BYOK required. Chat, image, and web-acquire each need your keys.
- tldraw watermark. Without a production license from tldraw, Design/Slides shows the official watermark. Hiding it with CSS/DOM is not supported and not acceptable.
- Capture is not full truth. Selection is intent; the agent inspects on demand and may ask once when the outcome type is genuinely unclear.
- Not a full Excel / PowerPoint / browser-RPA replacement. Live canvases are the work surface. It will not roam, pay, or submit for you unattended.
License
MIT for the code in this repository — LICENSE. The source tree does not ship Univer/tldraw runtime bundles (you build those locally). The unpacked branch and the Release zip include those builds, plus a verbatim tldraw license.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found