跳转到主要内容
返回教程列表

【开源推荐】ego lite:AI 浏览器自动化新选择

一个为你和 AI Agent 共用的 Chromium 浏览器。继承你的登录态、低自动化痕迹、多 Space 并行。本文覆盖安装配置、四大实操场景,并与 Chrome DevTools MCP、Playwright CLI 客观对比,帮你选对 AI 浏览器自动化工具。

约 12 分钟

1. ego lite 为什么值得一试

让 AI 操作网页这件事本身不难,难的是现有工具都没把「日常可用」做好。坑集中在三个:

坑一:登录态断层。 绝大多数自动化工具会拉起一个「干净」的浏览器实例——没有你的 Cookie、没有你登录过的账号。让 AI 帮你整理邮箱,得先在新窗口里重新登录一遍,还可能触发二次验证,而且每个需要登录的任务都要重复这一步。

坑二:自动化痕迹。 传统自动化框架(Puppeteer、Playwright)驱动的浏览器带有明显的机器特征:navigator.webdriver = true、空白的用户 Profile、反常的时序行为。对反爬严格的网站(机票、社媒、电商),轻则弹验证码,重则直接封禁。

坑三:人和 AI 抢浏览器。 很多方案是「桥接」你正在用的浏览器——AI 接管了它,你就没法用了;你动一下鼠标,AI 的定位就可能跑偏。同一时刻,浏览器只能服务一方。

市面上的方案大致是三条路线:

路线代表典型短板
MCP 桥接Chrome DevTools MCP默认启动独立调试实例,登录态不继承
命令行 / 代码库Playwright CLI、Browser-Use、Vercel agent-browser自动化痕迹明显,连接脆弱,人机互抢
内置 Agent 的 AI 浏览器ChatGPT Atlas、Perplexity Comet只有内置 AI 能用,你自己的 Claude Code / Codex 进不去

ego lite 走的是第四条路:它本身就是一个完整的 Chromium 浏览器,你日常用它上网;同时它内置了给 Agent 用的连接层(ego-browser skill),让任何主流 Agent CLI 都能进来干活——在你旁边的独立工作区里,用你已经登录的账号。

前面三个坑,正好对应它的三个设计:迁移 Chrome 数据解决登录态断层,真实浏览器 + 真实 Profile 解决自动化痕迹,Space 隔离工作区解决人机互抢。这就是本文推荐它的原因。


2. ego lite 是什么:三个核心概念

2.1 定位:一个浏览器,而不是一个「驱动器」

ego lite 基于 Chromium,扩展、历史、登录态可以从 Chrome 原样迁移,日常浏览体验几乎无差别。关键区别在于:它从设计之初就假设浏览器有两个用户——你,和你的 AI Agent。

整个体系由两部分组成:

  • ego lite 浏览器本体:渲染页面、保存登录态、提供隔离工作区;
  • ego-browser skill:安装时自动写入本机各 Agent 的技能目录(如 ~/.agents/skills、~/.claude/skills),Agent 通过它把 JavaScript 脚本送进浏览器执行。

2.2 Space:每个 Agent 的独立工作区

Snapshot:把网页变成带编号的结构化文本树

一个 Space 就是浏览器内一个完全隔离的工作区,有自己的一组标签页:

  • Agent 在它自己的 Space 里开页面、点按钮、读内容,你正在浏览的标签页完全不受影响——鼠标指针都不会动;
  • 可以同时存在多个 Space:Claude Code 在一个 Space 里整理线索,Codex 在另外五个 Space 里抓五个竞品网站,互不干扰;
  • 你随时能看到哪个 Space 有 Agent 在跑,并且可以随时接管或叫停。

2.3 Snapshot:Agent 「看」网页的方式

Snapshot:把网页变成带编号的结构化文本树

纯文本模型没有眼睛,靠 Snapshot 理解页面——把当前页面转成一份结构化的文本树,每个可操作元素带一个 @数字 引用。ego lite 在引擎层做了定制,Snapshot 质量属于同类方案里的第一档,尤其在深层嵌套 iframe 这类其他方案普遍翻车的场景下依然可靠。

