我一直在找一个能让 AI Agent 真正操作网页的工具。试过很多方案,痛点都一样:Agent 开一个全新的无头浏览器,里面没有登录态,遇到需要登录的网站就卡住了。每次都要想办法导 Cookie、绕过 2FA,或者干脆自己手动点完再交给 Agent。
直到我看到 ego-lite。它不是浏览器自动化框架,而是一个为 AI Agent 和人共享使用设计的真实浏览器。Citro Labs 出品,JavaScript/TypeScript 技术栈,MIT 协议,周增 4700 Star。
我把它装到 Mac 上试了一周。今天说这个方案到底解决什么问题。
一、传统方案的痛
用 Playwright、Puppeteer、Browser-Use 做网页自动化时,基本流程是:
- 起一个空白 Chromium 实例
- 让 Agent 打开网页
- 遇到登录页 → 没 Cookie → 卡住
- 要么手动登录一次,要么提前配置账号密码
- 遇到 2FA 基本无解

ego-lite 的解法很直接:Agent 直接用你日常在用的浏览器。你已经在 GitHub、Notion、Gmail 登录过了,Agent 打开这些网站时就是有登录态的。
二、核心设计:一个浏览器,多个隔离 Space
ego-lite 基于 Chromium 深度定制,但不是给你另起一个浏览器实例。它本身就可以替代 Chrome 当你的日常浏览器用,同时内部划分出多个 Space(工作空间)。

关键设计点:
- 同一个浏览器进程:所有 Space 跑在一个 ego-lite 进程里
- 共享登录态:Space 共享你的 Profile、Cookie、扩展、书签
- 任务隔离:每个 Space 有独立的 Cookie 和 storage,不同 Agent 任务互不干扰
- 人类标签页不受影响:Agent 在后台 Space 操作,你的前台标签页保持原样
这个设计很像操作系统的进程和线程:浏览器内核是共享的,但每个 Space 是独立的工作上下文。
三、安装和上手
ego-lite 目前只支持 macOS,Windows 和 Linux 在路线图中。
安装方式
# Apple Silicon
https://cdn.ego.app/channel/github_github_referral/setup/macos/arm64/egolite.dmg
# Intel Mac
https://cdn.ego.app/channel/github_github_referral/setup/macos/x64/egolite.dmg
也可以直接用 npx:
npx skills add citrolabs/ego-lite
首次启动
打开 ego-lite 后,它会问你要不要迁移 Chrome 数据。建议选 Yes,这样 Agent 就能继承你的:
- 登录状态
- Cookie
- 扩展
- 书签
- 历史记录
然后它会扫描你机器上安装的 Agent(Claude Code、Codex、Cursor 等),自动注册 ego-browser skill。
用 Agent 执行任务
在 Claude Code 或 Codex 里输入:
/ego-browser 打开 GitHub Trending,总结今天前 5 个热门项目
执行流程大概是这样的:

