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

Face Analysis WebUI入门必看:cache目录清理策略与磁盘空间自动管理

Face Analysis WebUI入门必看:cache目录清理策略与磁盘空间自动管理 1. 为什么你得关心cache目录? 刚跑通Face Analysis WebUI,上传几张照片,点下“开始分析”,结果框里跳出漂亮的人脸关键点和年龄预测——这感觉真不错。但过几天再打开系统,发现磁盘空间告急,/root/build/cache/目录悄悄涨到了12GB,而你明明只传了不到50张图。 这不是个例。很多用户在部署完这个基于InsightFace的智能人脸分析系统后,都遇到同一个隐形问题:cache目录像雪球一样越滚越大,没人管它,它就自己长大。 它不报错,不崩溃,只是默默吃掉你的磁盘空间,直到某天df -h显示/dev/sda1 99%,WebUI突然卡住、图片上传失败、甚至模型加载超时——这时候才想起翻日志,发现是OSError: No space left on device。 这篇文章不讲怎么安装、不讲API调用,就专注解决一个最实际、最容易被忽略的问题:如何让cache目录保持健康,

Chrome 开发者工具(DevTools)快速入门——前端必备技能

Chrome 开发者工具(DevTools)快速入门——前端必备技能

在前端开发中,Chrome 开发者工具(DevTools) 是我们排查问题、优化性能、理解浏览器行为最强大的助手之一。无论是想快速定位页面样式异常、分析接口请求,还是调试 JavaScript 逻辑,DevTools 都能提供直观高效的方式帮助我们“看清代码背后发生了什么”。 这篇笔记将带你快速入门,从最基本的面板功能到常用调试技巧,让你能在实战中灵活运用它,提升开发效率与问题解决能力。 1. 打开方式与放大缩小 1. 快捷键: * Windows/Linux:F12 或 Ctrl + Shift + I * macOS:Command + Option + I 1. 右键打开:在页面任意元素上右键 → “检查 (Inspect)” 2. 菜单打开:点击右上角 ⋮ → “更多工具” → “开发者工具” 在使用 Chrome 开发者工具时,可以通过 鼠标滚轮 快速调整界面缩放。

如何解决前端Axios请求报Net::ERR_CONNECTION_REFUSED连接拒绝问题

如何解决前端Axios请求报Net::ERR_CONNECTION_REFUSED连接拒绝问题

Net::ERR_CONNECTION_REFUSED是前端使用Axios发起HTTP请求时,最常见的网络层错误之一,该错误的出现与Axios语法、接口请求参数无关,也并非前端代码逻辑问题,核心是前端客户端无法与目标服务端建立基础的TCP连接,服务端对客户端发起的连接请求做出了拒绝响应。这类问题的排查需跳出前端代码本身,从「服务端运行状态」「前端请求配置」「网络链路通畅性」「端口/防火墙限制」四个核心维度逐步验证,本地开发环境还需额外检查代理转发配置,以下是从易到难的完整排查流程和针对性解决方案,覆盖本地、局域网、线上生产所有开发场景。 文章目录 * 一、核心认知:错误本质与核心诱因 * 1.1 错误的核心本质 * 1.2 触发错误的四大核心诱因 * 1.3 关键区分:避免与其他错误混淆 * 二、从易到难:分步排查与针对性解决方案 * 步骤1:验证目标服务端是否正常运行,有无进程监听指定端口 * 具体验证方法 * 针对性解决方案 * 步骤2:检查前端Axios请求配置,确保地址/端口/协议完全正确

【前端】Vue3+elementui+ts,给标签设置样式属性style时,提示type check failed for prop,再次请出DeepSeek来解答

【前端】Vue3+elementui+ts,给标签设置样式属性style时,提示type check failed for prop,再次请出DeepSeek来解答

🌹欢迎来到《小5讲堂》🌹 🌹这是《前端》系列文章,每篇文章将以博主理解的角度展开讲解。🌹 🌹温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!🌹 目录 * 前言 * 警告信息 * DeepSeek解答 * 问题原因 * 解决方案 * 关于 !important * 最终建议写法 * Vue小技巧 * Vue 3 实用代码小技巧 * 1. 组合式 API 技巧 * 2. 组件通信技巧 * 3. 模板技巧 * 4. 性能优化技巧 * 5. 组合式函数技巧 * 6. 生命周期技巧 * 7. 路由技巧 (Vue Router) * 8. 状态管理 (Pinia) 技巧 * 9. 调试技巧 * 文章推荐 前言 翻看了下上一篇写前端文章还是一年前,