你现在只需要记住:Agent 干活的基本循环是「拿 Snapshot → 选目标 → 执行动作 → 再拿 Snapshot」。

2.4 Code-based,而不是 CLI-based

传统 CLI/MCP 方案的交互模式是「调两个命令 → 看返回 → 再调两个命令」,每一步都是一次独立的工具调用,中间夹着大量上下文传输。ego-browser 则把浏览器能力封装成一组 JavaScript 函数,让 Agent 做它最擅长的事——写代码:把「导航 → 等待 → 提取 → 点击 → 验证」这样的多步任务组合成一段脚本,一次送进浏览器跑完。

官方与 Vercel agent-browser 的对照 benchmark(同一模型、同一任务、各跑 5 次取中位数)显示,在四个复杂任务上 ego lite 最高快 2.6 倍、省 2 倍 token;Expedia 订机票任务上对手直接被反爬拦截,ego lite 正常完成——这是「真实浏览器 + 真实 Profile」的红利。

2.5 先泼点冷水:它的真实成本和缺点

上面的 benchmark 是相对值,别因此以为它便宜。我自己用下来的真实感受是:

  • Token 消耗依然不小。 浏览器任务的本质是「看一页、动一下、再看一页」,Snapshot 压缩得再好,一个复杂页面也是几千 token 起步。一个多步骤任务跑下来,烧掉的 token 经常比让 Agent 写一段代码还多。开三个 Space 并行,就是三倍的速度、三倍的账单。用它之前先想清楚:这件事值不值得用 token 换。
  • 仅支持 macOS。 Windows 还在封闭内测,Linux 在路线图上——这直接挡掉一大半潜在用户。
  • 它很年轻。 skill 和 API 还在快速迭代,教程里的细节几个月后可能过时,以官方文档为准。
  • 它不是测试框架。 没有断言体系、没有 CI 集成,别拿它替代 Playwright 干回归测试。
  • 登录态是双刃剑。 Agent 能用你已登录的账号,意味着它理论上也能以你的身份发消息、下订单。敏感操作不要让 Agent 代劳。

3. 前置知识

必须掌握:

  • 一个 AI Agent CLI:Claude Code、Codex 或 Cursor 任意一个,能正常对话即可(官方文档以前两者为例)。
  • 基础命令行:能打开终端、复制执行命令。
  • macOS:Windows 用户可以先收藏本文。

4. 环境搭建

4.1 环境清单

工具用途必须/可选
ego lite(最新版)浏览器本体必须
Claude Code / Codex / Cursor(任一)发起任务的 Agent必须
ego-browser skillAgent 与浏览器的连接层必须(自动安装)
Chrome迁移登录态、扩展、书签的来源可选但强烈建议

4.2 安装 ego lite

三种方式任选其一。

方式一:下载 macOS 应用(推荐)

到 GitHub 仓库(github.com/citrolabs/ego-lite)或官网下载 DMG,双击安装。安装过程会顺带把 ego-browser skill 写入机器上所有已安装 Agent 的技能目录。

方式二:用 npx 只装 skill

bash
# 只安装 ego-browser skill;首次执行浏览器任务时会引导你安装浏览器本体
npx skills add citrolabs/ego-lite

方式三:让你的 Agent 自己装

把这段话粘贴进 Agent 对话框:

text
Set up ego lite for me: https://github.com/citrolabs/ego-lite
Read `skills/ego-browser/references/install.md` and follow the steps to install ego lite.

4.3 首次启动:迁移 Chrome 数据(关键一步)

首次打开 ego lite,它会问:是否迁移 Chrome 数据。

建议选「是」。你的登录态、Cookie、扩展、书签会整体迁入,此后 Agent 操作的每个网站都是「你已登录」的状态。

迁移时系统可能要求输入开机密码——这是为了解密 Chrome 的 Cookie 和登录凭据,属正常流程。同时 ego lite 会扫描已安装的 Agent,把 ego-browser skill 写入 ~/.agents/skills、~/.claude/skills/ 等目录。

