如何为ego-lite贡献第一个新站点Learnings?首个PR实战指南
2026/9/16 12:19:47 网站建设 项目流程

如何为ego-lite贡献第一个新站点Learnings?首个PR实战指南

【免费下载链接】ego-liteThe fastest browser for AI agents to run browser automation, built for sharing your logged-in browser state with your AI agents, like Codex or Claude Code, without disturbing you. Zero cost, zero config.项目地址: https://gitcode.com/GitHub_Trending/eg/ego-lite

ego-lite是为 AI Agent 打造的最快浏览器自动化运行环境,让 Codex、Claude Code 等 AI 助手直接复用你已登录的浏览器状态。它的Learnings(站点知识包)机制允许每个网站沉淀一份可复用的"地图"——页面结构、稳定选择器和现成工具函数。想给项目提第一个 PR?新增一个站点 Learnings 就是门槛最低、收益最高的切入点。本文带你走完整条实战流程 🧭

为什么从 Learnings 入手?

Learnings 目录完全独立于核心源码,改它不需要理解整个 TypeScript 运行时,也不会影响其他站点的行为。对新手而言:

  • 📦改动范围小:一个站点就是一个文件夹,包含 4 类文件
  • 🤖价值直观:你写的工具函数会被 AI Agent 直接调用,让它在对应站点上更快、更准
  • 有自动校验兜底:内置校验脚本会在你提交前拦住所有格式错误

上图是官方基准测试:在真实 Web 任务中,ego-lite 不仅更快,成本也更低。而你贡献的 Learnings,正是让 AI 在这些任务上表现更好的"秘密武器"。

Learnings 目录结构速览

每个站点的知识包位于 skills/ego-browser/learnings/ 下,结构固定:

learnings/<站点名>/ ├── manifest.json # 元数据:域名匹配、工具清单与参数模式 ├── notes/*.md # 人类可读的站点笔记:页面结构、导航方式、边界情况 ├── tools/*.js # Node 侧工具(在 CLI 进程中运行) └── browser-tools/*.js # 浏览器侧工具(注入页面内运行)

可以直接对照两个成熟示例学习:

  • Google 示例:manifest.json、notes/overview.md、tools/search-extract.js
  • X (Twitter) 示例:manifest.json、notes/overview.md

官方贡献指南的 Site Learnings 章节 也对此有权威说明。

实操:5 步新增一个站点 Learnings

第 1 步:克隆仓库并准备环境

git clone https://gitcode.com/GitHub_Trending/eg/ego-lite cd ego-lite/package/ego-browser npm ci

第 2 步:仿照现有站点搭建目录

skills/ego-browser/learnings/下新建你的站点目录,例如learnings/my-site/。目录名将成为站点的id——manifest 中的id字段必须与目录名完全一致,否则校验直接失败。

第 3 步:编写 manifest.json

manifest 是"说明书",告诉运行时应匹配哪些域名、有哪些工具。核心字段:

字段作用
id/name站点标识(须等于目录名)与展示名
domains[]域名匹配列表,支持*.example.com通配
notes[]指向notes/*.md的笔记路径
nodeTools{}Node 侧工具:路径必须是tools/*.js,并声明callable导出函数名
browserTools{}浏览器侧工具:路径必须是browser-tools/*.js

每个工具还需声明descriptionargs(参数名 + 类型 + 是否必填)和returns。类型仅限string / number / integer / boolean / array / object

第 4 步:写笔记与工具函数

notes 是"地图"不是"日记":只记录页面结构、稳定选择器(CSS / ARIA / 文本)、导航方式和边界情况。参考 x-com 的 overview.md,它清晰列出了data-testid选择器与防误点模式。

硬性红线(校验器会扫描你的所有文件):

  • ❌ 禁止出现像素坐标、密钥/token、任务流水账
  • ❌ 禁止临时快照引用(如@12ref=12这类编号),必须用稳定选择器
  • ✅ 只捕获站点的"形状",而非你某次任务的经过

第 5 步:本地校验

cd package/ego-browser npm run validate:site-skills

校验规则全部实现在 validate-learning-format.ts,会逐一检查:manifest 合法性、域名格式、notes 路径、工具文件是否存在、callable函数是否真实导出、是否混入临时引用。校验逻辑本身可参考 src/learning/index.ts 中工具如何被加载与调用。

提交 PR 前的自检清单

按照 CONTRIBUTING.md 的流程,你的 PR 需要满足:

  1. 分支与提交:从main拉分支,提交信息遵循 Conventional Commits,scope 用站点名,如feat(learnings/my-site): add search tool
  2. 最小验证门槛npm test全绿;涉及 Learnings 改动时npm run validate:site-skills通过
  3. PR 描述三件套:改了什么(一句话)、为什么改、如何验证(附运行示例或截图)
  4. 加上 release-note 标签(如feat),方便自动生成分组发布说明
  5. 注意:CI 会在每次 PR 上自动执行npm test+validate:site-skills,本地先跑过可避免往返 🚀

常见踩坑一览

报错原因
manifest id must match directory nameid字段与文件夹名不一致
path must be a relative tools/*.js pathNode 工具没放在tools/下或路径写了绝对路径
missing Node callable工具文件的导出函数名与 manifest 中callable不匹配
contains temporary snapshot ref代码或笔记里写了@12这类临时引用,请换稳定选择器

结语

一个站点 Learnings 通常只有几个文件、百来行代码,却是让 ego-lite 变得更聪明的真实贡献。挑一个你天天用的网站,把"地图"画出来——你的第一个 PR,就从这里开始 🎉

【免费下载链接】ego-liteThe fastest browser for AI agents to run browser automation, built for sharing your logged-in browser state with your AI agents, like Codex or Claude Code, without disturbing you. Zero cost, zero config.项目地址: https://gitcode.com/GitHub_Trending/eg/ego-lite

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询