跳转至

手机与浏览器通知(Web Push)

StockClaw 可以给你的手机和任何你登录过的浏览器发送系统级通知,不需要你开着那个 tab。内容和你的 Telegram 摘要一样,节奏也一样。点击通知会打开仪表盘;如果通知只涉及一条信号,会直接定位到那条信号。

这不需要 Telegram。推送可以单独使用;如果你从没绑定 Telegram,就按下面的默认设置走。

你会收到什么

手机与浏览器通知和 Telegram 摘要完全同步。设置 → 提醒级别与频率 里的选项对两者同时生效:

  • 级别。 默认 FLASH 和 ALERT。NOTE 和 FYI 只有你打开后才推送。
  • 频率。 信号按你的 推送频率 合并发送(最短每 30 分钟,最长每天一次)。FLASH 也一样:它跟着下一次摘要到达,不再即时推送。
  • 免打扰时段。 打开 设置 → 免打扰时段 后,在你所在时区的开始和结束时间之间,手机和 Telegram 都不会收到推送,FLASH 也一样。不会丢失:暂缓的通知会在免打扰结束后随下一条摘要一起发送。时区在你第一次打开设置时取自设备,可以在那里修改。免打扰期间的 Market Wire 提醒也会暂缓,在免打扰结束后补发,最多最新 10 条。
  • 自选股筛选。 只推送对你自选股中某只股票影响度 ≥ 0.60 的信号。
  • 免费版。 只推送 FLASH 和 ALERT,最多每 30 分钟一次,没有免打扰时段;级别、频率和免打扰时段的设置显示为锁定。见 费用多少?。
  • 语言。 使用你的界面语言,也就是应用在每台设备上显示的语言(设置 → 显示)。中文推送中文摘要;英文只含英文,信号没有英文摘要时显示一行"详情请在应用中查看";日文和韩文的标题和按钮已翻译,摘要为英文。

每次摘要按级别各发一条通知,而不是每条信号一条,例如 FLASH · NVDA, AAPL 或 3 ALERT signals · NVDA, TSLA, AMD。只涉及一条信号的通知会深链到那条信号;涉及多条的会打开仪表盘。

Market Wire。 影响度 ≥ 0.80 的全市场事件也会推送,发给所有开了通知且启用了 FLASH 级别的用户。

通知只描述流水线已经打过分的市场事件,不构成投资建议。

支持的平台

  • 桌面: macOS 通知中心、Windows 操作中心、Linux 桌面环境通知。FLASH banner 在你关闭之前会一直置顶;ALERT 按 OS 默认时长淡出。
  • Android: 锁屏 banner + 通知抽屉里的常驻条目。
  • iOS Safari: 必须先 把 StockClaw 作为 PWA 安装——从分享菜单"添加到主屏幕",iOS 16.4 及以上。普通 Safari tab 按 Apple 规矩 不 支持 Web Push。
  • Android app(Google Play,目前在测试阶段):开启方式和浏览器里一样,Android 会弹出系统的通知权限提示。

点击 banner:

  • 如果你已经开着 StockClaw 的 tab,会聚焦那个 tab 并导航到对应信号(多条信号的通知则导航到仪表盘)。
  • 否则会新开一个 tab 到那里。

单条信号的通知会让仪表盘滚动到那张信号卡,并让强调色边框闪烁约 2 秒,方便找到。

启用

有两个入口。

仪表盘。 登录后会看到一张卡片 在这部手机上接收提醒? 点 开启,然后在随后的权限提示里允许(Android 13 及以上是系统提示)。点 暂不 会让卡片隐藏 14 天。

设置。 设置 → 手机与浏览器通知 → 启用。 流程:

  1. 浏览器(或 Android)弹出原生的权限提示——选 Allow。
  2. StockClaw 把这台设备的 push endpoint 注册到后端。
  3. 按钮变成 停用。

你登录过的每个浏览器分别订阅——手机和笔记本可以都收,或者只收一边,互不影响。在一台设备退订不影响另一台。

发送测试

设备订阅之后,设置 → 手机与浏览器通知 → 发送测试 会给你的设备发一条测试通知,用来确认这台设备真的能收到。按钮有 30 秒冷却。

禁用 / 撤销

  • StockClaw 内部: 设置 → 手机与浏览器通知 → 停用。一键。退订那个浏览器并告诉后端把记录清掉。
  • 浏览器级: Chrome(或同类)站点权限 → 撤销 StockClaw 的通知。服务端订阅记录会在下次投递尝试时清理(推送服务返回 404/410)。

iOS PWA 安装

要在 iPhone / iPad 上收 web push:

  1. 在 Safari 里打开 StockClaw(iOS 上的 Chrome 不算——它用的是 WebKit,但 PWA 功能少一些)。
  2. 点 分享 图标 → 添加到主屏幕。
  3. 从主屏幕图标启动 StockClaw(不是从 Safari)。这会以独立 PWA 模式启动 app。
  4. 进设置 → 手机与浏览器通知 → 启用。iOS 会提示授权。
  5. 关闭 app。通知现在会落在锁屏上。

隐私

payload 内容在我们后端和你浏览器之间端到端加密,用的是 VAPID + 订阅自身的 P-256 密钥——中间的推送中继(Apple、Google FCM、Mozilla autopush)无法读取 payload,只能路由。我们把订阅(endpoint URL、公钥、user agent)存在你的 push_subscriptions 行上,跟其他每张表一样受行级安全保护。别人的浏览器收不到你的信号。

故障排查

"启用"按钮灰掉,显示 "Unsupported":

  • 你浏览器没有 PushManager(很老的 Safari、较老的 Firefox)。升级浏览器。

"启用"按钮显示 "Blocked in browser":

  • 你之前拒绝过权限提示,浏览器记住了。点 URL 栏的锁图标 → 把通知重置为 "Ask",然后刷新。

订阅了但没收到通知:

  • Celery workers 必须在跑(流水线写入和投递都在那里发生)。
  • 检查 设置 → 提醒级别与频率 里的级别和频率。通知跟随同一份摘要,所以频率设为每 4 小时时中间不会有通知;NOTE/FYI 只有打开后才推送。对你自选股影响度低于 0.60 的信号只在仪表盘显示。
  • 点 发送测试。如果测试通知到了,说明投递正常,只是上次摘要之后还没有符合条件的信号。
  • 在该设备上打开一次 StockClaw。应用每次启动都会把浏览器当前的订阅重新登记到后端;只有后端确实保存了这台设备的订阅时,设置页才显示 Disable。浏览器(尤其是 iOS 主屏幕应用)会不时更换订阅;2026-09 之前,订阅被更换或被服务器清理后,按钮可能仍显示 Disable,但实际什么都收不到。如果某台你以为已订阅的设备在设置页显示 Enable,点一下即可重新登记。
  • 试试登录页文档里的 Console 烟雾测试,给自己发一个本地通知,确认 service worker 还活着。

一条通知包含好几条信号:

  • 这是预期行为。每次摘要按级别各发一条通知(3 ALERT signals · NVDA, TSLA, AMD),和 Telegram 的分组方式一样。点开会进入仪表盘,能看到这一批的所有信号。