核心用法
browser-js 是一个通过 Chrome DevTools Protocol (CDP) 与浏览器通信的 CLI 工具,专为 AI Agent 设计。使用时需先启动支持远程调试的 Chrome 实例(OpenClaw 用户可直接使用 browser start),工具默认连接 localhost:18800。
基础工作流:bjs open <url> 导航 → bjs elements 获取可交互元素索引列表 → bjs click <index> 或 bjs type <index> <text> 执行操作 → bjs text 提取页面内容。工具自动维护元素索引状态,导航后无需手动刷新。
特色功能:upload 命令绕过系统文件选择器,直接注入文件到 <input type=file>;eval 支持执行任意 JavaScript;screenshot 可保存页面快照用于视觉验证。
显著优点
- 极致 token 效率:单次交互约 50-200 token,相比传统浏览器工具(2,000-8,000 token)节省 3-10 倍,长流程场景优势更明显
- 结构化输出:
elements返回带索引的精简列表,Agent 无需解析复杂的 accessibility tree 或猜测元素引用 - 状态感知:自动处理元素重新索引,支持 AJAX 动态内容变化
- 文件上传友好:CDP 原生 API 直接注入文件,规避跨平台文件对话框兼容问题
潜在局限
- 依赖外部浏览器:必须预先启动 Chrome/Chromium 并开启调试端口,环境配置成本高于纯内置方案
- 定位精度受限:基于索引的交互在页面剧烈变化时可能出现错位,复杂 SPA 需配合显式
elements调用 - 功能边界:不支持完整的浏览器自动化生态(如 cookies 管理、网络拦截等高级 CDP 功能未暴露)
- 输出截断:
text8KB /html10KB 上限可能遗漏超长页面内容
适合人群
- 需要频繁与网页交互的 AI Agent 工作流
- token 成本敏感的生产环境
- 以表单填写、数据提取、简单自动化为主的场景
- 已使用 OpenClaw 或愿意配置 CDP 环境的用户
常规风险
- 命令注入:
eval命令执行任意 JavaScript,需确保输入来源可信 - 路径穿越:
upload命令处理文件路径时可能存在路径规范化问题 - CSRF 场景:浏览器保留用户登录态,Agent 可能在无意中执行敏感操作
- CDP 暴露:远程调试端口若配置不当可能被局域网内其他进程利用