瀏覽器通知(Web Push)¶
StockClaw 可以對任何您登入過的瀏覽器送出系統層級通知——在 FLASH 或 ALERT 訊號到達的瞬間,不需要您開著 tab。點擊通知會深連回儀表板並定位到那條特定訊號。
您會得到什麼¶
- 桌面: macOS 通知中心、Windows 動作中心、Linux 桌面環境的通知。FLASH banner 會 sticky 直到您手動關掉;ALERT 依作業系統預設時間淡出。
- Android: 鎖定畫面 banner + 通知欄中的常駐條目。
- iOS Safari: 只有在您把 StockClaw 安裝為 PWA之後——從分享選單「加入主畫面」,iOS 16.4 或更新版本。普通 Safari 分頁不支援 Web Push,這是 Apple 的規則。
點擊 banner:
- 如果您已經開著 StockClaw 的 tab,它會聚焦那個 tab 並導到該條特定訊號。
- 否則會開新 tab 到該訊號。
不論哪種方式,儀表板都會捲到那張訊號卡片,並閃爍強調色框約 2 秒,讓您容易找到。
啟用¶
設定 → 瀏覽器通知 → Enable。 流程如下:
- StockClaw 顯示一段簡短說明,確認您要啟用什麼。
- 瀏覽器跳出原生權限提示——請選 Allow。
- StockClaw 把您瀏覽器的 push endpoint 註冊到後端。
- 按鈕切換成 Disable。
您登入過的每個瀏覽器分別各自訂閱——您手機和筆電可以都收到,也可以只讓其中一個收,互不干涉。從某個裝置退訂不會影響另一個。
停用 / 撤銷¶
- 在 StockClaw 內: 設定 → 瀏覽器通知 → Disable。一鍵完成。取消該瀏覽器的訂閱,並告訴後端清掉那一列。
- 瀏覽器全域: Chrome(或同類)的網站權限 → 撤銷 StockClaw 的通知。Server 端訂閱列會在下次遞送嘗試時被清理(push 服務回傳 404 / 410)。
iOS PWA 安裝¶
要在 iPhone / iPad 收到 web push:
- 在 Safari 打開 StockClaw(iOS 上的 Chrome 不算——它用的是 WebKit,但 PWA 功能較少)。
- 按 分享 圖示 → 加入主畫面。
- 從主畫面圖示啟動 StockClaw(不是從 Safari)。這會以 standalone PWA 模式啟動 app。
- 前往 設定 → 瀏覽器通知 → Enable。iOS 會跳出權限提示。
- 關掉 app。通知之後會送到鎖定畫面。
隱私¶
payload 內容透過 VAPID + 訂閱自己的 P-256 金鑰在我們後端和您的瀏覽器之間做端對端加密——中間的 push relay(Apple、Google FCM、Mozilla autopush)無法讀取 payload,只能路由它。我們把訂閱(endpoint URL、公鑰、user agent)存在您的 push_subscriptions 列上,跟所有其他資料表套用同樣的列級安全。別人的瀏覽器收不到您的訊號。
疑難排解¶
「Enable」按鈕變灰,顯示「Unsupported」:
- 您的瀏覽器沒有
PushManager(非常舊的 Safari、較舊的 Firefox)。升級瀏覽器。
「Enable」按鈕顯示「Blocked in browser」:
- 您之前拒絕過權限提示,瀏覽器記住了。點網址列鎖頭圖示 → 把通知重設成「詢問」,然後重新載入。
已訂閱但沒收到通知:
- Celery workers 必須在跑(pipeline 寫入和推送都在那裡)。
- 只有 FLASH 和 ALERT 會推送;NOTE / FYI 只進儀表板。
- 試試從登入頁面文件裡的 Console smoke test,自己送一個本地通知給自己,確認 service worker 還活著。
每個 Beat 週期收到一則通知、而不是每條訊號一則:
- 多條訊號一起到時就是這樣——每條各自變成一則 banner,但共用同一顆圖示,也共用深連回各自訊號的連結。