尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

解锁浏览器超能力:爪爪 PawWork 的 sys 系统调用(tabs/eval/fetch/cdp)详解

发布时间:2026/9/29 7:52:01

资讯中心
01
ARTICLE

解锁浏览器超能力:爪爪 PawWork 的 sys 系统调用(tabs/eval/fetch/cdp)详解

解锁浏览器超能力:爪爪 PawWork 的 sys 系统调用(tabs/eval/fetch/cdp)详解
解锁浏览器超能力爪爪 PawWork 的 sys 系统调用tabs/eval/fetch/cdp详解【免费下载链接】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 侧栏 AI 助手扩展在真实网页上选区、描述想要的结果就能带走一份可编辑的 Office 文件。它的底层杀手锏是sys系统调用表pawwork-sys-v1——模型可以在沙箱里编程你的浏览器管理标签页、在页面内执行代码、带登录态抓取数据、直连 CDP。全程 BYOK自带密钥、沙箱隔离、无服务器。一、什么是 sys浏览器机器的「系统调用表」PawWork 把「已登录的 Chrome」当作一台可编程的电脑。模型写的代码运行在 QuickJS 访客沙箱里故意拿不到chrome.*、window、document这些浏览器全局对象。想操作浏览器唯一的路径就是sysguest 沙箱代码 → sys.* → Service Workerworkspace_sys→ 浏览器真实能力沙箱侧的 ABI 目录与调用约定见 browserSys.js其中SYS_OPS就是全部系统调用清单help、capabilities、tabs.*、eval、waitFor、fetch、cdp、download、screenshot。Service Worker 侧的 syscall 实现在 browserSysHost.js它负责超时控制、取消、tab 租约和权限探测。sys不是独立的 AI 工具而是run工具里一段沙箱代码可调用的「系统调用表」。完整的调用目录可用inspect viewsys或sys.help()查看说明文本维护在 browserSys.js。二、sys.tabs打开标签页的「进程表」sys.tabs.*一族操作标签页就像操作系统的进程管理调用作用sys.tabs.list列出所有打开的标签id、url、title、active、groupId、是否可注入sys.tabs.current取本轮焦点标签否则取 Chrome 当前活动标签sys.tabs.frames列出某标签的全部 frame含 iframesys.tabs.open打开新标签仅允许http(s)或about:blanksys.tabs.navigate/reload/focus导航 / 刷新 / 聚焦sys.tabs.close关闭标签⚠️ 注意open成功后会自动占用该 tab 的租约防止多个会话同时操作同一标签页报错码TAB_LEASED实现见 browserSysHost.js。三、sys.eval在页面内部执行代码sys.eval({ code, world, tabId?, frameId? })是威力最大的调用code是一个async 函数体返回值必须能 JSON 序列化。关键概念是world世界️MAIN 世界页面自己的 JS 堆 页面 cookie能读到页面状态、调用页面函数️USER 世界扩展自有世界能碰 DOM但碰不到页面 JS。硬性限制新手最容易踩的坑代码上限 100,000 字符单次 eval 约 20 秒超时只允许注入普通http(s)页面chrome://、扩展页等返回NEED_PAGE返回 DOM 节点或函数会得到NOT_CLONEABLE超大结果得到TOO_LARGE。想要「等一会儿再判断」别手写轮询——用sys.waitFor({ code | selector | text, timeoutMs?, stableMs? })它在页面内部轮询timeoutMs最高可到 120 秒stableMs 0还能等流式输出「稳定下来」才返回。实现细节见 browserSysHost.js。四、sys.fetch两张网卡「页面身份」vs「扩展身份」sys.fetch({ as, url, tabId?, init?, saveTo? })有两条身份通道这是 PawWork 抓取登录页内容的核心设计as身份特点page页面身份在目标标签的 MAIN 世界发起 fetch带 cookie origin Referer与页面共用你的公网 IP。需要登录态、验证码、Referer 的链接默认走这条extension扩展身份credentials: omit不带 cookie仅用于无 cookie 的扩展网络或页面因 CORS 无法 fetch 的场景两个实用参数saveTo: /scratch/…或/artifacts/…把响应字节直接写进访客文件系统只返回文件回执避免大文件撑爆上下文上限 8MB超出报TOO_LARGE。省略as时宿主按extension处理——建议永远显式传as。这套「双网卡」语义的完整规则写在 browserSys.js宿主分发逻辑见 browserSysHost.js。五、sys.cdp直连 Chrome DevTools Protocolsys.cdp是一条CDPChrome DevTools Protocol管道让模型直接下发 DevTools 协议命令发送sys.cdp({ method, params?, tabId?, targetId? })自动 attach协议版本 1.3会话{ action: attach | detach | events | targets }经典用法attach Network.enable再action: events读取已发出的请求列表。使用红线新手必看目标标签的DevToolsF12必须关闭否则返回CDP_BUSYattach 期间 Chrome 会显示「正在调试」横幅别用Network.getResponseBody倒媒体——结果上限约 6MB媒体应把 URL 交给sys.fetch as:page去下载CDP 事件是定长环形缓冲上限 300 条不是完整日志。超时与容量常量集中在 browserSysHost.js普通调用 20s、waitFor120s、CDP 60s。六、其余调用与通用错误码速查除了四大主角sys还有sys.capabilities()实时探测 userScripts / debugger / 截图 / 下载是否可用及大小限制——选执行路线前先探一次sys.download({ url, filename? })走chrome.downloads用本 profile 的 cookie 罐 本机 IP 下载大文件sys.screenshot({ tabId?, format?, saveTo? })视口截图目标标签必须可见否则TAB_NOT_VISIBLE。错误码含义NEED_PAGE目标不是可注入的 http(s) 页面TAB_LEASED该标签正被另一个会话的 execution 占用TOO_LARGE结果超过大小上限fetch 8MB / CDP 6MBNOT_CLONEABLE返回值是 DOM 节点或函数无法 JSON 序列化CDP_BUSYDevTools 或其他调试器已 attachSYS_ABORTED/SYS_TIMEOUT等待结束但已派发的页面副作用可能已完成——重试前先查证状态七、新手上手三步跑通第一个 sys 调用加载扩展Chrome 打开chrome://extensions→ 开发者模式 → 加载已解压的扩展README.md 有完整步骤在侧栏粘贴你的 OpenAI 兼容 API KeyBYOK存在chrome.storage.localChrome 138 记得在扩展详情页开启Allow User Scripts在一个普通http(s)页面直接对侧栏说人话例如「列出我打开的所有标签页」「抓取这个页面的商品价格存到表格」。模型会自行在run沙箱里编排sys.*调用并在侧栏展示交付物。想查完整 ABI 目录对模型侧的入口是inspect viewsys人类读者建议直接读 src/agent/AGENTS.md 的 sys 调用表和根目录 AGENTS.md 的「未实现的边界」一节——那里写明了 tab 租约、取消语义等硬边界。八、关键文件与文档索引访客 ABI 与 help 目录src/agent/vnext/sessionWorkspace/browserSys.jsService Worker 侧 syscall 实现tabs / eval / waitFor / fetch / cdp / download / screenshotsrc/agent/vnext/host/browserSysHost.js调用约定与工具契约总览src/agent/AGENTS.md消息路由workspace_sys只接受本扩展 offscreen 的请求src/AGENTS.md安装与使用入口README.md打包 playbook示例页面重排 skillsrc/agent/vnext/skills/page-restyle/SKILL.md一句话总结sys.tabs管进程、sys.eval管现场、sys.fetch管网络、sys.cdp管协议——四把钥匙打开同一台「浏览器机器」而沙箱与租约机制保证模型只能按规矩进门。【免费下载链接】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),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。