免费订阅 AI 故障与价格提醒
服务宕机、恢复、模型降价、公布下线日期时,第一时间推送到你的浏览器或工作群。无需注册,不用留邮箱。
只关注某一个服务
想关注某个具体模型的价格和下线?打开模型详情页,点“免费订阅提醒”即可。
你会收到什么
不只看能不能连上,而是看模型能不能真正回答:官方状态页、官方接口真实请求成功率、我们自己的真实调用测试,每 2 分钟综合判断,连续两次确认后才推送,避免误报。
恢复时再提醒一次(故障期间改为每 2 分钟复查,通常 2–6 分钟内送达),并告诉你这次故障持续了多久。订阅单个模型的,该模型在官方接口上无法回答 / 恢复时也会单独通知。
收录的 355 个模型每 10 分钟比对,降价或涨价都会通知,附涨跌幅。
模型公布下线日期、被移除,或有新模型上线时通知。
怎么获取群机器人 Webhook 地址
飞书
- 在飞书群里点右上角 “设置” → “群机器人” → “添加机器人” → “自定义机器人”。
- 起个名字(例如 ModelBank),复制生成的 Webhook 地址。
- 安全设置:开启“自定义关键词”时添加关键词 ModelBank;或开启“签名校验”,把密钥填到“高级设置 → 签名密钥”;不要开启 IP 白名单(Cloudflare 出口 IP 不固定)。
- 把地址粘贴到上方“群机器人”里,先点“测试”,群里收到消息后点“添加”。
钉钉
- 钉钉群 → “群设置” → “机器人” → “添加机器人” → “自定义(通过 Webhook 接入)”。
- 安全设置可以选“自定义关键词”并填 ModelBank,或选“加签”并复制密钥。
- 复制 Webhook 地址粘贴到上方;用了加签的,把密钥填到“高级设置 → 签名密钥”。
企业微信
- 企业微信群 → 右上角 “…” → “添加群机器人” → “新创建一个机器人”。
- 复制机器人的 Webhook 地址(形如 qyapi.weixin.qq.com/cgi-bin/webhook/send?key=…),粘贴到上方。
Slack
- 打开 api.slack.com/apps → Create New App → Incoming Webhooks → 开启。
- 点击 “Add New Webhook to Workspace”,选择频道,复制 hooks.slack.com/services/… 地址。
Discord
- 频道设置 → 整合(Integrations)→ Webhooks → 新建 Webhook。
- 点击“复制 Webhook URL”,粘贴到上方。
Microsoft Teams
- 推荐用 Workflows:频道 “…” → “Workflows” → 选择 “Post to a channel when a webhook request is received”。
- 复制生成的地址(logic.azure.com 或 powerplatform.com)粘贴到上方。旧版 “Incoming Webhook” 连接器地址(webhook.office.com)也支持。
Google Chat
- 在空间里点空间名称 → “应用和集成” → “Webhook” → “添加 Webhook”。
- 复制 chat.googleapis.com/v1/spaces/…/messages?key=…&token=… 地址,粘贴到上方。
Telegram
- 找 @BotFather 创建机器人拿到 Token,把机器人拉进群;用 @userinfobot 等获取群的 chat_id(群一般是负数)。
- 粘贴 https://api.telegram.org/bot<Token>/sendMessage?chat_id=<chat_id>。
ntfy
- 在 ntfy App 里订阅一个不容易被猜到的主题名,例如 modelbank-a8f3k2。
- 粘贴 https://ntfy.sh/modelbank-a8f3k2。主题设了访问令牌的,把令牌填到“高级设置 → 认证 Token”。
Bark(iPhone)
- 在 iPhone 上安装 Bark,打开后复制首页的推送地址(https://api.day.app/你的Key/…)。
- 粘贴到上方即可,严重故障会以“时效性通知”推送。
Server酱 · PushPlus(微信)
- Server酱:在 sct.ftqq.com 登录后复制 SendKey,地址为 https://sctapi.ftqq.com/<SendKey>.send。
- PushPlus:在 pushplus.plus 复制 Token,地址为 https://www.pushplus.plus/send?token=<Token>。
Cursor · n8n · Zapier · 自建服务
- 任意 https 地址都可以,我们会 POST 一段 JSON(格式见下方“自定义 Webhook”)。
- 对方要求身份验证时,展开“高级设置”:在“认证 Token”里填密钥,会以 Authorization: Bearer <密钥> 发送;需要其他请求头(如 X-Api-Key)的,填在“其他请求头”里,每行一个。
- 例如 Cursor 自动化:地址填 https://api2.cursor.sh/automations/webhook/…,“认证 Token”填 Cursor 给的 crsr_ 开头的密钥。
- 对方只接受 Slack / Discord / Teams 格式或纯文本的,在“消息格式”里切换。
自定义 Webhook:格式、认证与签名校验
非聊天平台的 https 地址都按“自定义 Webhook”处理:我们以 POST 发送下面这段 JSON(“消息格式”可改为 Slack / Discord / Teams 兼容或纯文本)。对方返回 2xx 即视为成功;我们不跟随重定向,10 秒超时,不会发往内网或保留地址。
{
"source": "modelbank.ai",
"event": "outage",
"title": "OpenAI 出现故障",
"text": "官方接口最近 5 分钟真实请求成功率 41%…",
"markdown": "…",
"url": "https://modelbank.ai/status/openai",
"level": "bad",
"data": {
"type": "outage",
"service": "openai"
},
"ts": "2026-11-09T08:00:00.000Z"
}
请求头
| Content-Type | application/json(“纯文本”格式为 text/plain) |
| User-Agent | ModelBank-Webhooks/2.0 |
| X-ModelBank-Event | 事件类型:outage / recovered / price / deprecation / new / radar / test … |
| X-ModelBank-Delivery | 每次投递唯一的 UUID,可用来去重 |
| X-ModelBank-Timestamp | 设置了签名密钥时:发送时间(Unix 秒) |
| X-ModelBank-Signature | 设置了签名密钥时:sha256=HMAC-SHA256(密钥, "时间戳.原始请求体") 的十六进制 |
| Authorization | 填写了认证 Token 时:Bearer <Token>(或你填的完整 Basic …) |
对方要求身份验证(401 / 403)怎么办
在“高级设置 → 认证 Token”里粘贴密钥即可,我们会以 Authorization: Bearer <密钥> 发送(如果你粘贴的是“Bearer xxx”、“Basic xxx”或整行“Authorization: …”,会原样使用)。需要 X-Api-Key 之类的其他请求头,填在“其他请求头”里,每行一个“名称: 值”。所有认证信息 AES-256-GCM 加密保存,保存后页面上只显示打码值;地址里带 user:pass@ 的会自动转换为 Basic 认证。
测试未通过时会显示对方返回的原因,例如“对方要求身份验证”或“认证失败:Token 被拒绝”。如果对方暂时不可用,也可以点“仍然保存”,之后在订阅列表里点“编辑”修复。
校验签名
在“高级设置 → 签名密钥”里填一个只有你知道的随机字符串,每个请求都会带上 X-ModelBank-Timestamp 和 X-ModelBank-Signature。请用原始请求体计算(不要先解析再序列化 JSON),并拒绝时间戳超过 5 分钟的请求以防重放。飞书、钉钉的签名密钥按各自平台的官方算法使用。
// Node.js / Cloudflare Workers / Next.js route — verify X-ModelBank-Signature
import crypto from 'node:crypto'
export function verify(rawBody, headers, secret) {
const ts = headers['x-modelbank-timestamp']
const sig = headers['x-modelbank-signature'] || ''
if (!ts || Math.abs(Date.now() / 1000 - Number(ts)) > 300) return false // reject replays older than 5 min
const expected = 'sha256=' + crypto.createHmac('sha256', secret).update(ts + '.' + rawBody).digest('hex')
return sig.length === expected.length && crypto.timingSafeEqual(Buffer.from(sig), Buffer.from(expected))
}
# Python (Flask / FastAPI) — use the raw request body, not re-serialised JSON
import hmac, hashlib, time
def verify(raw_body: bytes, headers, secret: str) -> bool:
ts = headers.get('X-ModelBank-Timestamp', '')
sig = headers.get('X-ModelBank-Signature', '')
if not ts or abs(time.time() - int(ts)) > 300:
return False
mac = hmac.new(secret.encode(), ts.encode() + b'.' + raw_body, hashlib.sha256).hexdigest()
return hmac.compare_digest(sig, 'sha256=' + mac)
最近发出的提醒
常见问题
真的免费吗?
是的。浏览器通知和群机器人都不产生短信或邮件费用,所以我们可以一直免费提供。
iPhone 能收到浏览器通知吗?
iOS 16.4 以上可以:在 Safari 里点“分享”→“添加到主屏幕”,然后从主屏幕图标打开本站再开启通知。或者直接用群机器人。
怎么取消?
浏览器通知:再次点击“订阅提醒”→“关闭通知”,或在浏览器设置里关掉本站通知。群机器人:在订阅面板里点“删除”,或直接移除机器人。
会不会刷屏?
同一服务的状态必须连续两次确认才推送;短时间内多条提醒会合并成一条摘要。
我的 Webhook 需要 Token / 密钥(如 Cursor),怎么填?
在订阅面板“群机器人”里粘贴地址,展开“高级设置”,把密钥填进“认证 Token”,会以 Authorization: Bearer <密钥> 发送。先点“测试”确认能收到,再点“添加”。
测试失败了怎么办?
面板会直接显示对方返回的原因(例如需要身份验证、地址已失效、关键词不匹配)。按提示修改后再测试即可;对方暂时不可用时也可以“仍然保存”,之后点“编辑”修复。连续多次投递失败的订阅会自动停用,测试成功后自动恢复。
在别的设备上怎么管理订阅?
订阅保存在当前浏览器里。登录后打开“我的账户 → 提醒”,本浏览器的订阅会自动归到你的账户,在任何设备上都能编辑、测试和删除。邮件订阅可以随时点邮件底部的“退订”。
目前已有 4 个接收渠道,累计发出 682 条提醒。