Agent-Browser: 适合ai的浏览器自动化 CLI 工具(以OpenCode为例)

Agent-Browser: 适合ai的浏览器自动化 CLI 工具(以OpenCode为例)

介绍

Agent-Browser是Vercel 专为AI Agent 设计的一个浏览器自动化 CLI 工具,能让 它们模拟人类操作浏览器(点击、滚动、截图和填表单等), 是对playwright作为封装和优化,默认是无头模式操作浏览器。

agent-browser 及关联 Skill vs  playwright-skill 综合信息表

Skill(技能 / 工具)来源(获取 / 运行方式)核心功能核心技术(底层实现)
agent-browsernpm install -g agent-browser通用浏览器自动化(CLI 版)Playwright + 自有 CLI 封装
dogfoodagent-browser 内置子 skillQA 测试、探索性测试基于 agent-browser 核心能力
electronagent-browser 内置子 skillElectron 桌面应用测试无额外标注(默认基于 agent-browser)
slackagent-browser 内置子 skillSlack 聊天工具自动化无额外标注(默认基于 agent-browser)
playwright-skill本地 skill(自定义 / 内置)浏览器自动化测试原生 Playwright(无额外封装)

agent-browser vs playwright-skill 功能特性对比表

特性agent-browserplaywright-skill
接口CLI 命令(如 agent-browser click @e1Playwright 多语言 API(Python/JS/Java 代码调用,如 page.click('#btn')
元素引用快照生成 @e1, @e2 简化引用CSS/XPath/ 文本选择器(如 //div[@id="e1"]),支持精准定位
会话管理内置 --session 参数一键管理自定义代码实现(通过 context 上下文对象手动管理)
状态保存内置 state save/load 命令手动调用 storage_state 方法序列化 / 反序列化状态
认证auth save/login 命令,加密存储凭证手动处理 Cookie/Token,需结合加密库 / 环境变量存储
iOS 模拟器原生支持无原生支持,需结合 BrowserStack/Appium 等工具
浏览器引擎Chrome, LightpandaChrome、Firefox、Safari、Edge 等全主流引擎
Diff 测试内置 diff 命令一键执行

原生支持 toHaveScreenshot() / toMatchSnapshot(),内置 pixelmatch 像素级比对

选择建议

  • 简单重复任务、QA 快速验证 → agent-browser(CLI 命令简洁,无需编写代码)
  • 复杂业务逻辑、自定义自动化流程 → playwright-skill(代码化控制,灵活性和扩展性更高)

安装与使用

执行npm install -g agent-browser安装(当然你可以让ai自动安装,只是耗一点token,下同)

创建符号链接,让OpenCode、OpenClaw和Codex都能发现 agent-browser,记得路径按自己的电脑实际情况改

# 1. Codex & Opencode 全局 skills 目录 ln -s /opt/homebrew/lib/node_modules/agent-browser/skills/agent-browser ~/.agents/skills/agent-browser ln -s /opt/homebrew/lib/node_modules/agent-browser/skills/dogfood ~/.agents/skills/dogfood ln -s /opt/homebrew/lib/node_modules/agent-browser/skills/slack ~/.agents/skills/slack ln -s /opt/homebrew/lib/node_modules/agent-browser/skills/electron ~/.agents/skills/electron # 2. Openclaw 项目目录 ln -s /opt/homebrew/lib/node_modules/agent-browser/skills/agent-browser ~/Desktop/work/openclaw/.agents/skills/agent-browser ln -s /opt/homebrew/lib/node_modules/agent-browser/skills/dogfood ~/Desktop/work/openclaw/.agents/skills/dogfood ln -s /opt/homebrew/lib/node_modules/agent-browser/skills/slack ~/Desktop/work/openclaw/.agents/skills/slack ln -s /opt/homebrew/lib/node_modules/agent-browser/skills/electron ~/Desktop/work/openclaw/.agents/skills/electron

执行opencode,让ai调查亚马逊平台的热门电器产品,可以发现ai执行了cli命令agent-browser open https://www.amazon.com && agent-browser wait --load networkidle && agent-browser screenshot amazon-home.png,这三个命令的作用分别是打开亚马逊平台链接、仅当页面成功打开后,等待页面的网络请求基本停止(动态内容完全加载)和对亚马逊首页截图为amazon-home.png

接下来ai自行操作,完成搜索、爬取数据、处理超时、模拟滚动、点击和截图等

最终结果

由于浏览器常规截图并非整个页面,不妨以ai打开电子产品链接(可以在ai的思考和执行过程看到那个链接)https://www.amazon.com/gp/bestsellers/electronics/ref=zg_bs_electronics_sm找另外几个产品进行验证,可以发现基本符合事实,只是部分评价最多的产品(很可能是ai只对提取前10个数据或当时页面没加载到更多商品,因为亚马逊平台的页面是动态的,不会一次性加载完全部产品)

创作不易,禁止抄袭,转载请附上原文链接及标题

Read more

Android 蓝牙 BLE 扫描 Native 层架构与扫描流程剖析

Android 蓝牙 BLE 扫描 Native 层架构与扫描流程剖析

博主简介 byte轻骑兵,现就职于国内知名科技企业,专注于嵌入式系统研发,深耕 Android、Linux、RTOS、通信协议、AIoT、物联网及 C/C++ 等领域。乐于技术分享与交流,欢迎关注互动! 📌 主页与联系方式ZEEKLOG:https://blog.ZEEKLOG.net/weixin_37800531知乎:https://www.zhihu.com/people/38-72-36-20-51微信公众号:嵌入式硬核研究所邮箱:[email protected](技术咨询或合作请备注需求) ⚠️ 版权声明 本文为原创内容,未经授权禁止转载。商业合作或内容授权请联系邮箱并备注来意。 本文基于 Android 蓝牙源码中 BLE 扫描相关的 Native 层代码,以scanInitializeNative为入口,系统梳理 BLE 扫描从 JNI

By Ne0inhk
【AI Agent基础 | 第四篇】Spring AI 集成与多模型支持

【AI Agent基础 | 第四篇】Spring AI 集成与多模型支持

目录 Spring AI 在 Agent 系统中的作用 接入 Spring AI 的步骤 一个模型对应一个 ChatClient ChatClientRegistry:模型调度的核心 Agent 如何绑定模型 模型成为系统基础设施 【AI Agent基础 | 第三篇】AI到底是怎么做事的?https://blog.ZEEKLOG.net/h52412224/article/details/158773114?spm=1001.2014.3001.5502 【AI Agent基础 | 第二篇】从被动问答到主动推进任务的智能体https://blog.ZEEKLOG.net/h52412224/article/details/158689521?spm=1001.2014.3001.5502【

By Ne0inhk
MySQL最新9.5版本安装教程

MySQL最新9.5版本安装教程

目录 一、下载安装包 二、新建数据目录 三、创建配置文件(关键步骤) 四、初始化 MySQL(非常重要) 五、注册为 Windows 服务 六、启动 MySQL 服务 七、登录并修改 root 密码(必须) 八、配置环境变量(否则 mysql 命令无效) 九、验证安装是否成功 一、下载安装包 登入官网下载地址MySQL :: MySQL Downloads,选择对应系统的安装包进行下载(以Windows系统为例) 下载解压后有许多文件,不需要全都解压,根据自己需要进行解压,一般只用解压第一个 二、新建数据目录 在 MySQL 根目录下创建:data\ 三、

By Ne0inhk
【MySQL数据库基础】(三)MySQL 库的核心操作全解析:创建、修改、备份一条龙搞定

【MySQL数据库基础】(三)MySQL 库的核心操作全解析:创建、修改、备份一条龙搞定

前言         在 MySQL 的学习和实战中,数据库(库)的操作是最基础也是最核心的环节,无论是项目开发、数据管理还是运维维护,都绕不开库的创建、配置、修改、备份等一系列操作。很多刚接触 MySQL 的小伙伴容易在字符集、校验规则、备份恢复这些细节上踩坑,今天这篇文章就结合实战案例,把 MySQL 库的全套操作讲透,从基础语法到高级技巧,从避坑指南到实战演示,让你一文掌握 MySQL 库操作的精髓! 一、创建数据库:基础语法与个性化配置         创建数据库是操作 MySQL 的第一步,看似简单的一句命令,背后却藏着字符集、校验规则的关键配置,选对配置能让后续的开发和数据管理少走很多弯路。 1. 核心创建语法         MySQL 中创建数据库的官方语法如下,其中大写部分为关键字,中括号[]内的为可选项,也是实际开发中需要重点关注的部分: CREATE DATABASE [IF NOT EXISTS]

By Ne0inhk