news 2026/9/29 8:03:52

爪爪 PawWork live-page action 完全实操手册:3 个核心 op 驱动真实网页

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
爪爪 PawWork live-page action 完全实操手册:3 个核心 op 驱动真实网页

爪爪 PawWork live-page action 完全实操手册:3 个核心 op 驱动真实网页

【免费下载链接】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 扩展,用 live-page action 工具直接驱动真实网页:先snapshot给页面控件拍快照,再用fill_form批量填表、click精准点按,让 AI 代理在你已登录的浏览器上替你操作,BYOK、沙箱化、无服务器。

一、live-page action 是什么:先拍快照,再动控件 🐾

普通网页自动化脚本靠 CSS 选择器硬编码,页面一改就崩。爪爪 PawWork 的action工具换了一条路:基于快照的引用(ref)机制。

  • ref(控件引用):形如f0.a12——f0是 frame 编号,a12是该 frame 内的控件序号,对模型是不透明 ID,不需要你写选择器。
  • rev(快照世代):形如t7,标记这份快照的"代"。页面每次变动后引用就会过期。
  • 回路固定:snapshot拿快照 → 用同一代ref + rev执行fill_form/click等变更 → 每次变更的返回里都会带一份新快照(新rev+ 新controls),继续下一轮操作。

快照采集时,每个 frame 最多收80 个可交互控件(可见优先、隐藏排后),覆盖input、select、textarea、button、a[href]、contenteditable等;密码框的值会被打码为***,避免泄露到模型上下文。实现见 content_script.js。

二、三步加载爪爪:从 clone 到第一次 action 🚀

  1. 拿到源码(无package.json、无构建步骤):git clone https://gitcode.com/gh_mirrors/pa/BrowserKitten
  2. 加载扩展:打开chrome://extensions→ 开启右上角开发者模式→加载已解压的扩展程序→ 选择仓库根目录(manifest.json 就在根上,要求 Chrome 135+)。
  3. 填入 API Key:打开侧栏粘贴一个 OpenAI 兼容接口的 Key(BYOK,只存在本地chrome.storage.local),然后在任意http(s)页面上直接发任务。

两个顺手的小快捷键(定义在 manifest.json):

快捷键作用
Alt+Shift+S开启/关闭"伸爪"页面点选,把选区作为上下文交给代理
Alt+Shift+C区域截图 → 剪贴板 + 对话附件

改过源码后在扩展卡片点重新加载即可。

三、op 详解:snapshot / fill_form / click 怎么用 🔍

模型可用的 op 共 8 个:snapshot/fill_form/click/fill/select/press/scroll/wait(完整 schema 见 tools.js)。你最常用的是前三个:

1. snapshot:给页面"拍张清单照"

不带参数调用action op=snapshot,返回当前 tab 所有 frame 的合并控件清单。清单里每个控件带 role(textbox / button / combobox…)、无障碍名(label、aria-label 或 placeholder)、当前值,以及ref。

使用原则:先 snapshot,再用这份快照的 ref + rev 去变更,不要凭空猜 CSS 选择器。

2. fill_form:一次填好整张表单 ✍️

fill_form的fields支持两种写法:

  • [{ ref: "f0.a12", value: "…" }]—— 精确引用
  • [{ name: "搜索框", value: "…" }]—— 用无障碍名回退,命中两个控件会返回AMBIGUOUS

多字段表单按frameId自动拆包分发到对应 frame,一次调用填完所有输入框。之后需要提交时再显式click提交按钮——代理默认不会替你提交表单,除非你明确要求。

3. click:精准点一下 🖱️

click带上最近快照的ref和rev即可。配套动作还有:

  • fill/select:单字段填值 / 下拉选择
  • press:按键(Enter、Tab、Escape、方向键、Space…),不指定目标时打给主 frame 的当前焦点元素
  • scroll:滚动页面
  • wait:等待某段text出现(上限 5000ms),或纯睡一小段时间(默认 300ms)

