爪爪 PawWork 浏览器智能体工具契约全览:9 大工具参数与错误码速查
【免费下载链接】BrowserKittenPaw 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.项目地址: https://gitcode.com/gh_mirrors/pa/BrowserKitten
爪爪 PawWork是一款面向 Chrome 的 selection-first 网页智能体扩展:在真实登录页面上框选、用一句话描述目标,就能带走一份可编辑的办公文件。它采用 BYOK(自带密钥)、本地沙箱运行、不经过任何服务器。本文以速查手册的形式,带你一次性看懂 PawWork 浏览器智能体的 9 大核心工具参数与常用错误码——inspect、acquire、run、clarify、action、task、sheet、doc、web——新手也能快速上手。
一、9 大工具总览:一页看懂分工
PawWork 的工具契约集中定义在 tools.js 与 officeTools.js 中。所有工具返回统一结构:成功时ok: true,失败时携带error、机器可读的code(即错误码)以及可选的hint修复提示。
| 工具 | 一句话职责 | 典型场景 |
|---|---|---|
🔍inspect | 只读探查会话状态 | 看选区、文件、表格采样、sys ABI 目录 |
🌐acquire | 把公网内容带入会话 | 搜索、抓取、建图、爬虫、生成图片 |
⚙️run | 沙箱“客用机” | 执行 JS/TS、注册表格/文档产物 |
💬clarify | 暂停并向用户提问 | 意图不清时提问、复杂任务出计划卡 |
🖱️action | 操作当前活动标签页 | 填表、点击、滚动、等待 |
📋task | 持久化任务状态 | 计划、检查点、完成、定时 |
📊sheet | 读写活动电子表格 | 单元格写入、排序、拆列 |
📄doc | 读写长文本文档 | 段落、列表、插图 |
🌍web | 编辑站点 HTML 产物 | 页面改版、动效蓝图 |
二、逐个工具看参数
1️⃣inspect:只读探查器
参数核心是view,取值groups、group、item、artifacts、files、skill、workbook、range、html、sys十种,配合offset/limit/maxChars分页读取。它不改变任何状态,是每次动手前的“安全侦察”。🔎
2️⃣acquire:公网内容接入器
唯一必传参数是action,枚举值为search、fetch、map、crawl、note、image:
search/map:需要query,可加limit限制条数fetch/crawl:需要url(支持页面别名如页面1)image:需要prompt,可选itemIds(图生图)、aspect_ratio、allowTextnote:把text存为会话内笔记
注意:它是匿名抓取,不带你的 Cookie;需要登录态的内容请走run+sys。🌐
3️⃣run:沙箱客用机
两种用法:传code执行 JS/TS 程序(沙箱内只有fs和sys两个接口,文件根目录为/context只读、/artifacts持久、/scratch本轮临时);或传op注册产物,如sheet、doc、write_artifact、ingestPdf等。⏱️ 超时上限 120 秒,代码正文超 24000 字符会被直接拒绝。
4️⃣clarify:暂停与提问
三种形态:单问question+options、多问questions[](1–4 个,支持multiSelect)、或计划卡plan { title, steps }。用户未批准计划前,智能体不会执行任何变更。🤝
5️⃣action:活动标签页操作器
必传op,枚举为snapshot、fill_form、click、fill、select、press、scroll、wait。关键规则:先snapshot拿快照,再用该代快照的ref(如f0.a12)+rev(如t7)做变更;每次变更后页面会返回新快照。wait的ms上限 5000。🖱️
6️⃣task:持久任务管理器
op取inspect、plan、checkpoint、wait、complete、schedule(定义见 taskTool.js)。其中wait/complete会持久化状态并立即让出执行权,适合长任务跨轮接力。📋
7️⃣sheet:电子表格读写
必传act:read(采样读取)、write(应用commands[])、snapshot(导出 CSV 到/scratch)。write支持的命令包括setRange、setFormula、applyGrid、insertRow/Col、deleteRow/Col、sort、numberFormat、reshapeSplit(拆列)、insertCellImage等。成功写入会返回 readback 回读,请以回读值为准。📊
8️⃣doc:文档读写
act为read或write。长文建议先由run写出 JSON 文件,再通过path/from指向/scratch或/artifacts下的commands[]/blocks[],避免直接复述全文。📄
9️⃣web:站点 HTML 编辑器
编辑会话内已注册的站点产物(HTML 画布),支持改版、动效蓝图等;对真实登录页面的普通点击/填表请用action,二者不要混用。🌍
三、错误码速查表 🚨
所有工具失败都会返回code字段,下表是最常见的一批(完整返回结构见 tools.js):
| 错误码 | 常见出处 | 含义与处理 |
|---|---|---|
NEED_PAGE | action | 当前没有可用的活动页面,切到普通http(s)页面重试 |
CDP_BUSY | run(sys) | 目标标签页 DevTools 未关闭,关闭后重试 |
NEED_TAB | inspect/ 预览 | 缺少对应活动标签页,打开目标页重试 |
TAB_LEASED | action | 同一标签页被另一个会话占用,请切换会话或标签页 |
STALE_REF | action | rev快照版本过期,重新snapshot后操作 |
AMBIGUOUS | action | name匹配到多个控件,改用ref精确指定 |
BAD_INPUT | 全部工具 | 参数缺失或非法,按返回的hint修正 |
NET_DENIED | acquire | 目标 URL 被网络守卫拦截(策略见 netGuard.js) |
MISSING_QUERY/MISSING_URL/MISSING_PROMPT | acquire | 分别缺少query/url/prompt |
NOT_FOUND/AUTH_DENIED | inspect等 | 资源不存在 / 不属于本会话(鉴权见 auth.js) |
NO_CANVAS | sheet/doc | 会话还没有画布,先用run op=sheet注册工作簿 |
NO_SUCH_SHEET | sheet | 指定工作表不存在,省略sheet作用于活动表 |
SNAPSHOT_TOO_LARGE | sheet | 快照范围过大,缩小a1范围 |
IMAGE_UNRESOLVED | sheet | 图片src无法解析为像素,改用路径 /wi_id /图片N |
ENOENT/FS_DENIED | run/doc | 文件不存在 / 无该路径写权限(见 officePathHydrate.js) |
NO_PIXELS/TOO_LARGE | 图片处理 | 拿不到图像字节 / 图像超限(见 itemPixels.js) |
USE_CANVAS | run写 HTML | 该 HTML 写入被策略拦截,应走画布工具(见 htmlWritePolicy.js) |
ARTIFACT_CONFLICT | 产物更新 | 版本冲突,按expectedRevision提示刷新后重试 |
NOT_PENDING | clarify | 当前没有等待回答的澄清 |
TASK_UNAVAILABLE/TASK_YIELDED | task | 任务宿主不可用 / 任务已让出,本轮不能再跑工具 |
SYS_FAILED/HTTP_ERROR | run(sys) | 宿主系统调用失败 / 页面 fetch 返回非 2xx(见 browserSys.js) |
💡 小技巧:遇到失败先看
hint字段——PawWork 的多数错误都自带一句“下一步怎么改”的中文友好提示。
四、典型协作流程:选区 → 表格
- 选区:在登录好的页面上框选内容,PawWork 自动绑定为组/条目;
inspect view=groups确认拿到的素材清单;run op=sheet注册工作簿(或run code加工数据后注册);sheet act=write应用命令写数据,按 readback 校对;action回到真实页面做点击/提交(先snapshot);- 需要追问时用
clarify暂停,复杂任务用task持久化检查点。
这套契约也解释了 PawWork 的三大卖点:BYOK(密钥只存本地chrome.storage.local)、沙箱(run在客用机中执行)、无服务器(流程见 README.md 与 AGENTS.md)。🐾
五、延伸阅读 📚
- 工具契约总入口:tools.js
- 办公画布工具(sheet/doc/web):officeTools.js
- 网络守卫策略:netGuard.js
- 任务调度与状态模型:taskTool.js、tasks.js
- 项目架构说明:AGENTS.md、src/agent/AGENTS.md
- 纯 Node 回归测试:runtime-regression.test.mjs
把这份速查表收藏起来,下次 PawWork 返回一个陌生code时,你只需两秒钟就能定位原因、按hint修复——这就是工具契约的价值。✅
【免费下载链接】BrowserKittenPaw 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.项目地址: https://gitcode.com/gh_mirrors/pa/BrowserKitten
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考