RepoDaily · 2026-07-25 · Infrastructure / Runtime

ego-lite:让人与 AI 代理共享同一台浏览器的 Chromium 方案

#6 Infrastructure / Runtime JavaScript +884 citrolabs/ego-lite 打开仓库

citrolabs/ego-lite 把一个 macOS 版 Chromium 应用与 Node.js 辅助运行时打包在一起,代理可以直接继承你已登录的账号和标签页,而不必和你抢同一个窗口。

项目类型Infrastructure / Runtime
最适合在 macOS 上使用 Claude Code、Codex 等代理,并希望这些代理复用自己已认证浏览器会话的开发者。
风险等级中等——项目处于早期,仅支持 macOS,本仓库不附带浏览器二进制,并依赖通过 npm 之外渠道分发的闭源浏览器应用。
评估时间30 分钟即可完成 DMG 安装、Chrome 数据迁移,并从代理 CLI 跑通一个 /ego-browser 任务。

核心问题: 你是需要让代理进入你已登录的浏览器,还是可以接受它驱动一个需要重新登录的独立无头实例?

88/100

RepoDaily 采用评分

RepoDaily 将该项目的采用分评为 88/100(强):分数来自文章来源、安装路径、生产风险、差异化、许可证清晰度以及 AI/Agent 适配度。

基于 RepoDaily 来源和采用说明的方向性评分,不是基准测试。风险: 中
96证据质量

包含 4 个来源、覆盖 3 类来源;如有 RepoDaily 独有模块,会进一步提高证据分。

100可安装/可试用性

检测到 6 个工作流步骤、4 个下一步动作,以及 4 个命令/安装信号。

67维护可信度

趋势热度为 +884 stars;如内容中有 release、issue 或维护信号,会提高维护可信度。

88生产准备度

采纳风险标记为 medium,并包含 4 条安全说明与 3 条跳过条件。

94差异化

2 个机会视角、3 个替代方案,以及 4 个类型化模块支撑差异化判断。

82许可证清晰度

文章中包含许可证来源或许可证表述。

84Agent / AI 适配度

文章正文和元数据中检测到 6 个 AI/Agent 相关信号。

项目概览

ego-lite 是 citrolabs 针对一个具体痛点给出的答案:当 AI 代理需要在网页上执行任务时,通常要自己启动一个浏览器、从零登录,还会和人类用户抢同一个标签页的焦点。本仓库打包的是一个 Node.js 辅助运行时和一个代理技能包,跑在一款名为 ego、基于 Chromium 的浏览器应用之上。它主打的是并行——代理在隔离的 Spaces 中执行任务,而你的标签页仍然归你。

本仓库并不附带浏览器二进制。根据 CONTRIBUTING.md,`ego-browser` 才是那款 Chromium 浏览器,`ego-lite` 是跑在它之上的 Node.js 辅助运行时和代理技能包。macOS DMG 从 cdn.ego.app 下载,技能通过 `npx skills add citrolabs/ego-lite` 或应用安装器接入到你的机器上。首次启动时应用只会问一个问题——是否迁移 Chrome 数据——如果同意,你的登录、Cookie、扩展和书签都会一并迁入。

在底层,运行时使用 TypeScript,目标平台为 Node.js >= 22 的 ESM 模式。代理通过 `ego-browser nodejs <<'EOF' ... EOF` 从浏览器内部调用 CLI,每个 heredoc 在一个全新的 Node 进程中执行,所有 helper 都被注入到作用域里。任务空间、标签页、登录会话等状态都保存在浏览器侧,而不是 Node 进程中,这让 helper 保持轻量,并让浏览器掌控安全敏感的会话数据。

README 将 ego-lite 与 browser-use、agent-browser 对标,称它们是需要额外浏览器的自动化框架。无论这种表述是否公允,架构差异是真实的:ego-lite 是一款为共享而设计的浏览器,而不是挂载到无关浏览器上的驱动器。这一区别决定了下文列出的各项取舍。

解决什么问题

  • 现有自动化框架驱动的是独立浏览器,登录态无法顺畅迁移,代理只能以未登录状态启动。
  • 人和代理共享同一个浏览器实例时,常常为同一个标签页或窗口抢焦点。
  • 各站点的选择器、登录流程、Cookie 墙等差异,每次新的代理运行都得重新摸索。
  • 在代理上下文里重新认证既慢,又带来凭据管理风险。

