通知通道、認證與值班權限
在 App 開啟 Agent → Channels。每個通道都有不同 credential;只需設定你真的使用的通道。Token、密碼、Webhook URL 都會只保存在這台 Sentinel 電腦,不會顯示回 UI。設定後,請先用一個安全的測試事件或指定命令驗證,不要等真的危急事件才發現通知沒通。
先選適合你的通道
| 通道 | 用途 | 需要填入 | 可雙向? |
|---|---|---|---|
| Telegram | 最適合小型場館與值班人員;可收快照、查詢、下指令。 | Bot Token、Chat ID | 是 |
| Slack Commands | 公司 Slack 內查詢與指令。 | Bot Token、App Token、允許的 User IDs | 是 |
| Slack Alerts / Google Chat | 只把警報送到群組或 space。 | Incoming Webhook URL | 否 |
| LINE / Email / Discord / Teams | 依現有工作習慣接收警報。 | 下方各通道資料 | 否 |
| Webhook | 接 n8n、Make、Zapier、WhatsApp、SMS、PagerDuty 或自己的後端。 | 接收 URL、可選 HMAC secret | 經由你的 workflow |
Telegram:建議先完成這個
- 在 Telegram 搜尋 @BotFather,輸入
/newbot,依指示完成並複製 Bot Token。 - 搜尋你的新 bot,先傳一則普通訊息,例如
hi。 - 在瀏覽器開啟
https://api.telegram.org/bot<你的Token>/getUpdates,在回傳內容中找chat.id數字。 - 回到 App 的 Telegram 卡片,填入 Bot Token 和 Chat ID,按儲存。
- 回 Telegram 對 bot 傳
/status。收到攝影機摘要即代表雙向連線成功。
可用指令:/status、/recent 10、/snapshot 1、/watch 1 注意後門是否有人徘徊。第一個 Chat ID 預設接收危急警報;需要多人接收時以逗號分隔 Chat ID。
Slack:先決定只收警報,還是可下指令
Slack Alerts 最簡單:在 Slack App 建立 Incoming Webhook,選一個 channel,將 URL 貼到 App 的 Slack alerts 卡片。儲存後它只會接收警報。
Slack Commands 用 Socket Mode,不需要公開 Sentinel 電腦。到 Slack API 建立 App,開啟 Socket Mode;建立有 connections:write 的 App-Level Token(xapp-…),再安裝 App 取得 Bot Token(xoxb-…),並填入允許操作的 Slack User IDs。設定後先用 DM 對 bot 傳 /status。只有列入 User IDs 且具對應角色的人可操作。
其他單向通道:資料從哪裡來
- Google Chat:在 Workspace space 建立 Incoming Webhook,貼入 Space Webhook URL。
- LINE:在 LINE Developers 建立 Messaging API channel,填入 Channel Access Token 和接收者的 user/group ID。此版本為文字告警;照片請用 Telegram、Email、Discord 或 Webhook。
- Email:填 SMTP Host、Port(通常 587)、帳號、App Password、From 和一或多個 To。Gmail/Microsoft 等建議使用 App Password,不要使用主帳號密碼。成功時會收到文字與 JPEG 附件。
- Discord:在目標頻道的 Integrations → Webhooks 建立 Webhook,複製 URL;危急快照會以附件送出。
- Microsoft Teams:在目標 channel 的 Workflows/Power Automate 建立「webhook request 到達時貼文」流程,複製 Workflow Webhook URL。此版本送文字卡。
Webhook:要接自己的系統或 WhatsApp 時用
填入你的 workflow 接收 URL,並設定一個 HMAC secret。Sentinel 會將簽署 JSON 送到 URL;接收端必須先用原始 request body 驗證 X-Sentinel-Signature,再解析內容。這是接 WhatsApp、SMS、PagerDuty、Trainge 或自家後台的正確方式,不要把 Sentinel 的 RTSP 或 token 交給第三方 workflow。
權限:誰可以回覆或下指令?
viewer 可查狀態與快照;operator 可使用 /watch;admin 可管理長期備註。小型單人部署可先不設定 roles;多人場館應設定角色與預設 viewer。
SENTINEL_CLAW_ROLES={"8765432":"admin","U0456WXYZ":"operator"}
SENTINEL_CLAW_DEFAULT_ROLE=viewer