跳轉到主要內容

個人通知渠道

個人交付渠道將您自己的 Kanera 通知傳送到電子郵件或瀏覽器推送以外的其他地方。

電子郵件和瀏覽器推送對大多數人來說都很有用,但它們並不是唯一有用的目標。 一些團隊已經執行了自託管的通知伺服器。 有些人希望在手機上收到提醒,但不想授予瀏覽器通知許可權。 Kanera 將事件放入指令碼、主儀表板或待命工具中。

Kanera 支援三個個人目的地:

頻道什麼是適合
非法您透過手機或桌面應用程式訂閱的通知伺服器 開發者 或者您自己的例項。無需瀏覽器推送的手機提醒、共享團隊主題、家庭實驗室設定。
戈蒂菲具有自己的 Android 應用程式和 Web UI 的自託管通知伺服器。完全自託管的警報,路徑中沒有第三方推送服務。
個人網鉤您擁有的 HTTPS 端點,用於接收簽名的 JSON。指令碼、儀表板、呼叫路由、自定義自動化、您已經執行的聊天橋。

這些渠道是個人的,屬於您的帳戶,而不是工作區,其他人無法檢視或更改它們。 它們不依賴於單位推送設定或瀏覽器通知許可權。

他們需要 Pro 30天 Pro試用。它們在託管的 Free 上不可用,其中電子郵件、瀏覽器推送和應用程式內抽屜繼續正常工作。參見 計劃所需資源 下文。

如果您希望整個團隊都能看到共享頻道中的卡片活動,請使用 聊天通知目標 個人頻道是私人源;聊天目標是團隊源,由工作區管理員設定。

何時使用每個通道​

使用 非法 當您想要手機或桌面提醒,而不想使用瀏覽器推送時,安裝 ntfy 應用程式,訂閱一個主題,Kanera 會發布到該主題。 如果您已經在 ntfy 上釋出了其他提醒,並且希望 Kanera 與其並列,這也是最簡單的選擇。

使用 戈蒂菲 Gotify 執行在您自己的伺服器上,Android 應用直接與其通訊,而 Kanera 只需要伺服器 URL 和應用令牌,這樣您就可以在任何時候都可以訪問您的資料。

使用一個 個人 webhook 當您想要對通知做些什麼而不是閱讀它時。 常見用法:

  • 將提及和逾期卡片路由到待命或分機工具。
  • 將您的任務釋出到個人聊天頻道或您已經執行的機器人。
  • 將通知附加到日誌、儀表板或個人資料庫。
  • 將 Kanera 橋接到通知提供程式 Kanera 不直接支援。

計劃所需資源​

個人交付渠道需要 Pro 或 Pro 試用版。 電子郵件、瀏覽器推送、應用內通知抽屜式導航欄、每日摘要、觀看和 工作區規則 所有計劃均可用,不受此影響。

主機 Free 上, 其他通知目的地 表演 ntfy、Gotify 和個人 webhook 在您的計劃中不可用 是的,這是最好的。

如果一個組織從 Pro 或試用版升級到 Free,Kanera 會關閉每個人的 ntfy、Gotify 和 webhook 通道,不會刪除任何內容:伺服器 URL、主題、令牌、簽名秘密和每種型別的首選項都會保留,任何等待傳送的內容都會被丟棄,而不會延遲到達。 再次升級後,會恢復每個人啟用的通道,因此無需重新連線任何內容。

設定它們的位置​

開放 個人資料設定 -> 通知 並擴大 其他通知目的地.

每個通道都有自己的卡,連線欄位,一個 已啟用 切換,通知型別切換,以及 儲存, 測試, 和 刪除 行動。

在您填寫完通道所需的所有內容之前,無法啟用通道。您在此處允許的內容是頻道向您傳送的最多內容: 工作區規則 可以為一個工作區靜音一個通道,但絕不會讓它傳送超過這些設定允許的數量。

您的應用內通知抽屜式導航欄從不受這些設定的影響,它始終顯示完整的 Feed。

其他通知目標擴充套件到 ntfy 設定卡,其中包含專用網路策略、連線欄位和通知型別控制元件。

設定 ntfy​

  1. 選擇伺服器。使用 https://ntfy.sh 為公共服務,或您自己的例項,如 https://ntfy.example.com.
  2. 選擇一個主題名稱。將其視為公共服務的秘密,因為任何知道某個主題的人都可以訂閱它。像這樣的東西 kanera-a7f3c2-amelia 是比 kanera.
  3. 內 Kanera請輸入密碼 伺服器URL 以及 主題。將查詢字串保留在伺服器 URL 之外; Kanera 附加主題本身。
  4. 如果主題需要身份驗證,請將訪問令牌貼上到 不記名令牌。它在開放伺服器上是可選的,在受保護伺服器上是必需的。
  5. 點選 儲存,然後開啟 已啟用.
  6. 選擇此渠道應傳送的通知型別。
  7. 點選 測試 並確認訊息到達。
  8. 如果您尚未訂閱,請在 ntfy 應用程式或 Web UI 中訂閱相同的主題。

