Agent 网页任务实战
如何向 Agent 描述网页任务、什么时候让 Agent 暂停、任务完成后如何复核。
这一页先讲清楚 ego lite 能拿来做什么,再带你完整跑一个任务,看清从自然语言 prompt 到结构化结果之间发生了什么。
ego lite 是 Agent 替你在网上干活的地方。任何需要登录态才能用的网站(CRM、收件箱、ATS、记账工具、社交账号、订票网站、内部 admin panel)Agent 都能从头跑到尾。Agent 读你的自然语言 prompt,写一段 ego-browser nodejs heredoc,在 Space 里跑,不会打扰你正在用的标签页。
录好的 demo 视频都在 lite.ego.app/use-cases。本页最下面会以 Expedia 订机票为例,一步步走一遍。
开始之前
-
确认已经装好 ego lite,参见 快速开始。
-
至少一款已经注册了
ego-browserskill 的 Agent CLI:Claude Code、OpenAI Codex、Cursor、Gemini CLI、Opencode。 -
在 Agent CLI 里输入:
/ego-browser <用自然语言描述任务>Agent 会自动加载
ego-browserskill 的上下文,自己写出对应的 heredoc,你只负责描述需求。
你能用 ego lite 做什么
你在一个已经登录的浏览器里能做的事,Agent 都可以在一个或多个 Space 里替你完成。
-
社交媒体。 回复推文、用自己笔记里的内容做引证 quote-tweet、起草和排队发推、抓互动数据、监控提及、拉账号活动。X、LinkedIn、Threads、Reddit、Instagram、Facebook 都可以。只要这件事需要登录态才能拿到数据或执行动作、public API 给不了,ego lite 都能补上。
-
求职和招聘。 在 LinkedIn、Wellfound、YC startup jobs 上搜岗位。过滤结果、点 Apply 跳进 ATS(AshbyHQ、Greenhouse、Lever、Workday)、上传简历、填模拟答案、停在 Submit 之前等你确认。
-
房产、金融、购物。 用你自己的条件过滤 Redfin、Zillow、Apartments.com 房源,跑它们的房贷和负担能力计算器,把结构化数据写到本地 markdown。Amazon 比价、Costco 批量下单、把 API 关得死死的券商后台,也是同一套打法。
-
预订类。 机票、酒店、餐厅完整流程,用模拟乘客或客人数据走到支付页之前为止。下面的 Expedia walkthrough 就是这种任务的完整样本。
-
SaaS 后台工作。 HubSpot、Salesforce、Notion、Airtable、Linear、Stripe dashboard、GA4、Search Console、Mixpanel。拉报表、刷新仪表板、批量更新字段、定时发送。任何 public API 受限、不全、要付费才能用的地方,ego lite 都能补上。
-
内部工具。 你自己的 admin 后台、staging 环境、QA 流程。任何卡在 SSO 后面、自动化框架进不去的地方,ego lite 因为继承了你日常浏览器的真实登录态,可以直接走通。
下面的全流程拆解会带你过一个任务,从 prompt 到结果,让你看清底层在做什么。
Expedia 单程订机票:全流程拆解
一个跑在 Expedia 美国站上的真实任务:搜下周五 JFK 到 MIA 的单程航班,过滤直飞,按价格升序排,挑 Delta 或 American Airlines 里最便宜的一班,用模拟乘客信息填到支付页之前停下,把航班号、起飞时间、含税总价回传给 Agent CLI。从 prompt 到结果一共 14 步浏览器操作。
先看视频,再读后面两节,看这种任务难在哪、ego lite 怎么扛住。
Prompt:
Search Expedia for a one-way flight next Friday from New York (JFK) to Miami (MIA). Apply the "Nonstop" filter and sort results by "Price (Lowest to Highest)." Choose the cheapest flight operated by either Delta Air Lines or American Airlines, then proceed to the passenger information page. Use the following mock data to fill out the passenger form:
- Name: Alex Morgan
- Date of Birth: 1992-10-12
- Gender: Male
- Email: alex.m@example.com
Stop before the payment page. Then provide:
- Flight number
- Departure time
- Total price including taxes and fees.
录制视频:
Agent 把这条 prompt 翻译成一段 ego-browser nodejs heredoc,放进一个不碰你前台标签页的 Space 里跑,最后回一条结构化的 cliLog:American Airlines AA 655, 5:35am, $188.40,停在距离付款一步的位置。
这个任务到底难在哪
我们挑 Expedia,是因为它把现代网页常见的硬骨头一次性打包在一个 14 步流程里。同样的坑你在 CRM、ATS、内部 admin panel、任何一个你日常依赖的 SaaS 上都会遇到。这里 5 个东西叠在一起:
- 日期选择器:每个日期格子既没有
aria-label,也没有data属性,只有显示出来的数字。 - "Nonstop" 过滤器:aria-label 里带着实时航班数和当前最便宜的价格(
"12 Nonstop flights from $189")。任何写死字符串的 selector 在 Expedia 下一次调价之后就失效。 - 排序下拉框:只要在打开和选项点击之间触发过任何 DOM 层级的 JS click,就会关掉。
- "Bundle & Save" 升级 modal:里面的 "No thanks" 链接没有稳定的 accessibility ref,而且只在某些 fare type 下出现。
- Trip Summary 和 Checkout 之间还插着一个 "Continue without choosing seats?" 强制选择 modal,不处理会无声卡住整个流程。
这些都不是稀奇玩意儿。Notion、Linear、Airbnb、Salesforce、LinkedIn、Stripe dashboard,几乎所有你周二早上会打开的工具,底下都是同一套:React、受控输入、modal 驱动的流程、每周都在 A/B 测的布局。在这些工具上挑一个稍微复杂一点的任务,Agent 都至少会撞上这 5 个里的几个。
Expedia 的特别之处只在于,它把这 5 个一次性全塞进了一个 14 步的流程,让我们能完整录下来。所以我们挑了它。如果 ego lite 在 Expedia 上扛得住,那你日常清单上其他事情,它也都能扛。
ego lite 啃下这个硬骨头的方式
同样 5 个痛点,每一个都对应到 ego lite 的一个具体架构选择:
- 没有语义标记的日期格子。
ego-browser的 snapshot 在自定义 Chromium 引擎的 kernel 层生成,所以这种语义贫瘠的元素也能拿到稳定的loc=路径和正确的父子结构。snapshot 不够用时,Agent 在同一段 heredoc 里进js(String.raw\...`)直接查 DOM(.uitk-month-double-left+td.innerText === '5'`)找到正确的格子。两层能力一段脚本搞定,不用来回 round trip。 - 会变值的 aria-label。 selector 支持部分匹配(
input[aria-label*="Nonstop flights"]),脚本不用依赖 Expedia 不调价才生效的精确字符串。 - JS click 会关掉的下拉框。
click('@N')走的是 CDP 派发的真鼠标坐标,不是 DOM 层的 click event,下拉框开着的状态在两次点击之间不会被打断。一段 heredoc 里两个@Nclick,先开后选。 - 没有稳定 ref 的 modal。 ref 不行的时候,Agent 在
js()里算出链接的getBoundingClientRect(),调click([x, y])按坐标点。同一个click()helper 同时接受 CSS selector、ref、视口坐标、元素相对偏移。 - 强制选择 modal。 kernel 层的 snapshot 能稳定看到
[role="dialog"][aria-modal="true"]这种覆盖层,包括 React portal 挂到主树之外的 modal。脚本看到 modal 在,就找到里面的 "Continue to Checkout" 按钮点过去。
这 5 个对应的背后是同一个根本选择:Code base,不是 CLI base。 Agent 一次写完一段完整脚本,一次跑完,在同一段 heredoc 里自由切换 semantic ref、页面侧 JavaScript、原始 CDP 这三层能力。不会陷进「调一条命令、看结果、再调一条」的死循环,把一个 14 步任务变成一次 14 轮模型调用的拉锯。
支撑这个选择的还有几块:
- 真实的 Chrome 登录态。 你日常 Chrome 的 bookmark、cookie、扩展、登录、Profile,首次启动时一键迁移过来。不用启动空白 headless Chromium,不用「先关掉 Chrome 再说」,也不会因为 headless 这个特征触发更狠的反爬。
- 独立的 Space。 Agent 在 Expedia 上跑 14 步的整个过程里,你前台的标签页完全没动。没有弹窗抢焦点,没有标签页跳到新窗口,更不会突然在你刚才选中的文字上点一下。
- 用你自己的 Agent。 Claude Code、OpenAI Codex、Cursor、Gemini CLI、Opencode 都通过同一个
ego-browserskill 驱动 ego lite。你不会被锁死在某一个模型或某一种 assistant UX 上。
上面这个 Expedia walkthrough 只是一个任务。同一套架构按同样的方式,可以覆盖本页最上面列出的所有类别。
拿你今天真要做的一件事,去试一下
判断 ego lite 适不适合你,最快的办法就是拿你今天清单上一件真要做的事,去试一下。
如果你还没装
两种方式任选其一。
或者在任意 Agent CLI 的终端里跑:
curl -fsSL https://lite.ego.app/install.sh | sh
两种方式都会装好 ego lite 浏览器、ego-browser helper,并把 skill 注册到机器上每一个 Agent CLI。首次启动会问你一件事:要不要迁移浏览器数据?然后选择对应的浏览器进行确认,登录态、cookie、扩展、Profile 都会一键带过来。
如果你已经装好了
打开 Agent CLI,输入 /ego-browser,后面跟上你要它做的事。
不知道先试什么?下面五条挑一条直接粘进去就能跑。
社交媒体
/ego-browser Pull every mention of my X account from the last 24 hours, sort by engagement, and draft a reply to each. Queue the drafts, don't post anything.
求职和招聘
/ego-browser Search LinkedIn for remote "product manager" jobs posted in the last week. For the top 10, pull company, title, and salary range into a markdown table.
房产和购物
/ego-browser Search Zillow for 2-bedroom rentals in Seattle under $3000/month that allow pets. List address, rent, square footage, and link as a table.
预订类
/ego-browser Search Expedia for hotels near Miami Beach next Saturday night, 4 stars and up, under $200. Sort by rating, list the top 5, and stop before booking.
SaaS 后台
/ego-browser Log into my Salesforce, group this quarter's pipeline by stage, and export the total amount and deal count per stage to markdown.
粘好回车,然后打开 ego lite 上的 Space 面板,看 Agent 干活。