- open/goto/navigate
- back
- forward
- reload
- click
- type
- fill
- press/key
- hover
- select
- scroll
- snapshot (核心)
- screenshot
- eval/evaluate
- title
- url
- content (获取文本)
- close
- sessions
❌ agent-browser check <sel> # 勾选
❌ agent-browser uncheck <sel> # 取消勾选影响: 表单填写场景必需
❌ agent-browser get text <sel> # 获取文本内容
❌ agent-browser get value <sel> # 获取输入值
❌ agent-browser get attr <sel> <attr> # 获取属性
❌ agent-browser get count <sel> # 计数匹配元素影响: AI 需要提取页面数据做决策
❌ agent-browser is visible <sel> # 是否可见
❌ agent-browser is enabled <sel> # 是否启用
❌ agent-browser is checked <sel> # 是否勾选影响: AI 决策前需要验证元素状态
❌ agent-browser upload <sel> <files>影响: 上传文档/图片是常见任务
❌ agent-browser dblclick <sel>影响: 某些UI组件需要双击
❌ agent-browser scrollintoview <sel>影响: 确保操作的元素在视口内
❌ agent-browser pdf <path>影响: 保存网页内容
❌ agent-browser wait --text "Welcome"
❌ agent-browser wait --url "**/dashboard"
❌ agent-browser wait --fn "window.loaded === true"影响: 更精确的等待条件
❌ agent-browser dialog accept [text]
❌ agent-browser dialog dismiss影响: alert/confirm/prompt 弹窗处理
❌ agent-browser find role button click --name "Submit"
❌ agent-browser find text "Sign In" click
❌ agent-browser find label "Email" fill "test@test.com"
❌ agent-browser find placeholder "Enter email" fill "x@y.com"
❌ agent-browser find testid "login-btn" click
❌ agent-browser find first ".item" click
❌ agent-browser find nth 2 "a" text影响: 比 CSS 选择器更符合人类思维,AI 更容易理解
❌ agent-browser cookies # 获取所有 cookies
❌ agent-browser cookies set <name> <val> # 设置 cookie
❌ agent-browser cookies clear # 清除 cookies
❌ agent-browser storage local # 获取 localStorage
❌ agent-browser storage local set <k> <v> # 设置值
❌ agent-browser storage local clear # 清除
❌ agent-browser storage session # sessionStorage影响: 直接操作存储,调试登录状态
❌ agent-browser set viewport <w> <h> # 设置视口大小
❌ agent-browser set device "iPhone 14" # 模拟设备
❌ agent-browser set media dark|light # 深色/浅色模式影响: 测试响应式设计
❌ agent-browser tab # 列出所有标签
❌ agent-browser tab new [url] # 新建标签
❌ agent-browser tab <n> # 切换到标签n
❌ agent-browser tab close [n] # 关闭标签影响: 多页面并行操作
❌ agent-browser focus <sel>影响: 某些表单需要先聚焦再输入
❌ agent-browser get box <sel>影响: 精确定位元素位置
❌ agent-browser drag <src> <tgt>影响: 拖拽排序等高级交互
❌ agent-browser mouse move <x> <y>
❌ agent-browser mouse down [button]
❌ agent-browser mouse up [button]
❌ agent-browser mouse wheel <dy> [dx]影响: 精确鼠标操作
❌ agent-browser keydown <key>
❌ agent-browser keyup <key>影响: 组合键等高级操作
❌ agent-browser network route <url>
❌ agent-browser network route <url> --abort
❌ agent-browser network route <url> --body <json>
❌ agent-browser network requests影响: Mock API 响应,测试场景
❌ agent-browser frame <sel>
❌ agent-browser frame main影响: 操作嵌入式内容
❌ agent-browser trace start/stop
❌ agent-browser console
❌ agent-browser errors
❌ agent-browser highlight <sel>影响: 开发调试
❌ agent-browser state save <path>
❌ agent-browser state load <path>影响: 快速恢复登录状态(注:hab 通过 session 机制已实现类似功能)
❌ agent-browser set geo <lat> <lng>
❌ agent-browser set offline on|off
❌ agent-browser set headers <json>
❌ agent-browser set credentials <user> <pass>影响: 模拟特定环境
❌ agent-browser get html <sel>影响: 获取元素 HTML 结构
- check/uncheck - 表单必需
- get text/value/attr - 数据提取必需
- is visible/enabled/checked - 状态验证必需
- dblclick - 常见操作
- upload - 文件上传场景
- scrollintoview - 确保元素可见
- wait --text/--url/--fn - 增强等待能力
- dialog accept/dismiss - 弹窗处理
- find role/text/label - 语义定位器
- pdf - 页面导出
- cookies/storage - 存储管理
- focus - 表单聚焦
- get count/box - 元素信息
- tab - 多标签页
- set viewport/device - 设备模拟
- drag - 拖拽操作
- mouse/keyboard 精细控制 - 高级交互
- network route - 网络拦截
- frame - iframe 操作
- 调试工具 - 开发辅助
- 保持与 agent-browser 一致的命令名称(降低学习成本)
- 使用相同的参数约定(如
<sel>表示选择器) - 支持 4 种选择器格式:
@e1,css=,text=,xpath= - 通过 daemon 统一执行,保持架构一致
- 先实现
src/commands/下的命令函数 - 在
src/daemon/server.ts中注册命令 - 在
src/cli.ts中添加 CLI 定义 - 更新
hab.skill.md文档 - 添加测试用例
虽然缺失部分功能,但 HBA 有以下优势:
- Daemon 架构 - 浏览器复用,性能优异
- Session 隔离 - 多账号自动隔离
- Patchright - 更好的反检测能力
- Bun 运行时 - 更快的启动速度
- Snapshot 系统 - @e 引用更适合 AI
建议立即实现第一批 6 个高优先级功能,预计增加约 300 行代码,完成后可覆盖 80% 的 AI Agent 使用场景。