每條通知都會以帶有標題的普通訊息形式到達,點選它將在 Kanera 中開啟卡片。

設定 Gotify​

  1. 開啟您的 Gotify 網頁介面並建立一個 適用 例如,"Kanera " 。
  2. 複製 Gotify 生成的應用程式令牌。 應用程式令牌以 A。不要使用客戶端令牌。
  3. 內 Kanera請輸入密碼 伺服器URL,例如 https://gotify.example.com,並將令牌貼上到 應用令牌.
  4. 點選 儲存,然後開啟 已啟用.
  5. 選擇此渠道應傳送的通知型別。
  6. 點選 測試 並確認訊息在 Gotify 中出現。

訊息會在 Gotify 中顯示在您建立的應用程式下,並附有通知標題、可讀摘要和開啟卡片的連結。 它們以正常優先順序傳送,因此 Gotify 的每個應用程式設定決定警報的強度。

應用令牌以加密方式儲存,並且不會再次顯示;該欄位顯示 儲存 — 留空以保留。使用 移除標記 要清除它,或者貼上一個新令牌並儲存以替換它。

設定個人 webhook​

  1. 準備一個接受 HTTPS 的端點 POST 使用 JSON 主體請求並快速返回 2xx 狀態。
  2. 內 Kanera請輸入密碼 端點URL 並點選 儲存.
  3. Kanera 生成一個簽名秘密並顯示一次。 現在就複製 再次,這是不可能的。
  4. 將密碼儲存在接收器中,並在信任之前驗證每個請求。
  5. 開機 已啟用,然後選擇此通道應傳送的通知型別。
  6. 點選 測試 並確認您的端點已收到並驗證了請求。

使用 旋轉秘密 舊的密碼會立即停止工作,因此請在同一維護視窗更新您的接收器。

請求頭​

頭條意義
Content-Type總是 application/json.
User-AgentKanera-Personal-Notifications/1.0.
X-Kanera-Event-Id此交付的唯一 ID。 id 身體的。
X-Kanera-TimestampUnix 時間戳(秒 ) 。
X-Kanera-Signaturesha256= 加上一個 HMAC-SHA256 的 ${timestamp}.${rawBody} 使用您的簽名秘密。

有效載荷​

{
"id": "0199c3ab-6f5e-7d21-9b0c-8b31a7e40f2d",
"type": "notification",
"occurredAt": "2026-07-30T09:14:22.481Z",
"notification": {
"kind": "comment_mentioned",
"reason": "mentioned",
"title": "Mentioned in a comment",
"body": "Amelia mentioned you in Website Redesign / Prepare kickoff agenda: can you review the copy?",
"url": "https://kanera.example.com/b/48a52a55-763e-4c64-8a76-51ac56247f5c/c/70c39cef-1aec-44e6-a8f5-f36f765a818d",
"tag": "card:70c39cef-1aec-44e6-a8f5-f36f765a818d:mentioned"
}
}
外地意義
id交付 id,也傳送為 X-Kanera-Event-Id。用它來使你的接收者冪等。
type總是 notification 個人渠道交付。
occurredAt通知被排隊時的 ISO 8601 時間戳。
notification.kind通知型別,如 card_assigned, card_comment_added, comment_mentioned, card_due_date_changed, card_overdue, card_reminder, 或 test.
notification.reason為什麼你被通知: assigned, comment, mentioned, dueDateChanged, overdue, reminder, 或 test.
notification.title簡短的標題。
notification.body人類可讀的摘要,包括演員、板和卡片。
notification.url深層連結到卡片,當通知指向一個。
notification.tag分組鍵,用於摺疊有關同一卡片的重複通知。

驗證簽名​

import crypto from "node:crypto";
import express from "express";

const app = express();

app.post("/kanera/notifications", express.raw({ type: "application/json" }), (req, res) => {
const timestamp = req.header("X-Kanera-Timestamp") ?? "";
const signature = req.header("X-Kanera-Signature") ?? "";
const expected = "sha256=" + crypto
.createHmac("sha256", process.env.KANERA_NOTIFICATION_SECRET!)
.update(`${timestamp}.${req.body.toString("utf8")}`)
.digest("hex");

const ok = signature.length === expected.length
&& crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected));
if (!ok) return res.status(401).send("invalid signature");

