让 AI Agent 用上你的浏览器:ego (lite) 安装与实战教程

ego (lite) 安装与实战教程封面

用 AI Agent 干活的人大概都遇到过这种卡壳:让它写代码、查资料都很顺,可一旦要它「去某个网站帮我点几下、填个表、导个数据」,就动不了了——要么没有 API,要么必须先登录,要么卡在验证码上。ego (lite) 就是冲着这个问题来的:一款和 AI Agent 共用的浏览器。

我把安装、接入 Codex、跑通第一个浏览器任务的全过程整理成这篇教程,顺带说说它怎么工作、有哪些坑要提前知道。整个过程十几分钟,免费,也不用注册账号。

一、ego (lite) 到底是什么

一句话:它和 Chrome 一样基于 Chromium,但是为「人 + Agent 共用」重新设计过的浏览器。

  • 你的扩展、书签、浏览记录、登录状态可以一键从 Chrome 迁过来,平时的浏览习惯基本不用改;
  • Agent 用你真实的登录态去操作那些「登录后才能用」的后台,不用重新登录,也不容易卡在验证码、二次验证、SSO 跳转上;
  • Claude Code、Codex、Cursor、Continue、Gemini CLI、OpenClaw、OpenCode 等任意 CLI Agent 都能接,不绑定某一家。

官方对它的定位很直白:ego (lite) 只是一款浏览器;ego 才是你跨设备的个人 Agent。 目前支持 macOS,Windows 和 Linux 在路线图上;完全免费,没有订阅费,也没有按任务计费。

二、它凭什么快:先搞懂三个概念

把这三个词理解了,后面用起来会顺很多。

Space:Agent 的独立工作区

Space 不是新窗口、不是新的 Chrome 个人资料,也不是 headless 模式,而是同一个浏览器进程里的分区。每个任务有自己的标签页、Cookie 和 Storage,所以 Agent 干活不会抢你的焦点、不会碰你的标签页,你可以一边看它跑,一边继续自己的事。

官方做过一次 6 并发、只开 about:blank 的对照测试,数据挺能说明问题:

方案增加内存增加进程数并发启动耗时
独立浏览器实例 + Chrome 个人资料副本约 15 GB约 84 个约 2.5 秒
ego (lite) Space约 0.9 GB约 6 个约 0.6 秒

差距主要来自架构:传统做法要给每个任务复制一份 Chrome 个人资料,还得抢 user-data-dir 的文件锁;Space 则是主进程共享、上下文隔离。

Snapshot:让 Agent「看懂」页面

人看网页是看界面,模型看网页却是一大坨 HTML。Snapshot 把页面压成紧凑的无障碍树,每个可交互元素带一个临时编号,整页通常只要 200~400 个 Token。一个登录页的快照大概是这个画风:

Page: Example - Log in
URL: https://example.com/login
@1 [heading] "Log in"
@2 [form]
@3 [input type="email"] placeholder="Email"
@4 [input type="password"] placeholder="Password"
@5 [button type="submit"] "Continue"
@6 [link] "Forgot password?"

Agent 看一眼就知道 @3 是邮箱框、@5 是提交按钮,直接 click('@5') 就行,不用猜 CSS 选择器,也不怕网站改 class 名。因为快照是在 Chromium 引擎内部生成的,深嵌套 iframe、shadow DOM、Stripe 收银台、Salesforce 嵌入组件这类「JS shim 方案容易翻车」的场景,它也能处理。

💡 一个容易踩的点:@N 编号只对当前这一次快照有效。页面跳转、刷新、弹窗、表单提交、切标签页之后,旧编号可能就失效了——让 Agent 重新拍一张快照即可。需要长期稳定的引用,用快照里的 loc=... 或自己写 CSS selector。

ego-browser:Agent 的操作入口

ego-browser 是命令行入口,通过 Chrome DevTools Protocol 连到 ego (lite) 的真实 Chromium 会话,以一段 Node.js heredoc 脚本为单位执行——Agent 一次把整段流程写完,而不是「跑一条命令、看一眼输出、再跑下一条」。一个典型循环长这样:

ego-browser nodejs <<'EOF'
const task = await useOrCreateTaskSpace('search github issues')
await openOrReuseTab('https://github.com/issues', { wait: true, timeout: 20 })
cliLog(await snapshotText())
EOF

有个细节要注意:heredoc 里跑的是 Node.js 进程,只有 js(...) 里面才是浏览器页面上下文,两者别混着用;输出统一走 cliLog(...)。

三、安装与首次设置