<!-- 配图位:此处插入首次启动「是否迁移 Chrome 数据」的弹窗截图(需你在 macOS 上实截) -->

4.4 调整 Agent 权限

如果你的 Agent 有权限分级,建议设为 Full access:ego-browser 需要启动本机的 ego lite 应用,沙箱外启动应用需要这个权限。以 Codex 为例,在会话权限中选择 Full access 即可。

4.5 验证安装

在 Agent 对话框输入:

text
/ego-browser 打开 example.com 并告诉我页面标题

预期结果:ego lite 被唤起,一个新的 Space 出现,Agent 在其中打开页面并回报标题「Example Domain」——你自己的标签页全程不受影响。看到这个结果,环境就绪。


5. 快速上手:第一个任务

先跑一个两分钟的任务建立直觉。在 Agent 对话框输入:

text
/ego-browser 打开 OpenAI 和 Anthropic 的官方博客,各总结最近三篇文章的要点,用中文列表回复我

接下来你会观察到一次完整的执行循环:

  1. 建 Space:Agent 创建(或复用)一个 Space,浏览器侧边能看到它开始运转;
  2. 看页面:在 Space 里打开博客页面,取一次 Snapshot;
  3. 做事情:按 Snapshot 里的元素引用逐个点开文章、读取正文;
  4. 报结果:把总结返回给你,并按需关掉它创建的页面。

整个过程你不需要碰浏览器。

<!-- 配图位:此处插入 Agent 在 Space 中执行任务的真实截图,最好同时露出聊天面板和浏览器侧栏(需实截) -->

提示:一个任务对应一个 Space。后续追加指令(「再往下翻两页」「把第三篇展开讲讲」),Agent 会复用同一个 Space,不会重复开窗口。


6. 进阶实操

四个场景由浅入深:前两个用自然语言即可,第三个开始接触 Snapshot 和选择器,最后两节涉及手写脚本和人机接力。

6.1 场景一:社媒操作(登录态继承的价值)

任务:让 Agent 在 X 上关注某个账号,并整理你关注列表里的讨论热点。

text
/ego-browser 在 x.com 上关注 @ego_agent,然后浏览我首页时间线,总结我今天关注的人都在讨论什么,列出三条热点

因为安装时迁移了 Chrome 数据,此时 X 已经是你的登录态——没有登录环节,没有二次验证,Agent 直接以「你」的身份干活。作为对比,用 Chrome DevTools MCP 做同样的事,默认会打开一个全新的调试窗口,X 会把它当作一台陌生设备要求重新登录。

干活过程中你可以切到那个 Space 实时围观——可见、可接管、可叫停。

6.2 场景二:信息抓取汇总(多 Space 并行)

任务:同时抓取多个信息源并汇总。

text
/ego-browser 并行开三个任务:分别抓取 TechCrunch、Hacker News 和 Product Hunt 今天的首页头条,汇总成一张表,包含标题、链接和一句话摘要

Agent 会为每个信息源开独立的 Space 同时工作,而不是串行地一个站点抓完再抓下一个——总耗时约等于最慢的那个任务。对「盯竞品」「盯舆情」「盯价格」这类日常监控场景很实用,配合 Agent CLI 的定时任务能力,就是一套个人情报系统。

<!-- 配图位(可选):此处插入多个 Space 同时运转的截图(需实截) -->

提醒一句:并行开几个 Space,token 消耗就翻几倍。三个信息源并行是划算,十个就请先算算账。

6.3 场景三:邮箱 / 办公自动化(读懂 Snapshot 与选择器)

任务:让 Agent 进你的邮箱,把今天的未读邮件按紧急程度分类。

text
/ego-browser 打开我的邮箱,列出今天的未读邮件,按「需要今天回复 / 本周处理 / 仅知会」分类,附上发件人和主题

跑完之后,让 Agent 把某一步的 Snapshot 打印出来:

text
/ego-browser 把当前页面的 snapshot 打印出来给我看看

你会看到类似这样的结构化文本:

