核心问题: 你是需要让代理进入你已登录的浏览器,还是可以接受它驱动一个需要重新登录的独立无头实例?
RepoDaily 采用评分
RepoDaily 将该项目的采用分评为 88/100(强):分数来自文章来源、安装路径、生产风险、差异化、许可证清晰度以及 AI/Agent 适配度。
包含 4 个来源、覆盖 3 类来源;如有 RepoDaily 独有模块,会进一步提高证据分。
检测到 6 个工作流步骤、4 个下一步动作,以及 4 个命令/安装信号。
趋势热度为 +884 stars;如内容中有 release、issue 或维护信号,会提高维护可信度。
采纳风险标记为 medium,并包含 4 条安全说明与 3 条跳过条件。
2 个机会视角、3 个替代方案,以及 4 个类型化模块支撑差异化判断。
文章中包含许可证来源或许可证表述。
文章正文和元数据中检测到 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 是一款为共享而设计的浏览器,而不是挂载到无关浏览器上的驱动器。这一区别决定了下文列出的各项取舍。
为什么现在变热
- 在 2026-07-25 获得 884 个周期星标和第 6 的趋势排名,反映出社区对“代理复用人类浏览器会话”的强烈需求。
- 直接对接主流代理——README 明确点名 Codex 和 Claude Code,仓库还附带 `.claude-plugin/` 插件市场清单。
- 零配置上手:一个 Chrome 迁移提示加一个 `/ego-browser` 调用,代理就能继承已认证状态。
- 运行时采用 MIT 许可,技能包可通过 npm 安装(`npx skills add citrolabs/ego-lite`),降低了代理优先用户的门槛。
解决什么问题
- 现有自动化框架驱动的是独立浏览器,登录态无法顺畅迁移,代理只能以未登录状态启动。
- 人和代理共享同一个浏览器实例时,常常为同一个标签页或窗口抢焦点。
- 各站点的选择器、登录流程、Cookie 墙等差异,每次新的代理运行都得重新摸索。
- 在代理上下文里重新认证既慢,又带来凭据管理风险。
工作原理
- 从 cdn.ego.app 下载 ego lite 的 macOS 应用(Apple Silicon 或 Intel DMG),或运行 `npx skills add citrolabs/ego-lite` 仅安装技能。
- 首次启动时,同意 Chrome 数据迁移提示,让登录、Cookie、扩展和书签迁入 ego。
- 安装器会把 `ego-browser` 技能放入机器上每个代理的 skills 目录。
- 在代理 CLI 中输入 `/ego-browser`,再加一段自然语言指令,例如 `ego-browser follow @ego_agent on x.com for me`。
- 代理加载该技能,在隔离的 Space 中打开页面,并通过 `ego-browser nodejs <<'EOF' ... EOF` 执行一段 Node heredoc,所有 helper 注入到作用域中。
- 任务状态(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 脚本对比耗时。
RepoDaily 判断
ego-lite 真正的贡献在架构层面:它把浏览器当作带 Node.js 辅助运行时的共享基础设施,而不是从外部驱动的提线木偶。TypeScript 包结构清晰,heredoc 执行模型合理,站点包是差异化资产。但分量也不轻——仅支持 macOS、闭源浏览器二进制、站点包需要持续维护。如果你在 macOS 上重度使用 Claude Code,今天就值得接入;否则值得持续关注。