安装本身没什么难度:

  1. 下载 macOS 版 DMG 安装包并打开;
  2. 按提示把 ego (lite) 拖进「应用程序」完成安装;
  3. 启动 ego (lite),走完 onboarding。

首次启动时有两件事值得留意,弄错了后面容易踩坑:

  • 它会扫描你机器上已经装好的 Agent,把 ego-browser Skill 写进它们的 Skill 目录,大多数主流 Agent 开箱可用;Skill 文件也会落在 ~/.agents/skills/ 和 ~/.claude/skills/。
  • 它会问你要不要迁移浏览器数据。选好对应的浏览器确认一下,登录状态、Cookie、扩展程序和 Chrome 个人资料就都跟过来了,Agent 可以直接复用。onboarding 过程中可能会让你输入密码,那是为了迁移这些登录数据。
🔒 关于隐私:迁过来的密码、Cookie、浏览记录、书签和扩展都不会上传;页面内容由你自己的 Agent 读取和操作,ego (lite) 只负责浏览器和桥接。不需要注册账号,也没有云端会话。

四、接入 Codex:开 Full access,加载 Skill

这里以 Codex 为例,其他 Agent 的流程大同小异。如果装完 ego (lite) 时 Codex 是开着的,先完全退出再重启一次,好让 Skill 列表刷新出来。

1. 选择 Codex 模式(桌面端)

如果你用的是 ChatGPT 桌面端,先把左上角的模式切到 Codex;用 Codex TUI 的话跳过这一步。

2. 打开 Full access

桌面端:打开输入框左下角的权限菜单,选 Full access 并确认。因为 ego-browser 需要启动本机上的 ego (lite),权限不够时沙箱会拦住应用启动,任务就会卡在等审批。

TUI:用下面这条命令开新会话。

codex --dangerously-bypass-approvals-and-sandbox

3. 加载 ego-browser Skill

桌面端在输入框里输入 /ego,从列表里选 ego-browser;也可以直接敲 /ego-browser 然后按 Tab 激活。TUI 里同样输入 /ego 选择 ego-browser。

如果列表里找不到它:先确认 ego (lite) 已经完成初始设置,然后重启 Codex,再试一次 /ego。Skill 文件应该位于 ~/.agents/skills/。

五、跑通第一个浏览器任务

Skill 加载好、权限也给足了,就可以直接把任务丢给 Agent。官方文档里的第一个例子是让 Agent 去读 OpenAI 和 Anthropic 的博客:

使用 ego-browser 打开 OpenAI 和 Anthropic 的博客,检查是否有值得关注的新信息,并快速总结最新文章的核心内容。

Agent 会在 ego (lite) 里建一个 Space,在里面打开这两家的博客、翻最新文章、整理出重点,最后把总结返回给你。我自己第一次跑下来的感受是:最省心的地方在于「不用管它怎么点」——它自己拍快照、找元素、点进去读,读完把结论交回来。

六、想看 Agent 在干什么?打开 Space 面板

点 ego (lite) 右上角的 Space 按钮,就能进 Space 管理面板。带蓝色光晕的那个,就是 Agent 正在操作的 Space,你可以切进去看它停在哪个步骤,也可以直接接管——比如帮它完成扫码登录、输一下验证码,然后让它接着跑。任务结束后 Space 里的标签页会保留,方便复核它到底访问过哪些页面。

这也是这套设计里我比较喜欢的一点:Agent 在后台安静跑流程,只在需要你参与的时候把你拉进来,不打断你手上正在做的事。

七、ego-browser 常用能力速查

想让 Agent 跑得更精细(或者你自己写一段脚本),下面这张表可以当速查用。所有 helper 都在脚本作用域里以 camelCase 直接可用,不用 import。

分类Helper用途
Task SpacelistTaskSpaces / useOrCreateTaskSpace / completeTaskSpace / closeTaskSpace复用或创建任务空间,以及任务完成后的收尾
导航与状态openOrReuseTab / gotoAndWait / newTab / switchTab / currentTab / pageInfo打开、切换、复用标签页,读取当前页面信息
观察snapshotText / captureScreenshot / drainEvents读语义快照、截图、消费导航与网络事件队列
鼠标与滚动click / doubleClick / hover / dragMouse / scrollBy / scrollToBottomUntil点击、悬停、拖拽、滚动加载更多内容
键盘与输入typeText / fillInput / pressKey / dispatchKey输入文本、填表单、按键
文件与网络uploadFile / httpGet上传本地文件、在浏览器上下文发起 GET 请求
等待wait / waitForLoad / waitForElement / waitForNetworkIdle等页面、等元素、等网络空闲(默认单位是秒)
浏览器执行js / elementEval / cdp直接跑 JS 抽数据、取元素信息、走原始 CDP
输出与自查cliLog / help脚本里唯一的输出方式;help('click') 可以查用法

