ego-lite 从入门到精通:比 Computer Use 更适合 Codex 的浏览器自动化方案
Codex 很强,Claude Code 很强,AI 很强。
但所有深度使用 Codex 的人,早晚都会撞上同一堵墙 —— 你的 Codex 在处理需要登录的网页时,体验极其糟糕。
让 Codex 帮查个后台数据,它要重新登录;让它处理一封 Gmail,它说“需要登录”;让它刷一下 X 时间线,它只能干瞪眼。
即便借助 Codex 自带的 Computer Use 强行打开登录态网页,体验也往往不尽如人意:靠视觉识别看屏幕慢如龟速、直接抢占鼠标光标,频繁断连,遇到复杂的页面还容易打回原形。
最后大家还是选择回到原始人模式:自己打开网页,截图,把内容粘给它。一遍,两遍,天天如此。
今天这篇长文,就是来拆掉这堵墙的。
主角叫 ego-lite——一个专门为 AI 而生、又同时给人类用的浏览器。对于频繁依赖 Agent 自动化流程的开发者来说,它提供了一个比 Computer Use 快得多、干净得多、且完全不抢鼠标的浏览器专属解决方案。
读完这篇指南,Codex 的能力边界会被往前推一大块。
一、先说每天都在撞的那堵
深度依赖 Codex 的日常里,痛苦基本长一个样:
- 终端里是神,网页上是瞎子:Codex 在 CLI 命令行、脚本编写、重构代码上能力极其惊人,但只要任务涉及真实的 Web 世界(尤其带鉴权的私有页面),它就立刻变成了瞎子。
- 传统自动化工具环境太干净:Playwright、Puppeteer 每次启动都会起一个全新的、极其干净的临时 Profile。里面空空如也,Cookie、Session、会员状态、后台登录全都没有。要让 Codex 查东西,你必须先写脚本模拟登录,遭遇 2FA 验证码时脚本直接崩掉。
- 视觉交互体验太重:Computer Use 虽然能开网页,但它走的是“截图 -> 视觉模型识图 -> 推算相对坐标 -> 模拟硬件鼠标点击”的视觉闭环。这个过程极度依赖模型对坐标的理解精度,不仅视觉循环速度慢(单次交互可能耗时 3-5 秒),而且它会直接抢占系统鼠标焦点,导致人类用户在旁边连打字都会断行。
- 截图搬运回归石器时代:最终,大部分人的工作流退化成了:自己手动打开浏览器 -> 复制 Cookie/截图 -> 贴进 Codex -> Codex 提示信息不全 -> 再截一张。本应自动化的 Agent 变成了“截图驱动型 AI”。
这些痛点的本质只有一个:Codex 没有一双能快速、静默地看见真实网络世界的“眼睛”,更没有一只干净不扰人的“手”能帮着操作它。
ego-lite 干的事,就是把“眼睛”和“手”给 Codex 装上。而且是装在它自己的隔离空间里——不碰你的正常浏览器,也不抢键盘鼠标。
二、ego-lite 是什么
一句话定义
ego-lite 是一个 Chromium 内核的浏览器,同时服务人类和 AI Agent。它给 Codex 提供隔离的“任务空间”,并在任务空间里复用真实的登录态。
- 它是个真浏览器:它不是普通的无头壳子(headless),也不是一个简单的 WebDriver 封装,而是带有完整 Chromium 内核的真浏览器。人类能正常跑的复杂 JS 单页应用(SPA)、WebAssembly 以及加密验证,它完全支持
- 它有“任务空间”(Task Space):这是它与所有同类工具最本质的区别。每个 Codex 任务对应一个独立的空间,空间内部拥有属于自己的标签页与上下文,与人类主界面相隔离。Codex 在隔离空间里打开 10 个标签页进行深度搜索,人类在主窗口阅读文章,两者互不干扰。
- 任务空间默认继承登录态:全场 MVP。ego-lite 底层设计实现了配置目录(User Data Directory)安全共享与隔离机制。Codex 介入时,不需要输入账号密码或重新走 2FA 流程,直接复用当前用户的 Session。查 Gmail、看后台、刷数据、回私信,上手就能干。
把它的定位形容为 “Codex 的私人办公室” 再合适不过——独立、干净、而且带着门禁卡。
角色职责划分
在深入具体工作流之前,不妨先把两者的分工看清:
| 角色 | 负责的事 | 交互模式 |
|---|---|---|
| 人类 | 用自然语言提需求:“帮我查一下后台今天的订单数并汇总” | 自然语言交互 |
| Codex | 规划任务、决定使用哪个 Task Space、拼出 ego-browser nodejs 命令、执行、读取语义树输出、汇总汇报 | CLI 命令行执行 / JS 闭包构建 |
| ego-lite | 在隔离空间里真正渲染网页、复用 Cookie 登录态、将 DOM 转换为语义树输出给 Codex | Chromium 内部调度 / CDP 桥接 |
在使用过程中,人类永远不需要手写脚本,那全是 Codex 的活。
三、与其他自动化方案有什么不同
在已经拥有 Computer Use、Playwright 或 browser-use 的前提下,ego-lite 依然不可替代,原因在于它是一条更高效、更不打扰人的浏览器“专用通道”。
\1. 对比 Codex 自带的 Computer Use
Computer Use 是官方给出的通用桌面兜底方案:在没有 API 和标准结构时,靠视觉识别“看屏幕、猜坐标、模拟点击”。
- 速度与响应:Computer Use 的“视觉截图 -> LLM 坐标识别 -> 模拟硬件鼠标”闭环单次耗时非常明显,且模拟硬件鼠标动作会强制抢占系统光标;ego-lite 走的是 DOM 结构化语义通道,通过语义树(snapshotText)直接读懂页面结构并精准触发点击事件,响应速度高出一个量级,且支持后台静默执行,不抢占键盘鼠标。
- 登录态稳定性:Computer Use 依赖于桌面上的浏览器实例,频繁开启新窗口或注入插件时,继承登录态极其不稳定;而 ego-lite 在底层架构层面原生支持了配置目录的身份继承。
可以说,Computer Use 是“啥都能干但比较笨重”的桌面级兜底,ego-lite 则是“快速、干净、不打扰人”的浏览器专属通道。
\2. 对比传统自动化工具(Playwright / Puppeteer / browser-use)
- 传统工具:起一个全新的干净 Profile,里面没有任何 Cookies 或 LocalStorage。要跑自动化,要么写代码重新模拟登录,要么手动导出 Cookie 文件进行注入。一旦 Cookie 过期,脚本直接崩溃。它们是面向“测试工程师”在 CI/CD 环境下设计的,而不是面向“AI Agent 协作”。
- ego-lite:直接复用真实登录态,Codex 进去就能干活。同时用“隔离任务空间”保证不干扰正常浏览,彻底解决了 Agent 安全、无缝在真实网络世界干活的问题。
\3. 方案综合对比
| 维度 | Playwright / Puppeteer | Computer Use | browser-use | ego-lite |
|---|---|---|---|---|
| 登录态复用 | 困难(需手动导 Cookie/写登录逻辑) | 中等(依赖桌面打开的窗口) | 困难(默认新上下文) | 原生无缝继承 |
| 操作模式 | 代码/无头 (Headless) | 视觉识图 + 硬件鼠标 | 视觉 + DOM 结合 | 结构化语义 + 隔离空间 |
| 对人类打扰 | 低 | 高(抢占鼠标/屏幕焦点) | 中等 | 零打扰(后台静默执行) |
| 人机接管 | 无(遇到 Captcha 直接报错崩溃) | 需手动终止 Agent | 较为繁琐 | 无缝人机交接(自动弹窗等待) |
\4. 关键特性:人机控制权交接
传统自动化工具遇到验证码(Captcha)或二次确认,通常只能报错崩溃,Agent 框架也容易直接卡死。
而 ego-lite 支持人机协同机制:当 Codex 撞上验证码或高风险二次验证时,它会主动把隔离的任务窗口弹到前台,同时暂停 Agent 的执行;人类直接在界面上点完验证码,在终端回复一声“好了”,Codex 便能顺畅接过控制权继续干活。遇到障碍不硬打,交还给人类处理——这是真实场景里极其地道的机制。
四、安装:一条命令,两分钟
目前优先支持 macOS(支持 Apple Silicon M 系列及 Intel 架构)。
\1. 执行安装脚本
打开终端,直接运行官方安装脚本:
1 | sh skills/ego-browser/scripts/install.sh |
脚本自动完成的事项:
自动检测系统的 CPU 架构(arm64 或 x64),从官方 CDN 下载最新的 DMG 安装包;
将 ego
解压并安装到 /Applications 应用程序目录;
自动移除 macOS 的
.quarantine 属性,直接绕过 Gatekeeper 的首次安全拦截;
启动应用进入首次 Onboarding 指引(支持一键导入 Chrome 历史数据与 Cookie),并将 ego-browser CLI 工具自动注册到系统的 PATH 路径中。
\2. 环境验证与 Troubleshooting
安装完成后,打开新的终端标签页,校验环境变量:
1 | command -v ego-browser |
常见坑点排查:若终端提示 command not found: ego-browser,通常是因为 ~/.local/bin 没有包含在当前的 shell 环境变量中。在你的 ~/.zshrc 或 ~/.bashrc 中补上导出配置即可:Bashexport PATH=”$HOME/.local/bin:$PATH” 重新加载配置:source ~/.zshrc
\3. 运行时验证
执行以下极简脚本,测试 Node.js 桥接与 CLI 的连通性:
1 | ego-browser nodejs <<'EOF' |
若终端正确打印出 ego-browser ready,即代表整个底层交互环境配置完毕。
将它设计成 CLI 而非普通依赖库的原因很纯粹:CLI 是 Codex 最自然的操作接口。不需要额外的 import 或繁琐配置,一条命令接一个 heredoc 即可完成交互。
五、第一次运行:自动化任务的底层逻辑
在实际日常使用中,代码全部由 Codex 自动拼装运行。
例如给出这样一句指令:
“用 ego-browser 打开
,把页面上有什么告诉我。”
Codex 收到后,会在后台静默拼装并运行如下代码:
1 | ego-browser nodejs <<'EOF' |
这段逻辑建立了名为 inspect google page 的隔离空间,在内部打开目标页面,并将其解析为语义树输出。
snapshotText() 是最核心的观察 API。它返回的是一棵带有结构注释的语义树(基于 Accessibility Object Model 构建):
1 | - Heading level=1 "Example Domain" [loc=1:1] |
[ref=
]:给每一个可交互元素分配的临时引用编号;
[url=…]:可交互链接的真实目标 URL;
[loc=…]:底层 DOM 的稳定物理定位器,防止 DOM 重新渲染导致编号漂移。
需要特别关注的是,
编号仅在最近一次 snapshotText() 的结果中有效,页面一旦发生刷新、滚动或 Ajax 动态加载,索引就会重建。若要在多步脚本中长期引用特定元素,使用 loc=… 或 CSS 选择器会更加稳妥。
六、核心概念:任务空间
任务空间(Task Space)是 ego-lite 的灵魂。 这是整套流程中最值得在提示词里跟 Codex 交代清楚的概念。
\1. 隔离的浏览上下文
- 每个 Task Space 拥有独立的标签页集合(Tabs Group),在逻辑与视图上互相隔离;
- 所有 Task Space 共享宿主浏览器的真实登录凭证,免除鉴权烦恼;
- 生命周期管理:关闭 Task Space 内部的所有标签页,系统即判定该 Task Space 已销毁并自动释放资源。
通过这种设计,Codex 在自己的房间里折腾,人类在客厅正常工作,互不打扰,但门禁卡(登录态)完全通用。
\2. 多轮任务的状态保持
每次 Codex 跑完一段 heredoc,Node.js 运行时进程就会退出。面对跨多轮的复杂任务,每一轮开头都需要找回同一个空间以恢复之前的页面上下文:
1 | ego-browser nodejs <<'EOF' |
提示词习惯:在交互时,如果希望 Codex 跨多轮都在同一个空间内操作,可以在需求里明确说明:“接着刚才那个任务继续,别开新空间。” 这样可以有效防止 Codex 每轮都创建新空间导致状态丢失。
七、三种工作流的按需选择
针对不同的网页结构,系统提供了三条工作流:
工作流一:语义工作流(默认推荐)
Codex 使用 snapshotText() 获取语义树,再通过编号、loc 定位器或 CSS 选择器进行精准交互。
1 | ego-browser nodejs <<'EOF' |
适用场景:绝大多数标准 Web 站点、包含完整 DOM 结构的电商页面、文档站、论坛、SaaS 后台管理系统。
工作流二:视觉工作流(画布类应用)
面对 Google Docs、Google Sheets、飞书文档、Notion、Figma、Excalidraw 等“画布型”(Canvas/Virtual DOM)应用,真正的文本内容被绘制在
此时需要切换为 截图 + 视觉坐标 + 真实键盘输入 的组合打法:
1 | ego-browser nodejs <<'EOF' |
提示词习惯:遇到这类画布应用时,在提示词中补充一句:“这个页面是画布类应用,用视觉工作流,别用 DOM 输入”,Codex 就会自动切换模式。
工作流三:直接 DOM / CDP 模式
用于获取浏览器内部状态、执行复杂 DOM 遍历、注入长段 JS 逻辑或直接调用 Chrome DevTools Protocol 原语:
1 | // 执行原生的 JavaScript 动态数据抓取 |
八、五大实战场景拆解
以下演示了自然语言需求与 Codex 后台脚本的映射关系:
场景一:搜索与结构化数据抓取
自然语言需求:“帮我搜一下 claude code setup,把 Google 前 5 条结果的标题和链接整理成 JSON 读给我。”
Codex 自动拼装运行的后台脚本:
1 | ego-browser nodejs <<'EOF' |
场景二:复用登录态(提取带鉴权 SaaS 后台指标)
自然语言需求:“去我的 SaaS 仪表盘后台看一下今天的 GMV 和新增订单数,直接汇报结果。”
Codex 自动拼装运行的后台脚本:
1 | ego-browser nodejs <<'EOF' |
场景三:自动填表与复杂文件上传
自然语言需求:“去表单页面填写信息,邮箱写 test@example.com,标题写 ‘AI 自动化报告’,再把桌面上的 report.pdf 传上去,提交后告诉我结果。”
Codex 自动拼装运行的后台脚本:
1 | ego-browser nodejs <<'EOF' |
场景四:跨多轮的深度追问与多页联动研究
第一轮需求:“帮我研究下 AI Agents 架构,先搜索一下。” 底层行为:useOrCreateTaskSpace(‘agent-research’) -> 搜索并渲染页面。
第二轮需求:“点进第一个结果,看看它的核心结论。” 底层行为:useOrCreateTaskSpace(‘agent-research’) -> 获取先前标签页 -> click(‘
‘) 打开详情。
第三轮需求:“接着刚才的任务,往下滑动,并把页面里的结构图截个图。” 底层行为:useOrCreateTaskSpace(‘agent-research’) -> 复用上下文 -> scrollDown() -> captureScreenshot()。
在整个 3 轮交互中,任务空间一直处于维持状态,DOM 与历史状态完全保留。
九、无缝接入 Codex 工作流
把配置成本降到最低,只需在 Codex 的全局 Prompt 或配置中加上约束。
建议将以下配置写入项目根目录的 .codex/instructions.md 或全局 AGENTS.md 提示词库中:
markdown
1 | ## 浏览器自动化准则 (ego-lite 集成) |
在实际使用中,有几个非常实用的提示词习惯:
- 面对超长页面,可加上:“页面很长,只看当前视口内容即可。”
- 面对画布应用,主动强调:“用视觉工作流,别用 DOM 输入。”
- 面对多轮连续任务,明确指示:“接着刚才那个任务,别开新空间。”
十、客观的边界与局限
没有任何工具是完美的,ego-lite 目前同样存在明确的边界:
- 操作系统支持:目前的极速安装脚本与自动化挂载对 macOS(尤其 Apple Silicon)支持最为完善,Linux 与 Windows 尚未提供开箱即用的安装包,尚需手动编译配置。
- 生态与 API 稳定性:由于其面向极客与 Agent 开发者,部分 CLI 拓展参数与内嵌 API 在版本快速迭代中可能发生微调,生产环境脚本建议锁定版本,并以官方最新的 SKILL.md 定义为准。
- 画布应用性能开销:在 Notion、Figma、Google Sheets 等强 Canvas 渲染的应用中,强制使用的“截图 + 视觉坐标”闭环,其响应流畅度自然无法与原生 DOM 操作相比。
- 登录态授权的安全界限:任务空间继承了真实的登录身份,相当于将门禁卡交给了 Agent。面对涉及资金交易、敏感身份重置或高风险删除操作的站点,切记谨慎授权。
写在最后
每一个深度依赖 Codex 的开发者,都曾被“登录态网页”折磨过。直接跑 Playwright 会缺失 Cookie,用 Computer Use 又嫌它笨重抢光标,手动截图搬运更是效率黑洞。
ego-lite 提供了一个极佳的折中解:隔离的任务空间 + 复用的登录态 + 结构化语义通道。
从今天起,告别慢吞吞的视觉识别和截图搬运。装一个 ego-lite,把 Codex 接进去。试过之后会发现:Codex 的能力边界,从来不是模型决定的,而是由人类愿意给它多少“真实世界”决定的。