作用域与限制(30 秒读完)

  • action只作用于本轮消息打开的那个 tab(显式tabId),不会偷偷切到 Chrome 焦点标签;缺 tabId 会报NEED_EXPLICIT_TAB。
  • tab 租约:同一个 tab 正被另一个会话的 execution 占用时返回TAB_LEASED,防止两个会话同时改一个页面。
  • 限制页(chrome://、扩展页、Web Store 等)会返回NEED_PAGE。
  • chrome://extensions重新加载扩展后,快照世代rev会重置,需要重新snapshot。

四、常见错误码速查:出错了先看这里 🛠️

错误码含义怎么办
STALE_REFrev对不上或控件已卸载重新snapshot,用新ref+rev
AMBIGUOUSname命中多个控件改用ref精确引用
NO_TARGET无名无 ref / 零命中 / wait 超时核对快照清单里的名称
FILE_INPUT遇到文件上传控件脚本填不了,需手动上传
NEED_PAGE限制页 / 无 host换到普通http(s)页面
NEED_EXPLICIT_TAB本轮消息没带 tabId先打开目标页再发任务
TAB_LEASEDtab 被另一会话占用等另一个会话结束
BAD_INPUT缺op/fields/value等补齐参数重试

完整契约(参数表 + 错误码)写在 agent/AGENTS.md,跨 frame 扇出与租约的宿主侧逻辑见 src/AGENTS.md。

五、相关文件速览 📂

内容路径
action工具 schema 与执行入口src/agent/vnext/sessionWorkspace/tools.js
快照采集与 80 控件上限src/content_script.js
消息总线与跨 frame 运输src/background.js
产品架构与进程分层AGENTS.md
安装与测试说明README.md

一句话总结:snapshot 看、fill_form 填、click 点,三步回路配合rev世代防过期,就能让爪爪 PawWork 在你真实登录态的网页上稳定完成表单填写与点击任务——无需服务器、数据不出本机。

【免费下载链接】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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/29 8:01:51

Linux进程间通信(IPC)详解:管道、共享内存、消息队列与信号

Linux应用开发里,进程间通信(IPC)是绕不开的一块硬骨头。不管是写嵌入式后台服务、搞中间件,还是单纯为了面试和笔试,你都得把这几种通信方式吃透。这篇笔记我把管道、消息队列、共享内存、信号量、信号这些常见手段从…

作者头像 李华
网站建设 2026/9/29 8:00:30

高校宿舍楼综合布线实战设计:千兆到床头、十年不返工

简介:本资源是一份面向高校网络工程、通信技术及相关专业学生的《综合布线实训教程》课程设计成果,聚焦学生宿舍楼这一典型场景,系统解决多终端接入、多业务融合(数据/语音/视频/安防)下的结构化布线规划与实施问题。内…

作者头像 李华
网站建设 2026/9/29 8:00:12

乌克兰BlackEnergy病毒攻击SCADA实战复盘与防御

简介:这份PDF文档聚焦2015年乌克兰电力系统遭遇BlackEnergy病毒攻击并导致伊万诺-弗兰科夫斯克州大规模停电的真实事件,面向电力系统安全、工控信息安全方向的研究人员与运维人员,提供病毒机理分析与防御思路的参考。文档通过获取不同版本病毒…

作者头像 李华
网站建设 2026/9/29 8:00:08

Windows提权实用指南:敏感信息搜索与凭据收集全流程

1. 为什么敏感信息搜索是Windows提权的第一站考OSCP的时候我有个特别深的体会:真正让你省力的不是某个0day漏洞,而是系统自己堆在角落里的密码。Windows权限提升这条路,很多人一上来就翻内核漏洞、找exp,结果折腾半天不如先静下心…

作者头像 李华
网站建设 2026/9/29 7:58:46

Agent 设计模式拆解:从 Prompt 到 Multi-Agent

一、厘清两个概念:LLM vs Agent 很多人把"用 ChatGPT"当成"用了 Agent",其实两者差了一个"身体"。要理解 Agent 设计模式,先要分清这两个词。 LLM(大语言模型) 是一个文本进、文本出的…

作者头像 李华