EgoLite:让Claude Code用你的浏览器并行干活

为什么AI上网总是踩坑
你让AI上网干过活吗?爬网页、填表格、测界面——只要试过,多半都踩过同一个坑:AI每次打开浏览器都要重新登录,或者干脆抢走你正在用的标签页。这背后其实是浏览器自动化领域长期存在的三大结构性问题。
浏览器自动化技术从早期的Selenium发展到Puppeteer再到Playwright,已经经历了近二十年的演进。Selenium诞生于2004年,最初是ThoughtWorks工程师Jason Huggins为了解决内部Web应用测试而开发的工具,它通过WebDriver协议控制浏览器,但每次都需要启动全新的浏览器实例。2017年Google推出Puppeteer,利用Chrome DevTools Protocol(CDP)直接与Chromium通信,速度大幅提升但仍是单浏览器模型。2020年微软推出Playwright,支持多浏览器且引入了BrowserContext概念实现轻量级隔离,但其设计仍围绕确定性测试脚本而非动态AI决策。这三代工具的共同局限在于:它们都假设操作者知道确切的执行步骤,而AI Agent的核心特征恰恰是需要根据页面反馈动态调整策略。但这些工具的设计初衷都是面向「测试工程师」而非「AI Agent」。它们假设用户会手动处理登录、管理实例生命周期,并在确定性脚本中执行。当LLM Agent开始接管浏览器操作时,这些假设全部失效——Agent需要动态决策、并行执行、并且继承人类的会话状态,而传统工具完全不具备这些能力。Browser Use、LaVague等新一代AI浏览器工具虽然试图弥合这一鸿沟,但仍受限于底层浏览器架构的约束。
第一,登录态无法继承。像 Browser Use 这类工具需要独立的浏览器实例,AI打开你的 GitHub、Gmail 时每次都要重新登录,验证码接踵而至。第二,人和 Agent 抢浏览器。AI 操作当前标签页时,你只能在旁边干等,一动鼠标它又乱套,互相干扰。第三,CLI 方案又慢又费 Token。每一步都是一个工具调用:打开、看、找元素、点击、再打开,每次都要序列化和重建上下文。
当AI Agent需要理解一个网页时,传统方案会将整个DOM树序列化为文本传给大语言模型。一个典型的现代网页可能包含数千个DOM节点,序列化后轻松超过3万Token。以GPT-4o的定价计算,仅「看一眼」网页就要花费约0.15美元的输入成本。更关键的是,这些Token中绝大多数是不可见元素、样式标签和脚本代码——对Agent决策毫无帮助。这就是为什么Token优化不仅关乎成本,更直接影响Agent的推理质量和响应速度。当模型的上下文窗口被无意义的HTML标签填满时,真正重要的信息(按钮文字、表单字段、导航结构)反而被「淹没」,导致Agent做出错误决策或遗漏关键操作步骤。

举个真实场景:让 AI 批量把十个公司线索填进表格,它打开浏览器却发现没有你的登录态,验证码直接卡住,或者抢走你正在用的标签页。这里有一个本质洞察——瓶颈不是 API,而是浏览器本身。Agent 真正需要的,是一个能继承你登录态、还能并行运行的浏览器。
EgoLite是什么:一个浏览器,两个用户
EgoLite 的切入点很直接:既然问题出在浏览器,那就重新做一个浏览器。它不是一个插件或工具,而是一个完整的 Chromium 浏览器,从头为「人类 + AI Agent 并行」而设计。
它由 Citra Labs 开源,GitHub 已获 7000 多 Star,采用 MIT 协议完全免费,兼容 Claude Code、Codex、Cursor 三大 Agent 环境——装好后会自动注册 Ego Browser 技能,三端通用。这种兼容性背后依赖的是 Model Context Protocol(MCP)或类似的技能注册标准。MCP是Anthropic于2024年底提出的开放标准,旨在为AI模型提供统一的外部工具和数据源接入方式。它定义了一套JSON-RPC风格的通信协议,允许本地或远程服务将自己的能力「注册」为模型可调用的工具。每个工具注册时需声明名称、输入参数的JSON Schema、能力描述和返回格式。Agent在规划阶段会检索可用工具列表,根据工具描述判断哪个工具适合当前子任务,然后构造符合Schema的参数发起调用。当EgoLite安装后,它会在本地技能目录中注册一个「Ego Browser」工具描述,包含工具名称、参数结构和能力说明。当Agent需要执行浏览器操作时,它会识别到这个已注册的技能并调用对应的本地API。这种松耦合的插件架构使得同一个浏览器后端可以服务于不同的Agent前端,而不需要为每个平台单独开发适配层——工具提供者和AI模型之间无需直接集成,只要遵循同一协议即可互操作。目前仅支持 macOS,Windows 和 Linux 已在路线图中。