text
- table "收件箱"
  - row "张三 项目周报请查收 ..."
    - checkbox @21
    - link "项目周报请查收" @22
  - row "GitHub [repo] New pull request ..."
    - checkbox @23

每个可操作元素都有一个 @数字 引用,Agent 的动作就是基于这些引用和语义选择器定位的:

  • @22 或 ref=22:直接用 Snapshot 引用;
  • loc=role:link[name='项目周报请查收']:按角色 + 名称定位;
  • text="回复":按页面文本定位;
  • loc=css:#main .unread:CSS 选择器。

看懂这个很实用:当 Agent 偶尔点错目标时,你能给出精确的纠偏指令(「你要点的是 @22」),而不是让它反复重试、白白烧 token。

6.4 场景四:开发调试 —— 用 ego lite 自测你写的网页

任务:你刚写完一个落地页,让 Agent 替你走一遍核心流程并截图。

text
/ego-browser 打开 http://localhost:3000,走一遍注册流程:填写测试邮箱 test@example.com、提交表单,确认跳转到欢迎页,每步截图保存到 ./qa-screenshots/

与 Playwright 系工具相比有一个微妙但实用的差别:ego lite 里装着你日常的浏览器扩展,Agent 操作的环境就是你用户真实面对的环境,测出来的问题更接近真实用户体验。

对于没有 DOM 语义的界面(Canvas 编辑器、地图、富文本),Agent 会切换成「截图 + 坐标级鼠标键盘」的策略,你在指令里说明「这是个画布应用,按看到的内容操作」即可。

6.5 手写 ego-browser 脚本:批量提取与文件下载

大多数时候你不需要自己写代码,但了解脚本长什么样,能帮你判断 Agent 干得对不对。ego-browser 脚本通过 heredoc 送进 Node.js 运行:

bash
ego-browser nodejs <<'EOF'
const task = await taskSpace("scrape headlines");
const page = task.page("p1");
await page.goto("https://news.ycombinator.com");

// 在页面内批量提取(evaluate 的回调运行在页面里)
const rows = await page.evaluate(
  ({ selector, limit }) =>
    [...document.querySelectorAll(selector)].slice(0, limit).map((node) => ({
      title: node.textContent?.trim(),
      href: node.href,
    })),
  { selector: ".titleline > a", limit: 30 },
);
console.log(rows);

await task.finish({ keep: [] });
EOF

三个要点:taskSpace("名称") 创建/进入一个 Space,task.page("p1") 取第一个页面;page.evaluate() 的回调跑在页面内部,适合批量提取;结尾 task.finish({ keep: [] }) 关掉 Agent 创建的页面,把 Space 还给你。

下载文件:

js
const downloadPromise = page.waitForEvent("download", { timeout: 30_000 });
await page.click("button.download");
const download = await downloadPromise;
await download.saveAs("/absolute/path/report.pdf"); // 换成你的绝对路径

6.6 人机接力:handOff 与接管

有些步骤不该让 Agent 做——比如输支付密码、过滑块验证。ego lite 的解法是把浏览器交还给你:

text
/ego-browser 帮我把购物车结算到支付页,到输密码那步停下来交给我

Agent 执行到该步骤时会调用 handOff(),控制权回到你手里;你操作完告诉它「好了」,它在同一个 Space 里继续。反过来,任何时候你都可以在浏览器界面直接接管或叫停一个正在跑的 Space。

一句话心法:简单任务用自然语言,批量任务让 Agent 写脚本,敏感步骤交还给人。


7. 横向对比:ego lite vs Chrome DevTools MCP vs Playwright CLI

7.1 对比总表

维度ego liteChrome DevTools MCPPlaywright CLI
定位人机共用的 Chromium 浏览器Google 官方调试向 MCP 服务器微软官方测试向 CLI
登录态✅ 迁移 Chrome 数据,直接继承⚠️ 默认干净实例,需重新登录⚠️ 默认干净 Profile
自动化痕迹低(真实浏览器 + 真实 Profile)较高较高
多任务并行✅ 多 Space 原生支持❌❌
Token 消耗中:比同类方案省,但绝对量仍不小高:MCP 上下文开销大较低:快照落盘、按需读取
调试 / 性能分析一般✅ 主场一般
测试 / CI❌ 不适合可用✅ 主场
平台⚠️ 仅 macOS✅ 全平台✅ 全平台
费用免费免费开源免费开源