const event = JSON.parse(req.body.toString("utf8"));
// Handle event.notification.reason, .title, .body, and .url.
res.sendStatus(204);
});

始終根據原始請求正文進行驗證。如果您的框架在驗證之前解析 JSON,則檢查可能會失敗或變得不可靠。拒絕其請求 X-Kanera-Timestamp 從你自己的時鐘,並且對待一個重複 X-Kanera-Event-Id 作為一個複製。

每個通道可以傳送哪些通知​

個人通道與電子郵件和推送通知型別相同:

型別傳送時
已分配卡您被分配到一張卡片。
已新增卡片評論有人在分配給您的卡片上發表評論。
發表評論有人在評論中提到您。
卡到期日期已更改分配給您的卡片上的到期日期發生了變化。
卡逾期分配的卡或分配的清單專案已過期。
您的卡提醒一個 您設定的提醒 卡上到期。

每個通道都有自己的型別切換,因此通道比電子郵件安靜得多。 一個常見的設定是用電子郵件處理所有內容,用 ntfy 處理提及和逾期工作,用 webhook 處理給個人指令碼輸入的任務。

被動觀察者活動會顯示在應用內抽屜式導航欄中,每日摘要僅限電子郵件。

允許的目的地和安全​

Kanera 在您儲存時檢查每個目的地,並在每次通知發出之前再次檢查。

預設情況下:

  • 目的地必須使用 公共 HTTPS.
  • 請輸入使用者名稱和密碼登入https://user:pass@host)或一個 #fragment.
  • ntfy 或 Gotify 伺服器 URL 不能攜帶查詢字串。僅輸入伺服器地址。
  • 私人或內部網路上的地址將被拒絕。
  • 重定向到其他地方的目的地被視為失敗,Kanera 等待回覆的時間不超過 10 秒。

一些Kanera安裝允許在內部網路上接收,這是家庭或公司區域網上執行的ntfy或Gotify伺服器通常需要的。 無論如何,有少數地址仍然被阻止,包括雲提供商為自己的基礎設施保留的那些地址。 通知設定頁面會告訴你這兩種策略中哪一種適用於你;如果需要內部網路策略,請詢問管理Kanera的人。

您的令牌和簽名秘密以加密方式儲存,並且在您儲存後不會再顯示。 如果交付失敗,Kanera 會記錄失敗,但不會記錄您的目標或憑據。

從交付期望什麼​

通知會在半分鐘內到達,而不是立即到達。 Kanera 在後臺傳送通知,因此您在應用程式中所做的任何事情都不會等待 ntfy 伺服器或 webhook 響應。

如果您的目的地短暫無法聯絡,Kanera 會多嘗試幾次,然後放棄通知。 如果您關閉某個通道,清除其詳細資訊,或者組織轉移到沒有個人通道的計劃,任何仍在等待的通知都會被丟棄,而不是在幾個小時後失去上下文而到達。

測試 即使在啟用通道之前,也能立即傳送並執行,因此您可以先確認連線。

故障排除​

問題檢查
Kanera 在儲存時拒絕 URL。使用 https://、刪除任何使用者名稱、密碼或 #fragment,並從 ntfy 或 Gotify 伺服器 URL 中刪除查詢字串。僅當您的安裝允許時才接受私人或內部地址。
整個部分說它是不可用的您的計劃。個人頻道需要 Pro 或 Pro 試用版。 電子郵件、瀏覽器推送和應用內抽屜式導航欄不受影響。
每個頻道都關閉了。檢查組織是否遷移至Free。降級會禁用 ntfy、Gotify 和 webhook 傳送並保留已儲存的連線;升級會將它們重新開啟。
該 已啟用 切換顯示為灰色。通道未完全配置。 ntfy 需要伺服器 URL 和主題,Gotify 需要伺服器 URL 和應用令牌,webhook 需要帶有生成的秘密的 URL。
測試表示通道未完全配置。首先儲存連線欄位,然後進行測試。
測試失敗,出現 HTTP 狀態。目標拒絕了請求。 對於 ntfy,請檢查主題和任何所需令牌。 對於 Gotify,請確認您使用的是應用程式令牌,而不是客戶端令牌。
測試超時或報告網路故障。Kanera 無法在 10 秒內連線到主機。 確認主機是否可以從 Kanera 伺服器連線到,並記住重定向不會被跟蹤。
即使測試成功,也沒有任何東西到達。檢查該通道上的通知型別切換,然後檢查是否 工作區規則 暫停或縮小該工作區的交付範圍。
webhook 接收器拒絕簽名。檢查原始主體,而不是重新序列化的物件,並確認您正在使用當前的秘密(如果您最近旋轉了它 ) 。
轉換秘密後通知停止。更新接收器。 上一個秘密立即停止工作。