用户输入任务
|
v
Agent 生成 ego-browser 脚本
|
v
ego-lite 创建独立 Space
|
v
打开目标页面 -> 生成语义 Snapshot
|
v
Agent 读取 Snapshot 并决策
|
v
完成操作,返回结果
整个过程中,你自己的浏览器标签页完全不受影响。
四、Snapshot 是省 token 的关键
ego-lite 不是把完整 HTML 丢给 Agent,而是生成一种叫 Snapshot 的语义化页面表示。
| 对比项 | 完整 HTML | ego-lite Snapshot |
|---|---|---|
| Token 数量 | 30,000+ | 200-400 |
| 内容 | 所有标签、样式、脚本、隐藏元素 | 可见可交互元素 |
| 操作性 | 需要解析 DOM | 直接用 @N 引用 |
| 复杂场景 | iframe/Shadow DOM 难处理 | 内核级支持 |
Snapshot 基于 Chromium 的 accessibility tree(无障碍树),只保留页面上有意义的内容和可交互元素。每个元素用 @1、@2、@3 编号,Agent 可以直接说"点击 @21"。
典型登录页面从 30,000 tokens 降到 200-300 tokens,差不多省了 99%。对调用量大的任务来说,这个差距非常可观。
五、heredoc 脚本模式:一次往返完成多步操作
传统浏览器自动化通常是这样的:
Agent: 打开页面
等结果
Agent: 点击按钮
等结果
Agent: 读取内容
等结果
Agent: 填写表单
等结果
ego-browser 允许 Agent 一次性写一段完整的 Node.js 脚本:
ego-browser nodejs <<'EOF'
await useOrCreateTaskSpace('search github issues')
await openOrReuseTab('https://github.com/issues', {
wait: true })
const snapshot = await snapshotText()
cliLog(snapshot)
await click('@21')
cliLog('Done!')
EOF
这样多个浏览器操作可以在一次往返中完成,而不是每个动作都等 Agent 决策一次。官方 benchmark 说复杂任务比 Vercel 的 agent-browser 快最多 3.45 倍。
内存方面也更省。6 个并发任务时:
| 指标 | 传统方案(独立 Chromium + Profile 复制) | ego-lite Space |
|---|---|---|
| 内存增加 | 约 15 GB | 约 0.9 GB |
| 进程数 | 约 84 个 | 约 6 个 |
| 启动耗时 | 约 2.5 秒 | 约 0.6 秒 |
六、实际能干什么
我试了几个场景,确实方便:
1. 后台测试网页
我让 Codex 打开我们项目的后台管理页,检查几个字段的显示是否正确。我自己继续写代码,互不打扰。
2. 抓取已登录站点的数据
比如打开 GitHub 的 issue 列表,提取标题和标签。因为已经登录了,不需要处理 API 认证或 cookie。
3. 填表单
在测试环境注册账号、提交反馈。我会加一条规则:遇到验证码就停下来等我。
4. 多任务并行
一个 Space 抓竞品价格,一个 Space 查航班,我自己照常浏览。三个任务跑在一个浏览器进程里,不会互相抢资源。
七、边界和注意事项
目前最大的限制:只支持 macOS。 Windows 和 Linux 还没发布。
Agent 本身不带浏览器: ego-lite 只是浏览器,AI 能力还是来自 Claude Code、Codex 这些 Agent。如果你没装这些工具,它单独没法用。
@N 编号只对当前 Snapshot 有效: 页面跳转或 DOM 大变后,需要重新拍快照。
遇到验证码/2FA/支付要人工接管: 这是好事,说明设计上是安全的。Agent 会在关键步骤暂停等你。
八、我的判断
适合谁:
- 经常用 Claude Code / Codex / Cursor 做自动化的开发者
- 需要 Agent 操作已登录网站(后台、SaaS、社交媒体)
- 厌烦了给无头浏览器导 Cookie、配账号
- 对 token 成本和执行速度敏感
不适合谁:
- Windows / Linux 用户(暂时)
- 只需要简单抓取公开网页,不需要登录态
- 不想把浏览器数据迁移到新工具的人
总体评价:
ego-lite 解决了一个很关键但一直被忽视的问题:Agent 不应该自己重新开一个浏览器。人类和 Agent 共享同一个浏览器,既复用了登录态,又通过 Space 做了隔离,这是从产品层面重新思考了"Agent 怎么用浏览器"。
它不是完美的——平台限制、生态早期都是事实。但这个方向我认为是对的。
结语
ego-lite 让我印象最深的一点是:它没有把浏览器当成一个需要被遥控的外部设备,而是把 Agent 当成浏览器的另一个用户。
你登录过的网站,Agent 也能登录。你在前台工作,Agent 在后台干活。需要确认的时候 Agent 停下来等你。这种协作方式,比"给 Agent 一个空白浏览器让它自己想办法登录"自然得多。