点选元素时,target 可以写 @ref、CSS selector、[x, y] 坐标,或者 { selector, x, y } 叠加偏移;加上 label 还会触发一次视觉高亮,方便事后复核。组合起来大概是这样:

await click('@21', { label: '查看登录状态' })
await fillInput('@2', 'user@test.com')
await pressKey('Enter')
const data = await js(String.raw`(() => {
  const items = [...document.querySelectorAll('article')]
  return items.map(el => ({ text: el.innerText, links: [...el.querySelectorAll('a')].map(a => a.href) }))
})()`)
cliLog(data)

八、让它干得更稳:几条实践经验

  • 任务描述里写清边界:目标页面,要读/填/点什么,不允许做什么(删除、发布、付款、发邮件),遇到验证码或支付要不要暂停,以及你希望拿到什么形式的结果(表格、摘要、截图、本地文件路径)。
  • 该停就停:短信和邮箱验证码、扫码登录、硬件密钥、支付下单转账、发布删除归档、授权第三方应用访问账号——这些都应该由你本人来做,别把密码和验证码写进提示词。
  • 结果要复核:看它有没有说明访问过哪些页面、返回内容能不能核对(标题、编号、链接、金额、时间)、下载任务有没有给本地路径、不可撤销的操作有没有在最终确认前暂停。觉得结果不对,让它重新拍一次快照,而不是基于旧回答继续推测。
  • 只查公开信息就别折腾浏览器:普通 web search 更省事;Space 更适合登录后的后台、需要点击填表的流程。

九、它还能用来干什么

官方列了不少真实场景,基本覆盖「有网页、但没 API」的各种角落:

  • 社交媒体:回复推文、抓互动数据、监控提及;X、LinkedIn、Threads、Reddit、Instagram、Facebook 都能跑;
  • 求职和招聘:在 LinkedIn、Wellfound 上筛岗位,跳进 ATS 填申请表、传简历,提交前停下来等你确认;
  • 房产、金融、购物:按条件筛房源、跑房贷和负担能力计算器、把结构化数据写进本地 Markdown;也能比价、批量下单;
  • 预订:机票、酒店、餐厅的完整流程,自动填表,一直走到支付页之前停下;
  • SaaS 后台:HubSpot、Salesforce、Notion、Airtable、Linear、Stripe、GA4、Search Console 这类系统的拉报表、刷仪表板、批量改字段;
  • 内部工具:自己的管理后台、staging 环境、QA 流程——那些需要登录、其他自动化框架进不去的页面。

十、常见问题

问题怎么处理
找不到 ego-browser确认 ego (lite) 已完成初始设置,重启 Codex,再输入 /ego 从列表里选择;Skill 文件应该在 ~/.agents/skills/
Skill 加载了,但 ego (lite) 没启动桌面端确认权限显示的是 Full access;TUI 需要关掉当前会话,用 codex --dangerously-bypass-approvals-and-sandbox 重新启动
网站要求登录或验证账号在 Agent 所在的 Space 里自己完成登录或验证,再让 Agent 在同一个 Space 继续;不要把密码或验证码写进提示词
Agent 说引用失效了页面在上次快照之后发生了变化,让它重新拍一次快照
快照或截图读不全内容图片里的文字、复杂 canvas、受限的跨域 iframe 可能读不到,可以让 Agent 结合截图或人工确认

十一、小结

ego (lite) 有意思的地方在于:它没有另造一套浏览器,而是把你熟悉的 Chromium 和一个「给 Agent 用的工作区」缝在了一起——登录态复用、Space 隔离、Snapshot 省 Token、ego-browser 一次往返跑完流程。装一次,以后让 Agent 处理那些需要登录、需要点击的网页任务就顺手多了。

如果你也经常让 AI 帮忙处理后台、表单、数据抓取这类活,值得花十分钟把它装上试试。

参考资料

  • ego (lite) 官方文档 · 快速开始:https://lite.ego.app/document/zh/docs/quick-start
  • Codex 使用指南:https://lite.ego.app/document/zh/docs/codex
  • ego-browser 能力与 Helper 参考:https://lite.ego.app/document/zh/docs/ego-browser
  • Space 与 Snapshot 机制:https://lite.ego.app/document/zh/docs/space
消息盒子

# 暂无消息 #

只显示最新10条未读和已读信息