工作原理

  1. 从 cdn.ego.app 下载 ego lite 的 macOS 应用(Apple Silicon 或 Intel DMG),或运行 `npx skills add citrolabs/ego-lite` 仅安装技能。
  2. 首次启动时,同意 Chrome 数据迁移提示,让登录、Cookie、扩展和书签迁入 ego。
  3. 安装器会把 `ego-browser` 技能放入机器上每个代理的 skills 目录。
  4. 在代理 CLI 中输入 `/ego-browser`,再加一段自然语言指令,例如 `ego-browser follow @ego_agent on x.com for me`。
  5. 代理加载该技能,在隔离的 Space 中打开页面,并通过 `ego-browser nodejs <<'EOF' ... EOF` 执行一段 Node heredoc,所有 helper 注入到作用域中。
  6. 任务状态(spaces、tabs、sessions)由浏览器持有,Node 进程是临时的,heredoc 结束即被丢弃。

架构解读:本仓库到底包含什么

仓库分为两层。`package/ego-browser/` 是用 TypeScript 编写、可运行的 npm 包:通过 `src/index.ts` 引导,用 `src/run.ts` 执行 stdin,在 `src/helpers.ts` 中组合 helper 表面,再通过 `src/browser-runtime.ts` 经由 CDP 与浏览器通信。元素解析集中在 `src/element-resolver.ts`,除 CSS、XPath、ARIA 外还支持 `@eN` 引用。

能力驱动位于 `src/driver/` 下——`pointer.ts` 负责点击/悬停/拖拽/滚动,`keyboard.ts` 负责输入和按键,`nav.ts` 负责页面和标签导航,`observe.ts` 负责快照和截图,`waits.ts` 负责等待原语,`files.ts` 负责文件上传。`src/learning/` 模块负责加载和校验站点级知识包。

第二层是 `skills/ego-browser/`,即代理技能包。它提供 `SKILL.md` 和 `SKILL.zh.md` 使用指南,以及 `learnings/<site>/` 站点包,覆盖 github、google、x-com 等站点。CONTRIBUTING.md 明确指出,浏览器二进制并不在本仓库——这里只有辅助运行时和技能层。

试用路径:跑通一个任务的最小步骤

  • 运行环境要求:Node.js >= 22,ESM,macOS。
  • 最快路径:从 cdn.ego.app 下载 Apple Silicon 或 Intel DMG,安装并同意 Chrome 迁移。
  • 仅技能路径:`npx skills add citrolabs/ego-lite` 只安装 ego-browser 技能,不含应用;首次执行任务时再安装应用。
  • 代理驱动路径:粘贴 `Set up ego lite for me: https://github.com/citrolabs/ego-lite`,让代理读取 `skills/ego-browser/references/install.md`。
  • 验证命令模式:在代理 CLI 中运行 `/ego-browser <自然语言任务>`,仓库示例为 `ego-browser follow @ego_agent on x.com for me`。

集成面:代理如何与浏览器对话

代理通过 heredoc 协议与 ego 通信:`ego-browser nodejs <<'EOF' ... EOF`。CONTRIBUTING.md 指出,每个 heredoc 都在一个全新的 Node 进程中执行,所有 helper 注入到作用域里,因此任务之间不会有长期存活的 JS 上下文被污染。

helper 表面包含 `cdp()` 和 `js()`(来自 `src/cdp-eval.ts`)用于浏览器侧直接求值,以及更高层的 pointer、keyboard、navigation、observe、waits、files 驱动。站点级行为通过 `learnings/<site>/` 包加载,这意味着 github、google、x-com 等常见站点可以附带人工整理的选择器和流程,而不必依赖通用解析。

仓库根目录的 `.claude-plugin/` 目录携带一份 Claude Code 插件市场清单,这是 README 中 Claude Code 兼容性说法背后的具体机制。

维护风险:来自仓库的信号

  • 平台覆盖狭窄:发布时仅支持 macOS;Windows 和 Linux 列在 lite.ego.app/roadmap 的路线图上。
  • 浏览器二进制是闭源的,通过 cdn.ego.app 的 DMG 分发——开源仓库只是运行时和技能层,不是浏览器本身。
  • 源材料中未公开测试结果、覆盖率或发布节奏;CI 声明为 `.github/workflows/ci.yml`,运行 `node --test` 套件。
  • github、google、x-com 的站点包会随这些站点改版而失效,维护成本随支持站点数量线性上升。