表里的「登录态」「自动化痕迹」说的是各工具的默认行为:DevTools MCP 可以用 --browser-url 接管一个以调试端口启动的 Chrome,Playwright CLI 也能配置持久化 Profile——但配置成本本身就该算进选型里,而且这些模式下人机仍然共用同一个窗口。

7.2 Chrome DevTools MCP:为「调试」而生

它把 Chrome DevTools 的能力(性能追踪、网络分析、控制台、DOM 操作)暴露给 Agent。「帮我分析这个页面的 LCP 为什么慢」「抓一下这个请求为什么挂」——这类任务上它依然是最好的选择,ego lite 没有同等级别的性能剖析工具。

短板在日常自动化:默认启动独立的调试实例,登录态不在里面;接管日常浏览器的模式配置繁琐,而且 Agent 和你操作的是同一个窗口,互抢焦点。

7.3 Playwright CLI:为「测试」而生

微软官方为 Agent 设计的命令行入口:页面快照写成 YAML 落盘、Agent 用 run-code 执行代码,token 消耗比 Playwright MCP 低不少。

它的主场是可复现的自动化测试:CI 流水线、回归测试、跨浏览器矩阵,工程化程度是三者中最成熟的。短板在「扮演用户」:作为测试框架,它的指纹恰恰是为「被识别为自动化」设计的;持久化 Profile 和你日常 Chrome 的 Profile 也是两套世界,登录态、扩展都不共享。

7.4 选型建议

  • 「我的页面为什么慢 / 哪个请求挂了」 → Chrome DevTools MCP,性能面板和网络瀑布图是它的独门武器。
  • 「把流程固化成 CI 里的回归测试」 → Playwright CLI。注意区分「定期重复办事」和「回归测试」:前者 ego lite 也能做——跑过的脚本可以存下来复用,配合 Agent 的定时任务就能每周执行;后者要的是确定性断言和 CI 集成,LLM 驱动的操作天然做不到,这是 Playwright 的主场。
  • 「去我的邮箱 / 社媒 / CRM / 内部后台办件事」 → ego lite。这类任务的共性是需要登录态、网站有反爬、你还想同时正常上网——三条全中。
  • 「同时盯十个网站」 → ego lite,多 Space 并行是三个方案中唯一原生支持的,但注意 token 成本也随并行数线性上涨。

最后补一句实用建议:不是所有上网的事都值得派给 Agent。查个资料、看个页面这种一分钟能做完的事,自己动手更快更便宜。


结语与后续

到这里,ego lite 的核心概念(Space / Snapshot / Code-based)、四类典型场景的玩法、以及和两个主要竞品的选型逻辑都讲完了。它是我目前用过的方案里,「让 AI 替我上网办事」体验最顺的一个——但前提是你接受它烧 token 的现实,并且是个 Mac 用户。

本教程的常见问题排查、进阶拓展和 Cheatsheet 速查表三章将另行补充。如果你在实际使用中踩了坑,欢迎反馈,排查章节会优先收录真实问题。

附录

术语表

术语解释
Spaceego lite 中 Agent 的隔离工作区,包含一组独立标签页,可多开并行
Snapshot页面的结构化文本表示(基于可访问性树),Agent 赖以「看见」页面
ego-browser连接 Agent CLI 与 ego lite 浏览器的 skill,同时是执行脚本的命令行入口
@数字 引用Snapshot 中每个可操作元素的编号,供后续动作精准定位
Code-based相对 CLI 逐条命令的交互模式:把多步操作组合成一段 JS 脚本一次执行
handOff / takeOver人机接力机制:Agent 主动交还控制权,或从用户手中接管 Space

参考链接