核心用法
browser-js 是一款基于 Chrome DevTools Protocol (CDP) 的轻量级浏览器 CLI 工具,专为 AI Agent 场景优化。它通过直接操控 Chrome/Chromium 实例,实现比传统浏览器工具高 3-10 倍的 token 效率。
安装与启动:需 Node.js 环境,执行 npm install 安装依赖;浏览器需以 --remote-debugging-port=18800 启动(OpenClaw 环境开箱即用)。
核心工作流:
1. bjs open <url> 导航至目标页面
2. bjs elements 获取交互元素索引列表(链接、按钮、输入框等自动编号)
3. bjs click <index> / bjs type <index> <text> 执行精准操作
4. bjs text / bjs screenshot 提取结果或视觉验证
独特能力:upload 命令绕过 OS 文件对话框,直接通过 CDP 注入文件至 <input type="file">;eval 支持页面内任意 JavaScript 执行。
显著优点
- 极致 token 效率:单交互约 50-200 tokens,对比传统浏览器工具 2,000-8,000 tokens,10 步工作流可节省 95% 以上上下文消耗
- 零解析负担:索引式交互输出,Agent 无需解析 accessibility tree 或处理复杂 DOM 引用
- 自动状态管理:导航/AJAX 后自动重新索引,登录会话自动保持
- 文件上传原生支持:突破传统自动化工具的文件选择器限制
- 轻量部署:单 Node 脚本,无 Selenium/Playwright 等重型依赖
潜在局限
- 环境依赖:必须预装 Chrome/Chromium 并保持 CDP 端口开放,无浏览器则完全不可用
- 非标准环境限制:仅测试于 OpenClaw 环境,其他平台的浏览器启动参数、路径配置需手动适配
- 无沙箱隔离:直接操作用户浏览器会话,潜在的 cookie/本地存储污染风险
- 索引稳定性:动态页面元素位置变化可能导致索引偏移,需结合
wait或重新调用elements确认 - 文本截断:
text8KB /html10KB 硬限制,大页面需配合eval自定义提取
适合人群
- 高频浏览器自动化场景:爬虫、数据抓取、表单批量提交、测试验证
- Token 预算敏感用户:长流程自动化任务,上下文窗口受限的模型
- OpenClaw 生态用户:原生集成支持,配置成本最低
- 需绕过文件上传限制的场景:社交媒体自动化、文档批量处理
常规风险
| 风险类型 | 说明 | 缓解建议 |
|---------|------|---------|
| 浏览器暴露 | CDP 端口无认证,本地 127.0.0.1 监听 | 避免远程可访问,生产环境禁用 |
| 会话劫持 | 复用用户已登录会话 | 专用浏览器 profile 隔离敏感账户 |
| 恶意页面执行 | `eval` 注入任意 JavaScript | 仅访问可信域名,禁用 eval 于外部输入 |
| 敏感数据泄露 | `text`/`html` 可能捕获隐私信息 | 操作前确认页面内容,避免自动表单提交 |
> ⚠️ 认证声明:本简介基于 SKILL.md 技术文档生成,未执行实际安全扫描,source_credibility 标记为 T2 以反映文档自述性质。