快速开始
5 分钟装好 ego lite,从你的 Agent CLI 跑出第一个浏览器任务。
系统要求
- macOS 12.0 或更高版本
- 任意一款 Agent CLI:Claude Code、OpenAI Codex、Cursor、Continue、Gemini CLI、Hermes Agent、OpenClaw、Opencode
安装
两种方式任选其一。
下载 macOS 安装包
双击安装。首次启动时,ego lite 会扫描机器上已安装的 Agent CLI,把 ego-browser skill 写入它们的 skill 目录。
通过命令行安装
在任意 Agent CLI 的终端里运行:
curl -fsSL https://lite.ego.app/install.sh | sh
这条命令会安装 ego lite 浏览器、ego-browser helper,并把 skill 注册到机器上所有 Agent CLI 的 skill 目录。
首次启动时 ego lite 会问你一件事:是否迁移浏览器数据?然后选择对应的浏览器进行确认,登录态、cookie、扩展、Profile 都会跟着过来,Agent 可以直接复用。
你的第一个任务
在 Agent CLI 里输入 / 唤出 skill 选择器,选 /ego-browser,然后用自然语言描述任务:
/ego-browser follow @ego_agent on x.com for me
Agent 加载 skill 上下文后,会生成下面这段代码并执行:
ego-browser nodejs <<'EOF'
await useOrCreateTaskSpace('follow-ego-agent')
await openOrReuseTab('https://x.com/ego_agent', { wait: true })
await snapshotText()
// 返回的是 @ego_agent 的 profile 页,几百个 ref 的 SPA。
// Follow 按钮的 accessible name 是 "Follow @ego_agent",本次执行中 ref 为 @92。
await click('@92')
await wait(3) // 留 3 秒给 X 提交 follow 并重新渲染
await snapshotText()
// click 之后按钮 label 从 "Follow @ego_agent" 变成 "Following @ego_agent",ref 不变。
cliLog('Done. @ego_agent followed.')
EOF
这段代码里有两点值得注意:
- Agent 操作的是
snapshotText()返回的 ref(@92),不是 CSS 选择器。ref 对应元素被人感知的样子(accessible name 就是"Follow @ego_agent"),X 怎么轮换 class name 都不会失效。ref 编号按快照分配,你实际看到的数字会跟示例不一样。 - Agent 用的是从你 Chrome 迁移过来的 X 登录态。不用重新登录、粘 cookie 或走 OAuth。第一次拍 snapshot 时,Follow 按钮就已经是可点击状态。
观察 Agent 工作
任务跑起来后,打开 ego lite,点击侧栏的 Space 面板。当前正在运行的 Space 会高亮显示,点进去就能看 Agent 实时操作:跳转、滚动、拍快照、提取数据。
Space 视图底部有两个按钮:
- 接管 (Take over):从 Agent 手里把当前标签接过来,自己操作。
- 停止 (Stop):立刻终止任务。
操作页面
click 只是 ref 操作的一种。fill、type、pressKey、hover、select 用法都一样:拍一次 snapshotText(),挑出目标 ref,对它执行动作。下面是一个登录流程的例子:
ego-browser nodejs <<'EOF'
await useOrCreateTaskSpace('example-login')
await openOrReuseTab('https://example.com/login', { wait: true })
await snapshotText()
// 返回内容大致如下:
// @3 [input type="email"] placeholder="Email"
// @4 [input type="password"] placeholder="Password"
// @5 [button type="submit"] "Continue"
await fill('@3', 'user@example.com')
await fill('@4', 'your-password')
await click('@5')
await waitForLoad()
const tab = await currentTab()
cliLog('Logged in:', tab.url)
EOF
如果你在 onboarding 时迁移了 Chrome 数据,且 Chrome 本身已经登过这个站点,openOrReuseTab 会直接把 Agent 带到登录后的页面。snapshot 返回 dashboard 而不是登录表单,Agent 可以跳过填表直接执行下一步。
并行跑多个任务
每个 Space 由 useOrCreateTaskSpace 里的名字命名,不同名字之间互不冲突,可以同时跑:
# Claude Code 在一个终端里
ego-browser nodejs <<'EOF'
await useOrCreateTaskSpace('leads-enrichment')
await openOrReuseTab('https://www.linkedin.com', { wait: true })
EOF
# 同时,Codex 在另一个终端里
ego-browser nodejs <<'EOF'
await useOrCreateTaskSpace('qa-regression')
await openOrReuseTab('https://staging.example.com', { wait: true })
EOF
下一步
- ego-browser:完整的 helper 列表、浏览器内
js()上下文、原始 CDP 访问方式 - Space:Space 的生命周期和命名规则
- Snapshot:ref 和
loc=选择器 - Agent 网页任务实战:端到端任务的完整走查