核心概念可以用一句话概括:一个浏览器,两个用户。你正常浏览网页,Agent 在独立的 Space 里干活,你的标签页纹丝不动,随时可以接管或停止任意 Space。隐私方面也让人放心——浏览数据全部留在本地设备,只记录你是否选择迁移 Chrome,不上传任何浏览内容。
EgoLite四大核心特性
EgoLite 与传统浏览器自动化方案的根本区别,体现在四个特性上,而这四点叠加起来才产生质变。
Spaces隔离并行
每个 Agent 任务对应一个独立 Space,十个任务可以同时跑,且与你的标签页完全隔离。这把「多开」从容易冲突的苦差事,变成了一键式体验。
EgoLite的Space隔离借鉴了Chromium的多进程架构和Profile机制。Chromium的多进程架构是其安全模型的基石——每个标签页运行在独立的渲染进程中,通过IPC(进程间通信)与主进程交互。BrowserContext是Chromium中比Profile更轻量的隔离单元,它可以拥有独立的Cookie存储、缓存和权限设置,但不需要完整复制用户数据目录。每个Space本质上是一个独立的浏览器上下文(BrowserContext),拥有独立的渲染进程、网络栈和JavaScript执行环境,但共享同一份用户数据(Cookie、登录态)的只读快照。EgoLite在此基础上做了关键创新:它为每个Space创建BrowserContext时,会以COW(Copy-on-Write)方式引用主Profile的登录态数据。这意味着读取Cookie时共享同一份数据,但任何Space对Cookie的修改都不会影响主Profile或其他Space,实现了「继承但隔离」的效果。不同Space之间无法相互访问DOM或篡改彼此的网络请求,就像多个虚拟机共享同一硬件但彼此隔离。这种设计既保证了并行任务的稳定性,又避免了启动多个完整浏览器实例带来的内存开销——十个Space的资源消耗远低于十个Chrome窗口。
Chrome数据继承实现免登录
首次启动时迁移登录态、Cookie、扩展和书签,Agent 直接用你的账号,零配置。这是「免登录」的关键所在。
技术上,Chrome将用户数据存储在一个固定的用户数据目录中(macOS上通常位于~/Library/Application Support/Google/Chrome/),其中包含Cookies SQLite数据库、Login Data加密存储、Local Storage和IndexedDB等。EgoLite的迁移过程会读取这些文件并导入自己的存储格式中。值得注意的是,现代浏览器的Cookie往往绑定了设备密钥(如macOS Keychain中的加密密钥),EgoLite需要在同一设备上才能正确解密和使用这些凭证——这也是它目前要求本地安装而非云端部署的原因之一。对于基于OAuth Token的登录态,迁移后Token的有效期和刷新机制保持不变,Agent使用时就像你本人在操作一样自然。
Snapshot省Token机制
传统方案把完整 HTML 喂给模型,动辄三万多 Token;而 EgoLite 用语义化的 Snapshot,只保留可见、可交互的元素,Token 直接降到两三百。这个 Snapshot 基于 Chromium 无障碍树构建,对复杂 iFrame 和 Shadow DOM 也有内核级支持。
Chromium无障碍树是浏览器为辅助技术(如屏幕阅读器)构建的页面语义结构。W3C的ARIA(Accessible Rich Internet Applications)规范定义了一套角色、属性和状态的词汇表,浏览器据此为每个页面构建无障碍树。它将视觉呈现的网页转化为一棵语义化的树形结构,每个节点包含角色(button、link、heading)、名称、状态和可执行的操作。与完整DOM不同,无障碍树天然过滤了纯装饰性元素,只保留对用户交互有意义的内容。这棵树的节点数量通常只有DOM节点的10%-20%,因为纯样式容器(如div嵌套用于布局)、不可见元素和装饰性图片都会被过滤。以一个典型的SaaS定价页为例:完整DOM可能有4000个节点序列化为35000 Token,而无障碍树可能只有200个语义节点,序列化后仅需200-400 Token。更重要的是,无障碍树中的每个节点都自带交互语义——按钮就是按钮、链接就是链接——Agent无需像解析原始HTML那样推断元素的交互性质。EgoLite利用这一机制构建Snapshot,本质上是让AI像视障用户使用屏幕阅读器一样「感知」页面——高效、语义清晰、且不受CSS布局或JavaScript框架的干扰。对于Shadow DOM和跨域iFrame这类传统爬虫难以穿透的结构,无障碍树同样能在内核层面完整暴露其交互元素。
Codebase驱动一次执行
Agent 写一段 JS 脚本,一次执行整个任务,而不是 N 轮工具往返,速度比 CLI 方案快 2.5 倍。
传统CLI驱动模式下,Agent每执行一步操作都需要:1)向LLM发送当前页面状态,2)LLM返回下一步指令,3)工具执行该指令并返回新状态。一个五步操作需要五轮完整的LLM调用,每轮都有网络延迟和Token开销。以一个典型的五步网页操作为例量化这种差异:CLI模式需要5次LLM调用(每次约1-3秒网络延迟)+ 5次页面状态序列化(每次约200-500ms)+ 5次工具执行(每次约300ms),总耗时约15-25秒,消耗约5000-8000 Token。Codebase驱动模式则让LLM在第一轮就生成完整的执行脚本,后续步骤在本地JavaScript运行时连续执行,无需反复调用模型。只需1次LLM调用生成脚本(约2-4秒)+ 1次本地连续执行(约1.5秒),总耗时约4-6秒,消耗约800-1200 Token。这类似于从「逐行解释执行」升级为「编译后批量执行」,不仅快2.5倍,还大幅降低了因网络抖动或API限流导致的任务中断风险。对于步骤更多的复杂任务(如填写10个表单字段),性能差距可达5-8倍。此外,批量执行还消除了中间状态丢失的风险——CLI模式中如果第三步调用超时,前两步的执行结果可能已经无法恢复。