谁适合关注

适合关注

  • 你在 macOS 上使用 Claude Code、Codex 或类似代理,并希望它在你已认证的浏览器中操作。
  • 你经常自动化同一批站点(github、google、x.com),并能从现成的站点包中受益。
  • 你希望代理与你并行工作,而不是接管你正在使用的标签页。

可以先跳过

  • 你在 Windows 或 Linux 上——目前不支持,仅在路线图中。
  • 你需要完全开源的浏览器栈——ego 浏览器二进制本身不在本仓库中。
  • 你需要的是没有本地 GUI 浏览器的服务端无头自动化。

风险与注意事项

架构理念优秀、技能打包干净,但目前仅支持 macOS,依赖闭源浏览器二进制,并且依赖容易随站点改版失效的站点包。

  • 浏览器二进制在本仓库中并不开源;信任取决于 CitroLabs 从 cdn.ego.app 分发的 DMG。
  • Windows 和 Linux 仍在路线图上,难以在团队层面统一推广。
  • github、google、x-com 的站点包对上游 UI 变更较为脆弱。
  • Node.js >= 22 的要求可能排除较旧的代理运行时。
  • 迁移 Chrome 数据会把 Cookie、会话、扩展和书签交给 ego——从凭据信任角度看,应将 ego 应用视为一整款完整浏览器。
  • 代理 heredoc 通过 `ego-browser nodejs <<'EOF' ... EOF` 执行,helper 注入到作用域;页面中任何提示注入内容都可能影响该代码路径。
  • 浏览器侧持有登录会话状态,比通过 Node 进程传递凭据更安全,但一旦 Space 的隔离不够强,被攻破的 Space 仍可能触及已认证会话。
  • MIT 许可仅适用于本仓库;浏览器二进制的许可是独立的,源材料中并未涵盖。

替代方案比较

方案适用场景代价
browser-use
当你想要一个开源自动化框架,驱动外部浏览器,且不需要共享个人登录态时。开源。
当你需要跨平台、可脚本化的浏览器自动化,具备成熟的多浏览器支持,且不需要共享人类会话时。开源。
代理侧浏览器扩展
当你希望代理在已有 Chrome 实例中操作,而不安装另一款浏览器应用时。视具体方案而定。

这个趋势说明了什么

站点学习包作为护城河

`learnings/<site>/` 目录已经为 github、google、x-com 整理了行为。如果能为企业内部高频 SaaS 应用贡献高质量站点包,ego-lite 有机会成为这些环境下代理自动化的默认选择。

检查 `skills/ego-browser/learnings/` 中现有站点包格式,能否在不改代码的前提下为你最常用的三款内部工具编码登录、搜索和导航流程。

Claude Code 插件市场入口

`.claude-plugin/` 清单把 ego-lite 摆进了 Claude Code 插件市场。在 Windows 和 Linux 支持落地之前,一份带演示任务的精致插件页可能抢先占据开发者心智。

通过 Claude Code 插件路径安装,端到端跑通一个任务,并与需要重新登录的 Playwright 脚本对比耗时。

下一步建议

在 macOS 上安装并跑通一个已认证任务

最短的有效评估方式是:安装 DMG、迁移 Chrome 状态,并让代理完成一件平时需要登录的任务——例如查看私有 GitHub 仓库,或从已登录的 X 账号发帖。

  1. 从 cdn.ego.app 下载 Apple Silicon 或 Intel DMG 并安装。
  2. 首次启动时同意 Chrome 数据迁移。
  3. 打开代理 CLI,运行 `/ego-browser open github.com and list my private repositories`。
  4. 与需要重新登录的 Playwright 跑法对比结果和耗时。

RepoDaily 判断

ego-lite 真正的贡献在架构层面:它把浏览器当作带 Node.js 辅助运行时的共享基础设施,而不是从外部驱动的提线木偶。TypeScript 包结构清晰,heredoc 执行模型合理,站点包是差异化资产。但分量也不轻——仅支持 macOS、闭源浏览器二进制、站点包需要持续维护。如果你在 macOS 上重度使用 Claude Code,今天就值得接入;否则值得持续关注。

信息来源