Skip to content

Track

Track 是 WebAgent 的定型 API 之一。你描述一个监控意图,它按 schedule 反复去网页取数,和基线比对,命中变化时通过你指定的渠道通知你。

和 DoAnything / DeepResearch / WebSearch 不同:那些是「跑一次、出结果」。Track 的资源是 monitor——一个长期存在的对象,自己按计划反复跑,每次跑产生一个 run。

什么时候用

  • 你关心的是某个东西随时间的变化,而不是此刻的一次性结果。
  • 你希望在变化发生时被推送,而不是自己轮询。
  • 监控可以长期挂着——monitor 在你删除前一直存在。

只要一次性结果时,用 WebSearchDoAnything

创建一个 monitor

HTTP 端点:

http
POST /v1/projects/{pid}/track/monitors
Authorization: Bearer wa_...

请求字段:

字段类型必填说明
intentstring监控意图,自然语言
notify_channelobject通知渠道,见下方 notify_channel
scheduleobject触发计划,见下方 schedule。不传 = 用默认计划
target_urlsstring[]限定监控哪些页面;不传则 agent 自己找
extraction_schemaobject指定从页面抽取哪些结构化字段
trigger_dslobject触发条件——满足才算「命中变化」
stop_condition_dslobject停止条件——满足后 monitor 自动停
profile_idstring复用 Profile 的登录态

完整 schema 见 OpenAPI specCreateMonitorRequestschedulenotify_channel 是嵌套对象,结构见下面两节。

schedule

schedule.kind 决定 monitor 什么时候跑:

kind说明
interval固定间隔;配 interval_seconds
croncron 表达式;配 cron
event由外部事件触发;配 event_filter
autonomous由 agent 自己判断下次该什么时候跑

notify_channel

notify_channel.kind 决定命中变化时往哪推:

kind说明
callback_urlPOST 到你的 URL;配 url
global_webhook复用项目级 webhook;配 webhook_id
console_inbox推到 Console 的收件箱,适合人来看

示例

凑齐 intent + schedule + notify_channel 三者创建 monitor:

python
from web_agent.v1 import Client

async with Client(api_key="wa_...", project_id="proj_demo") as client:
    monitor = await client.track.create(
        intent="苹果股价跌破 $200 时通知我",
        schedule={"kind": "interval", "interval_seconds": 3600},
        notify_channel={"kind": "callback_url", "url": "https://hooks.example.com/track"},
    )
    print(monitor["id"], monitor["status"])

基线与变化检测

monitor 第一次跑会建立基线baseline_extracted)。之后每次跑都和基线比对,命中 trigger_dsl 才发通知。last_tick_at / last_tick_n 记录最近一次跑的时间和序号,consecutive_failures 连续失败计数——连续失败过多 monitor 会进入异常状态。

生命周期

monitor 创建后长期存在,直到你删除。常用操作:

操作说明
pause / resume暂停 / 恢复调度
run_now不等 schedule,立刻跑一次
cancel / delete停止 / 删除 monitor
patch改 intent、schedule、渠道等
refine用自然语言调整监控意图
list_runs / get_run查历史 run
list_deliveries / retry_delivery查通知投递记录;失败的可重投
intervene / messagemonitor 撞到登录、验证码等需要人介入时回应

事件流端点 …/track/monitors/{mid}/eventsSSE 约定,实时跟进 monitor 的每次 tick。

接下来

  • Profiles —— 监控需要登录的站点时复用登录态
  • WebSearch —— 只要一次性结果时走这个
  • API 概览 —— 共享约定;字段全集见 OpenAPI spec