工作原理:快照-操作-验证的循环
一次任务如何跑起来?四步走。第一步,你下指令,比如「/ego-browser 打开 GitHub Trending,总结前五个热门项目」。第二步,Agent 基于 Ego Browser 技能,把任务编译成一段「快照-操作-验证」的 JS 脚本。第三步,脚本在隔离的 Space 里执行:打开页面、读快照、操作、返回结果。第四步,你的标签页全程不受影响。
核心就是一个循环——快照、操作、验证,一次脚本跑完,而不是 N 轮工具调用。这个循环的设计灵感来源于经典的「感知-决策-执行」(Perception-Decision-Action)循环,但做了关键简化:传统Agent架构中每个循环迭代都需要回调LLM做决策,而EgoLite将决策前置——LLM在生成脚本时已经预判了可能的页面状态,并在脚本中内置了条件分支(如「如果按钮不存在则等待」「如果出现弹窗则关闭」)。这意味着脚本在执行过程中能自主处理常见异常,只有遇到完全预料之外的情况才需要回调Agent重新规划。
给大家看一段真实脚本的逻辑:打开定价页 → 读快照 → 点「联系销售」→ 填邮箱 → 提交,五步一次执行完毕。
下面这张对比表能清晰看出差距:
| 维度 | 传统方案 | EgoLite |
|---|---|---|
| 登录态 | 独立实例,重新登录 | 迁移 Chrome 数据,直接用你的账号 |
| 并行任务 | 一个浏览器一份任务 | 十个 Space 并行互不干扰 |
| 驱动方式 | CLI 逐步调用,N 轮往返 | Codebase 一段 JS 一次执行 |
| Token 消耗 | 完整 HTML 三万+ | 快照仅两三百 |
EgoLite安装教程与三大实战场景
安装有三种方式,任选其一。方式一(最推荐):运行 npx skills@citra-labs/egolite,首次执行浏览器任务时会引导你安装 EgoLite 应用。方式二:根据芯片架构下载对应 DMG 安装包,双击安装后自动在所有 Agent 技能目录注册 Ego Browser。方式三:把「setup egolite for me」直接贴给 Claude Code,让它读安装文档自动配置。
有三点提示:首次启动会问是否迁移 Chrome 数据,务必选「是」,这是免登录的核心;三端技能通用;当前仅 macOS 可用。关于macOS限制,这主要是因为EgoLite深度集成了macOS的安全框架——包括Keychain用于Cookie解密、沙箱机制用于Space隔离、以及Gatekeeper签名验证。跨平台移植需要为每个操作系统重新实现这些安全原语,这也解释了为什么Windows和Linux版本需要额外的开发时间。

