diff --git a/electron/windows/notificationWindow.ts b/electron/windows/notificationWindow.ts index f3c8eca..21bbf01 100644 --- a/electron/windows/notificationWindow.ts +++ b/electron/windows/notificationWindow.ts @@ -115,12 +115,14 @@ export async function showNotification(data: any) { // 检查会话过滤 const filterMode = config.get("notificationFilterMode") || "all"; const filterList = config.get("notificationFilterList") || []; - const sessionId = data.sessionId; + const sessionId = typeof data.sessionId === "string" ? data.sessionId : ""; + // 系统通知(如 "WeFlow 准备就绪")不是聊天消息,不应受会话白/黑名单影响 + const isSystemNotification = sessionId.startsWith("weflow-"); - if (sessionId && filterMode !== "all" && filterList.length > 0) { - const isInList = filterList.includes(sessionId); + if (!isSystemNotification && filterMode !== "all") { + const isInList = sessionId !== "" && filterList.includes(sessionId); if (filterMode === "whitelist" && !isInList) { - // 白名单模式:不在列表中则不显示 + // 白名单模式:不在列表中则不显示(空列表视为全部拦截) return; } if (filterMode === "blacklist" && isInList) {