如何为ego-lite编写自己的Learnings:以google和x-com为例的完整指南
2026/9/15 17:10:03 网站建设 项目流程

如何为ego-lite编写自己的Learnings:以google和x-com为例的完整指南

【免费下载链接】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 助手在你登录的浏览器环境中并行运行任务,零成本、零配置。本文将以仓库内置的 google 和 x-com 两个 Learnings 为例,手把手教你如何为自己的常用网站编写 Learnings(站点技能),让 AI Agent 越用越快、省 token。

什么是 Learnings?为什么值得写一个

AI Agent 执行浏览器任务时,大部分时间都花在"试错"上:猜选择器、找按钮、反复观察页面。ego-lite 的官方思路是把每一次成功的操作沉淀为可复用的Learnings(站点技能)——包含页面结构笔记和可调用工具,之后同类任务最多可提速 5 倍。

你可以把 Learning 理解成一份"网站说明书 + 工具包",Agent 打开对应域名时会自动加载它。

ego-lite 在四项复杂浏览器自动化任务上比同类工具快最多 2.5 倍,而 Learnings 机制会在这个基础上再叠加一份"经验红利":

Learnings 的目录结构:一个 Learning 长什么样

所有 Learnings 都放在统一目录下,每个网站一个子目录:

  • 根目录:skills/ego-browser/learnings/
  • 加载与匹配逻辑:package/ego-browser/src/learning/

每个站点目录固定包含 4 部分:

文件/目录作用
manifest.json声明清单:站点 id、名称、匹配域名、工具注册表
notes/页面结构笔记(Markdown),告诉 Agent "页面长什么样"
tools/Node 端工具:可操作浏览器的异步函数
browser-tools/浏览器端工具:在页面上下文里直接执行的函数

加载时,ego-lite 会根据当前 URL 的域名匹配manifest.json中的domains列表,把 notes 内容和工具签名注入 Agent 上下文(实现见 index.ts 中的loadLearnedContext)。

示例一:google 的 Learning——"搜索并提取结果"

1️⃣ 声明清单 manifest.json

google 站点的清单只注册了 2 个工具,但字段信息完整:

  • 站点定义:manifest.json
  • domains覆盖google.com*.google.com等,保证任何子域名的搜索页都能命中
  • nodeTools.search_and_extract指向tools/search-extract.js,暴露参数query(必填)和maxResults(选填),返回值是{title, url, snippet}数组

关键点:每个工具都要写清 description、参数类型和返回值,Agent 是靠这些签名来"看懂"工具用法的,写得越具体,调用成功率越高。

2️⃣ 写页面笔记 notes/overview.md

google 的 overview.md 是极简的"选择器速查表",只记三件事:

  • 页面结构:搜索框是textarea[name="q"],结果容器是div#search,每条结果在div.g
  • 导航方式:直接用https://www.google.com/search?q=...打开,首屏即加载完成,无需滚动
  • 常见选择器:自动补全下拉是div[role="listbox"]

3️⃣ 实现工具:一次完成多步操作

两个工具文件展示了两种典型的工具形态:

  • Node 端工具search-extract.js:先打开搜索 URL,再一次性批量提取前 N 条结果的标题、链接和摘要——把"打开页面 + 逐个读结果"压缩成一次调用
  • 浏览器端工具autocomplete.js:直接运行在搜索框所在页面的上下文里,读取当前输入联想出的候选词

两者对比能帮你判断该写哪种:需要切换页面、控制浏览器流程的写 Node 端;只读当前 DOM、操作已聚焦元素的写浏览器端。

示例二:x-com 的 Learning——应对"反点击包裹"和虚拟列表

x.com 的 Learning 比 google 复杂一些,它演示了如何把"踩过的坑"写进笔记。

1️⃣ 清单里多了一个 notes 文件

x-com 的 manifest.json 注册了 2 份笔记和 3 个工具:

  • get_timeline_posts(timeline.js):批量提取当前时间线帖子
  • search_users(search-users.js):按关键词搜索用户
  • post_from_active_element(extract-post.js):从当前聚焦元素提取单条推文

domains同时覆盖x.comtwitter.com两个域名,新旧域名都命中。

2️⃣ 笔记的价值:把坑写下来

notes/overview.md 专门标注了一个叫Anti-click-wrap的现象:推文文本在[data-testid="tweetText"]里,但可点击区域是外层的[data-testid="tweet"]——如果只告诉 Agent "点文本",它就会被外层包裹结构误导。

notes/timeline.md 则补充了时间线的两条实操知识:

  • 帖子随滚动懒加载,且虚拟列表只渲染可见区域 + 缓冲区
  • 置顶帖永远是时间线第一个[data-testid="tweet"],过滤时要小心跳过

这类"只有一步之差"的细节,正是 Learnings 相对通用浏览器的核心优势:经验可以被积累和传承

动手写你的第一个 Learning:三步流程

以你常用的任意网站为例,照下面三步做即可:

第 1 步:建目录——在 skills/ego-browser/learnings/ 下新建your-site/,创建notes/tools/browser-tools/三个子目录。

第 2 步:写笔记——打开目标网站,用浏览器开发者工具找出核心元素的选择器,仿照 google 的 overview.md 记录:入口选择器、内容容器、常见交互区域。格式没有硬性限制,写清楚即可。

第 3 步:注册工具——创建manifest.json,仿照 x-com 的清单 填写idnamedomainsnotes,然后为每个工具文件写好descriptionargs(含type/required/description)和returns

编写工具的两条黄金法则

  1. 一次通过(one pass):把多步操作合并进单个工具,让 Agent 写一段代码就完成整个子任务,而不是"调一次命令→看结果→再调一次"
  2. 参数要有兜底:参考 search-extract.js 里的boundedInteger写法,对数值参数做范围约束(如 1~100),防止 Agent 传入离谱值导致任务失败

校验你的 Learning 是否合法

写完后不要直接让 Agent 跑,先做格式校验:

  • 校验规则实现:validate-learning-format.ts,提供validateLearning(校验单个站点)和validateLearnings(遍历校验整个 learnings 目录)
  • 域名学习检测:check-domain-learning.ts

校验通过后,下次 Agent 访问匹配域名的页面时,你的笔记和工具签名就会自动注入它的上下文中——Agent 无需再摸索,直接调用你沉淀好的经验。

总结

步骤要点
建目录放在 skills/ego-browser/learnings/ 下,一网站一目录
写笔记仿照 google/notes/overview.md,记录选择器与导航方式
写工具Node 端管流程,浏览器端读 DOM;参数做好兜底
注册清单仿照 x-com/manifest.json,字段写全
跑校验用 validate-learning-format.ts 检查格式

Learnings 的规范细节还可以参考 spec/agent-skills-spec.md。从你最常用、结构最稳定的网站开始,哪怕只写一份 google 那样简单的搜索提取,Agent 的效率和 token 消耗都会有立竿见影的改善 🚀

【免费下载链接】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),仅供参考

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

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

立即咨询