实战上有三个可直接照抄的场景:
- 销售与运营批量搜集线索:开十个 Space 并行去十家公司官网找联系人并填表,你同时写邮件,互不打扰。这个场景下,每个Space继承了你CRM系统的登录态,Agent可以直接将搜集到的信息填入对应的客户记录中,而无需你手动切换上下文或重复登录。
- 竞品调研自动化:开五个 Space 并行抓取五个竞品站的价格和更新日志,结果汇总成表。由于Snapshot机制只传递语义化内容,即使竞品网站使用了复杂的前端框架(React、Vue等)或反爬机制,Agent依然能通过无障碍树准确识别价格数字和版本号等关键信息。
- 重复网页操作批量执行:批量关注、批量填表、监控页面变化,这些脏活累活交给 Space 里的 Agent。
这三个场景覆盖了 AI 上网最有价值的三件事:搜集、调研、自动化。核心一句话——凡是要打开网页、点好几下的事,都能丢给它,用大白话描述任务即可。
使用EgoLite的四条黄金准则
最后收尾四条实践准则:第一,首次启动务必迁移 Chrome 数据,这是免登录的关键;第二,善用 Space 并行,多任务同时开;第三,依赖 Snapshot,把 Token 花在刀刃上;第四,随时可接管半信半疑的任务,看着它跑,随时抢方向盘。
第四点值得展开说——EgoLite的「接管」设计体现了一种被称为「Human-in-the-Loop」的AI协作哲学。你可以随时暂停某个Space中的Agent执行,查看当前页面状态,手动完成一两步操作(比如Agent不确定要点哪个按钮时),然后再将控制权交还给Agent继续执行剩余步骤。这种灵活的控制权切换,使得Agent不需要100%的准确率就能产生价值——即便它只能正确完成80%的步骤,剩下20%由人类快速补位,整体效率仍然远高于纯手动操作。
如果今天只带走一句话,那就是:给 AI 一个能继承你登录态的浏览器,让人和 Agent 并行不打扰。这也正是 EgoLite 试图重新定义浏览器自动化的核心逻辑——不是造一个更聪明的工具,而是换一个更合适的载体。从更宏观的视角看,EgoLite代表了AI工具链演进的一个重要趋势:当AI能力足够强大时,瓶颈往往不在模型本身,而在模型与物理世界(这里是浏览器)之间的接口层。谁能设计出更高效的接口,谁就能释放AI的真正潜力。
核心要点
核心要点
相关推荐

机器学习研究入门:必读论文清单与研究实习申请路径
为ML初学者整理从零到研究实习的完整路径,包括必读经典论文清单(AlexNet、ResNet、Transformer等)、论文阅读方法、复现技巧及研究实习申请的实用建议。

Claude Code 入门实战教程:安装配置到自动化开发完整指南
详解Claude Code从环境搭建、权限配置、Go目标自主循环、Skills技能系统、MCP协议集成到版本控制的完整开发流程,帮助开发者快速掌握AI编程自动化工具。

Gemini 3.7 Flash发布与GPT-5.6极速模式:AI开源迈向生态时代
谷歌发布Gemini 3.7 Flash专注编程与Agent优化,OpenAI推出GPT-5.6 Ultra-Fast模式实现14倍速度提升。AI开源从开放模型转向开放生态,Agent工具链与成本监控工具密集涌现,智能体工作流进入实用化阶段。