mcpField
F
firecrawl-monitor

firecrawl-monitor

github.com/firecrawl生产力1395.7k 次安装6 天前更新
代码仓库

关于 firecrawl-monitor

firecrawl-monitor 是一项命令行技能,可定期检查网站或网页搜索并发送变更通知。它支持单页、URL 列表、整站抓取及新搜索结果,并为页面标注状态。

主要功能

  1. 01监控页面、URL 列表和整站
  2. 02跟踪新增网页搜索结果
  3. 03安排定期检查
  4. 04通过 webhook 或电子邮件发送通知
  5. 05按变更状态标记页面

适用场景

  1. 01博客发布新文章时接收通知
  2. 02跟踪一组 URL 的变更
  3. 03查找符合目标的新网页结果

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/firecrawl/skills --skill firecrawl-monitor

安装后在 Claude Code 中输入/firecrawl-monitor确认已加载。

附带文件goals.mdjson-tracking.md

详细介绍

firecrawl monitor

检测网站内容何时发生变化,并通过 webhook 或电子邮件接收通知。Firecrawl 在服务端处理抓取、差异比较、判断和通知。检查中的每个页面都会标记为 same、new、changed、removed 或 error。

根据监控目标选择模式:

模式标志监控内容
单个页面--page <url>一个 URL 是否发生变化
URL 批次--scrape-urls <url,url,...>多个 URL 是否发生变化
整个网站--crawl-url <root-url>爬取发现的每个页面是否发生变化
网页搜索--queries <q,...> + --goal整个 Web 中符合目标的_新_搜索结果

前三种模式监控的是你已有的 URL。网页搜索会在每次检查时运行查询,并针对尚未发现过的结果发出提醒(首次标记为 new,后续检查则标记为 same);使用 --queries 时必须指定 --goal。

快速开始

# Single page, natural-language schedule, email alert
firecrawl monitor create --name "Blog" --schedule "every 30 minutes" \
  --goal "Alert when a new blog post is published." \
  --page https://example.com/blog \
  --email [email protected]

# Web monitor — search the whole web for NEW results matching a goal
firecrawl monitor create --name "Competitor launches" --schedule "daily at 9:00" \
  --queries "competitor product launch,competitor funding round" \
  --goal "Alert when a competitor announces a new product or raises funding." \
  --search-window 7d --max-results 20 \
  --email [email protected]

# Webhook notifications
firecrawl monitor create --name "Docs webhook" --schedule "every 30 minutes" \
  --goal "Alert when docs content changes." \
  --page https://example.com/docs \
  --webhook-url https://example.com/hook \
  --webhook-events monitor.page,monitor.check.completed

# Manage and inspect
firecrawl monitor list --limit 20
firecrawl monitor get <monitorId>
firecrawl monitor run <monitorId>             # trigger a check now
firecrawl monitor checks <monitorId>          # list all checks
firecrawl monitor check <monitorId> <checkId> --page-status changed
firecrawl monitor update <monitorId> --state paused
firecrawl monitor delete <monitorId>

子命令:create | list | get | update | delete | run | checks | check。运行 firecrawl monitor <subcommand> --help 查看完整选项列表。

完成标准:create 返回监控 ID,且冒烟测试 run + check 确认目标、状态和通知配置符合预期。

编写或完善 --goal(以及网页监控的 --queries)时,请阅读 goals.md。如果用户关注特定结构化字段(价格、标题、库存标记)并需要逐字段差异,请阅读 json-tracking.md。

限制与提示

  • 每次检查都会为底层抓取、爬取或搜索消耗额度,也可能产生额外的判断额度。参见 监控定价。
  • 最短计划间隔为 5 分钟。零数据保留团队无法使用监控功能。
  • 只要用户想要重复检查同一个 URL,就优先创建一个监控,而不是反复进行一次性抓取。
  • 使用 update --state paused 暂时静默监控;只有监控永久结束时才使用 delete。(--state 是更新标志;--status 是全局 CLI 状态标志。)
  • 使用 --page-status changed(或 new、removed、error)筛选检查页面,跳过 same 页面带来的干扰。
  • firecrawl monitor run <id> 会立即触发检查,适合在创建监控后进行冒烟测试。
  • --retention-days 控制快照保留多久以供差异比较。对于高频监控,可调低此值以节省存储空间。
  • **外部电子邮件收件人必须主动确认订阅。**首次添加时,Firecrawl 会发送确认邮件;只有收件人确认后,才会收到提醒。团队自有地址会自动确认。收件人退订后,所有者必须重新添加该收件人,才能发送新的确认邮件。
  • 遇到 HTTP 429 / 速率限制错误时,只退避重试一次:等待约 30 秒后重试一次。如果问题仍然存在,请停止操作,说明速率限制是阻碍原因,并删除为此任务创建的所有监控。切勿循环重试。
  • 监控触发的抓取默认将 maxAge 设为 0——除非在 JSON 负载中显式设置 scrapeOptions.maxAge,否则每次检查都会执行全新抓取。

另请参阅

  • firecrawl-scrape — 一次性抓取;当检查变为周期性任务时,改用 monitor
  • firecrawl-crawl — 一次性爬取;在此处配合 --crawl-url 使用,可定期比较爬取结果的差异
  • firecrawl — 顶层工作流指南
  • firecrawl-build-scrape — 将周期性检查集成到应用中,而不是在此处运行

评论

支持 Markdown