为什么我作为独立开发者构建了 Uptime Monitor

发布: (2026年2月7日 GMT+8 08:09)
10 分钟阅读
原文: Dev.to

Source: Dev.to

请提供您希望翻译的文章正文内容,我将为您完整地翻译成简体中文并保留原有的 Markdown 格式。

去年,我在做三个副项目

  • 一个 SaaS 工具
  • 为客户制作的着陆页
  • 我出于兴趣构建的一个小 API

它们都没有监控。

当一个朋友尝试使用我的 API 并在 Discord 上给我发信息时,我才发现它已经宕机 四天 了。四天。没有警报,没有通知,什么都没有——只有一个静默的 502,让我看起来像是已经放弃了这个项目。

那一刻,我决定自己动手打造监控工具。

现有解决方案的问题

我知道你在想什么——“直接用 UptimeRobot” 或者 “Pingdom 有免费套餐”。我也试过了。以下是我遇到的情况:

服务有效的地方无效的地方
UptimeRobot基础的正常运行时间检查工作良好。它只能告诉你页面是否在线。我需要知道页面上哪些内容发生了变化。我的客户的着陆页被另一位承包商修改,却没有通知我。网站一直“在线”,但一半的内容是错误的。没有任何正常运行时间工具捕捉到这一点。
Betterstack、Pingdom、Datadog对有预算的团队来说是很棒的产品。我是一个月收入在 €0‑€50 之间的独立开发者。为监控支付 $29 /月在项目收益不足时很难合理化。
Visualping、ChangeTower监控页面内容,而不仅仅是 HTTP 状态。它们会因每一次 CSS 变化、每一次广告轮播、每一次时间戳更新而向我发送提醒。我每天收到 15 条以上的误报,结果在一周内关闭了通知。

我真正想要的很简单:在页面出现有意义的变化时通知我,并用通俗的语言解释具体改动是什么。

所以我构建了 ArkWatch

ArkWatch 是一个 REST API,可按计划监控任何 URL。它不仅仅检查 200 状态码,而是执行以下操作:

  1. 获取 页面内容,按照您的计划(每分钟到每 24 小时一次)。
  2. 对比 内容与之前的版本。
  3. 对比结果发送给 Mistral AI,它会分析实际发生了什么变化。
  4. 通过电子邮件 向您发送一份简明的摘要。

因此,您不再得到看起来像乱码的原始 HTML 对比,而是得到类似以下的内容:

“定价页面已更新。专业套餐从每月 €19 提升至 €29 /月份。新增了每月 €99 的企业套餐。免费套餐现在包含 5 个 URL,而不是 3 个。”

或在可用性场景下:

“API 端点返回 503 Service Unavailable 错误。页面内容从正常的 JSON 响应变为 nginx 错误页。”

AI 会过滤掉噪音——会话令牌、Cookie 横幅、广告轮播、动态时间戳——仅在重要内容发生变化时提醒您。

技术栈

我故意保持它很普通:

  • Python 3.13 + FastAPI – API
  • httpx(异步)– 获取页面
  • Playwright – 渲染大量 JavaScript 的站点
  • Mistral AI – 变更分析(mistral‑small‑latest,低成本且快速)
  • Redis – 缓存
  • Stripe – 支付
  • Hetzner VPS(德国)– 托管(欧盟数据驻留)

没有 Kubernetes。没有微服务。没有事件驱动架构。只有一个 FastAPI 应用、一个工作进程和一个类似 cron 的调度器。整个系统运行在单个 €5 /月 的 VPS 上。

总运行成本: ~€5 /月(服务器)+ 少量 AI 调用费用(几分钱)。

我哪里出错了

我差点做了一个仪表盘

我花了两天时间设计一个带有图表、图形和实时 WebSocket 更新的 React 前端。在与几位手动检查网站的开发者交谈后,所有人都说:“我不想要另一个仪表盘。直接给我发邮件就行。”

于是我放弃了前端,转而采用 API‑first。你可以把 ArkWatch 集成到已有的任何工作流中——Slack 机器人、cron 任务、CI 流水线,或仅仅是邮件提醒。这样构建更快,也正是人们真正想要的。

噪声过滤比监控更难

获取页面内容并进行差异比较是容易的,决定哪些变化重要才是难点。我尝试了三种方法:

方法结果
关键词匹配假阳性太多(例如,“price” 出现在页脚版权中)。
百分比阈值对大幅变化有效,但会漏掉重要的小变化(单个价格变动仅占页面的 0.1 %)。
AI 分析Mistral 在上下文中读取差异并做出判断。这是最终方案。

min_change_ratio 参数仍然作为预过滤器以节省 AI 成本,但 “这次变化重要吗?” 的实际判断由 AI 完成。

我把定价想得太复杂

我花了一周时间研究定价策略,阅读关于价值定价的博客文章,并制作电子表格。最终我只看了竞争对手的收费,并把我的价格设得更低:

计划价格URL 数量检查间隔
Free€0324 小时
Starter€9 /月101 小时
Pro€29 /月505 分钟
Business€99 /月1 0001 分钟

免费层是真实的——无需信用卡、无需 14 天试用、也没有功能门槛。你可以永久获得 3 个 URL 的每日检查和完整的 AI 摘要。

我现在的情况

诚实的数字: 零付费客户,零收入。API 已上线约一周。我已经发布了它,设置了 Stripe,编写了文档……却没有任何反馈。

但产品是可用的:

  • API 响应时间低于 50 毫秒
  • AI 摘要真的很有用
  • Stripe 集成能够正确处理订阅
  • 我在自己的项目中使用它,至少解决了我最初的问题。

我在寻找

我在寻找 3‑5 位 beta 测试员——目前手动检查网站并希望实现自动化的人。开发者、SEO 从业者、电商运营者,任何有定期检查 URL 列表的人都可以。

免费套餐提供了试用所需的全部功能。如果有用,太棒了;如果没有用,我想了解原因。

试用

  • API:
  • 文档:
  • 着陆页:

如果您有兴趣参与测试或提供反馈,请随时联系!

[https://arkforge.fr/arkwatch.html](https://arkforge.fr/arkwatch.html)

快速开始 — 注册免费 API 密钥

curl -X POST https://watch.arkforge.fr/api/v1/auth/register \
  -H "Content-Type: application/json" \
  -d '{"email": "you@example.com", "name": "Your Name", "privacy_accepted": true}'

如果您有任何问题或反馈,请发送邮件至 contact@arkforge.fr。我会阅读每一封邮件。

独立开发者,暂无用户,公开开发。如果你也经历过相同的艰辛,我很想听听你是如何获得第一批用户的。

给你的提问

我真的很想了解——如果你是一个在做副业的开发者:

  1. 你现在是怎么知道自己的网站宕机的?
    (诚实回答——即使是“我不知道”也算数)

  2. 你会想要 AI 驱动的变更摘要,还是仅仅一个“页面已更改”的通知就够了?

  3. 如果可以在 30 秒内完成设置,你现在最想监控的页面是哪一个?

留下评论——我会回复每一位。

0 浏览
Back to Blog

相关文章

阅读更多 »

UX/UI 排版

Typography 是指什么?- 使用哪种字体 - 在什么位置多大 - 多粗 - 行间距 - …