From e59332b51407c240e59ce499e2a4c3f687610f17 Mon Sep 17 00:00:00 2001 From: Wxw-Gu Date: Mon, 31 Aug 2026 20:33:24 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E9=80=80=E7=BE=A4?= =?UTF-8?q?=E7=9B=91=E6=8E=A7=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/macos/libwcdb_api.dylib | Bin 292640 -> 309696 bytes resources/wcdb/win32/x64/wcdb_api.dll | Bin 317952 -> 331776 bytes src/main/index.ts | 34 + src/main/services/chat-service.ts | 7 +- .../services/group-exit-monitor-service.ts | 579 ++++++++++++ src/main/wcdb4-client.ts | 70 +- src/preload/index.d.ts | 11 + src/preload/index.ts | 24 + src/renderer/src/App.tsx | 3 + .../components/layout/PrimaryNavigation.tsx | 42 + .../src/components/layout/navigation.ts | 11 +- .../GroupExitMonitorWorkspace.tsx | 838 ++++++++++++++++++ .../src/styles/group-exit-monitor.scss | 713 +++++++++++++++ src/renderer/src/styles/index.scss | 1 + src/shared/group-exit-monitor.ts | 163 ++++ .../group-exit-monitor-workspace.test.tsx | 331 +++++++ tests/e2e/app.spec.ts | 51 +- tests/e2e/support/electron-main.cjs | 92 ++ tests/e2e/visual.spec.ts | 86 ++ tests/integration/preload-contract.test.ts | 41 + tests/unit/group-exit-monitor-service.test.ts | 150 ++++ tests/unit/group-exit-monitor.test.ts | 104 +++ 22 files changed, 3321 insertions(+), 30 deletions(-) create mode 100644 src/main/services/group-exit-monitor-service.ts create mode 100644 src/renderer/src/features/group-exit-monitor/GroupExitMonitorWorkspace.tsx create mode 100644 src/renderer/src/styles/group-exit-monitor.scss create mode 100644 src/shared/group-exit-monitor.ts create mode 100644 tests/component/group-exit-monitor-workspace.test.tsx create mode 100644 tests/unit/group-exit-monitor-service.test.ts create mode 100644 tests/unit/group-exit-monitor.test.ts diff --git a/resources/macos/libwcdb_api.dylib b/resources/macos/libwcdb_api.dylib index abdd2a747a708b051802dc352f9308e732d1c5db..1c855b2cd53a7d3a8f22ca20dbe6a7c0aa376d14 100755 GIT binary patch delta 74670 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

WMpUPom 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 t1X*&6g2r9iT{#U51-@TgC?1i`C(&s6J3fNlT) diff --git a/resources/wcdb/win32/x64/wcdb_api.dll b/resources/wcdb/win32/x64/wcdb_api.dll index 88ddfad83059c4a6bffa224909a087ddc8a5bcc8..07b4313f52e9e1917280126a585b5656de7e8bcc 100644 GIT binary patch delta 117179 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 z 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 delta 105379 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 +

O_0_7GQ>Up?Q>D!BW}WDI4C=3TM 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 { chat.getCurrentAccountRoot() === selectedRoot ) { console.log('[WCDB4] db:init reuse current connection') + void groupExitMonitorService.start(true) return { success: true, monitoring: true } } const nextWechatDb = await WechatDb.create(key, selectedRoot) @@ -753,6 +755,7 @@ app.whenReady().then(async () => { await nextWechatDb.closeAsync() return { success: false, error: '应用正在退出,数据库连接已取消', monitoring: false } } + groupExitMonitorService.stop() const resolvedRoot = nextWechatDb.getWcdb4Client().getAccountRoot() if (resolvedRoot) { // 同步更新 imageKeyRoot,避免自动获取图片密钥时扫描到错误目录 @@ -774,11 +777,13 @@ app.whenReady().then(async () => { videoAssetService = new VideoAssetService(wcdb4Client) const monitoring = await wcdb4Client.startMonitor((type, json) => { wcdb4Client.invalidateSessionCache() + groupExitMonitorService.notifyDatabaseChanged(json) recallArchiveMonitor?.handleDatabaseChange(json) for (const window of BrowserWindow.getAllWindows()) { if (!window.isDestroyed()) window.webContents.send('wcdb-change', { type, json }) } }) + void groupExitMonitorService.start(monitoring) const recentSession = sessions[0] if (recentSession?.username) { void wcdb4Client @@ -1123,6 +1128,24 @@ app.whenReady().then(async () => { return snapshot }) + ipcMain.handle('group-exit-monitor:getState', () => groupExitMonitorService.getState()) + ipcMain.handle( + 'group-exit-monitor:setGroups', + (_, roomIds: string[], notificationRoomIds?: string[]) => + groupExitMonitorService.setMonitoredRoomIds( + Array.isArray(roomIds) ? roomIds : [], + Array.isArray(notificationRoomIds) ? notificationRoomIds : [] + ) + ) + ipcMain.handle('group-exit-monitor:setTemplate', (_, template: unknown) => + groupExitMonitorService.setNotificationTemplate(template) + ) + ipcMain.handle('group-exit-monitor:checkNow', () => groupExitMonitorService.checkNow()) + ipcMain.handle('group-exit-monitor:clearEvents', () => groupExitMonitorService.clearEvents()) + ipcMain.handle('group-exit-monitor:markRead', (_, readAt?: number) => + groupExitMonitorService.markRead(readAt) + ) + ipcMain.handle('db:search', (_, keyword: string) => chat.searchMessages(keyword)) ipcMain.handle( 'knowledge:search', @@ -1734,12 +1757,21 @@ app.whenReady().then(async () => { }) ipcMain.handle('db:reopenWithRoot', async (_, accountRoot: string) => { + groupExitMonitorService.stop() const ok = chat.reopenWithRoot(accountRoot) if (!ok) return { success: false, error: '数据库未初始化或重新打开失败' } const client = chat.getChatDb()?.getWcdb4Client() if (client) { voiceService = new VoiceService(client) voiceRecognition?.connect(voiceService, client.getAccountRoot()) + const monitoring = await client.startMonitor((type, json) => { + client.invalidateSessionCache() + groupExitMonitorService.notifyDatabaseChanged(json) + for (const window of BrowserWindow.getAllWindows()) { + if (!window.isDestroyed()) window.webContents.send('wcdb-change', { type, json }) + } + }) + void groupExitMonitorService.start(monitoring) } // 同步 imageKeyRoot,避免自动获取扫描到旧目录 const settings = loadSettings() @@ -1773,6 +1805,7 @@ app.whenReady().then(async () => { voiceBatchService?.cancel() voiceRecognition?.disconnect() voiceService = null + groupExitMonitorService.stop() if (options?.closeNative !== false && chat.isReady()) chat.setChatDb(null) return { success: true } }) @@ -2027,6 +2060,7 @@ app.on('before-quit', (event) => { void (async () => { agentHubService.stop() scheduledReportService.stop() + groupExitMonitorService.stop() flushBootstrapCacheWritesSync() const [, nativeCallsDrained] = await Promise.all([ apiServer.stop().catch(() => undefined), diff --git a/src/main/services/chat-service.ts b/src/main/services/chat-service.ts index e495f22..413f7b9 100644 --- a/src/main/services/chat-service.ts +++ b/src/main/services/chat-service.ts @@ -583,8 +583,8 @@ export function getGroupSnapshot(userMd5: string): GroupSnapshot | null { const roomId = wcdb4Client.getUsernameByMd5(userMd5) if (!roomId || !roomId.endsWith('@chatroom')) return null - const members = wcdb4Client - .getGroupMembers(roomId) + const rawMembers = wcdb4Client.getGroupMembers(roomId) + const members = (Array.isArray(rawMembers) ? rawMembers : []) .filter((member) => member?.m_nsUsrName) .map((member) => ({ wxid: member.m_nsUsrName, @@ -604,7 +604,8 @@ export async function getGroupSnapshotAsync(userMd5: string): Promise member?.m_nsUsrName) .map((member) => ({ wxid: member.m_nsUsrName, diff --git a/src/main/services/group-exit-monitor-service.ts b/src/main/services/group-exit-monitor-service.ts new file mode 100644 index 0000000..7d294ef --- /dev/null +++ b/src/main/services/group-exit-monitor-service.ts @@ -0,0 +1,579 @@ +import { app, BrowserWindow } from 'electron' +import fs from 'fs-extra' +import path from 'path' +import * as chat from './chat-service' +import { personalWechatCapabilityService } from './personal-wechat-capability-service' +import { personalWechatSendService } from './personal-wechat-send-service' +import { + findRemovedGroupMembers, + groupExitMemberName, + normalizeGroupExitNotificationTemplate, + renderGroupExitMonitorNotification, + validateGroupExitNotificationTemplate, + type GroupExitMonitorEvent, + type GroupExitMonitorMember, + type GroupExitMonitorState +} from '../../shared/group-exit-monitor' + +type StoredState = { + accountRoot?: string + events?: Partial[] + lastReadAt?: number + monitorSelectionConfigured?: boolean + monitoredRoomIds?: string[] + notificationRoomIds?: string[] + notificationTemplate?: unknown +} + +type GroupSnapshotRecord = { + contactId: string + roomId: string + groupName: string + members: GroupExitMonitorMember[] + /** 查询失败时保留旧快照。 */ + membersValid?: boolean +} + +const DB_CHANGE_DEBOUNCE_MS = 350 +const GROUP_READ_CONCURRENCY = 8 +const DUPLICATE_WINDOW_MS = 2 * 60 * 1000 +const MAX_EVENTS = 500 + +class GroupExitMonitorService { + private active = false + private nativeMonitorActive = false + private snapshots = new Map() + private changeTimer: NodeJS.Timeout | null = null + private checking = false + private checkQueued = false + private initializing = false + private lastCheckedAt: number | undefined + private lastReadAt = 0 + private events: GroupExitMonitorEvent[] = [] + private monitorSelectionConfigured = true + private monitoredRoomIds = new Set() + private notificationRoomIds = new Set() + private loaded = false + private accountRoot = '' + private eventSequence = 0 + private scopeGeneration = 0 + private notificationTemplate = normalizeGroupExitNotificationTemplate(undefined) + + getState(): GroupExitMonitorState { + this.ensureLoaded() + return { + events: [...this.events], + running: this.active && chat.isReady(), + nativeMonitorActive: this.nativeMonitorActive, + monitoredGroupCount: this.snapshots.size, + monitorSelectionConfigured: this.monitorSelectionConfigured, + monitoredRoomIds: Array.from(this.monitoredRoomIds), + notificationRoomIds: Array.from(this.notificationRoomIds), + notificationTemplate: this.notificationTemplate, + lastCheckedAt: this.lastCheckedAt, + lastReadAt: this.lastReadAt, + unreadCount: this.events.filter((event) => event.detectedAt > this.lastReadAt).length + } + } + + async start(nativeMonitorActive: boolean): Promise { + this.ensureLoaded() + const currentRoot = chat.getCurrentAccountRoot() + if ( + currentRoot && + this.accountRoot && + path.resolve(currentRoot) !== path.resolve(this.accountRoot) + ) { + this.events = [] + this.lastReadAt = 0 + this.monitorSelectionConfigured = true + this.monitoredRoomIds.clear() + this.notificationRoomIds.clear() + } + if (currentRoot) this.accountRoot = currentRoot + this.active = true + this.nativeMonitorActive = nativeMonitorActive + this.snapshots.clear() + this.checkQueued = false + this.initializing = true + const scopeGeneration = ++this.scopeGeneration + const generation = this.eventSequence + 1 + this.eventSequence = generation + try { + const groups = await this.readGroups() + if ( + !this.active || + this.eventSequence !== generation || + this.scopeGeneration !== scopeGeneration + ) + return + if (groups) this.replaceSnapshots(groups) + this.save() + this.broadcast() + } finally { + this.initializing = false + if (this.checkQueued && this.active) { + this.checkQueued = false + void this.check() + } + } + } + + stop(): void { + this.active = false + this.nativeMonitorActive = false + this.eventSequence += 1 + this.scopeGeneration += 1 + this.snapshots.clear() + this.checkQueued = false + if (this.changeTimer) clearTimeout(this.changeTimer) + this.changeTimer = null + this.broadcast() + } + + notifyDatabaseChanged(rawPayload: string): void { + if (!this.active || !isContactEvent(rawPayload)) return + try { + chat.getChatDb()?.getWcdb4Client().invalidateGroupNicknameCache() + } catch { + // 缓存清理失败时继续检查。 + } + if (this.changeTimer) clearTimeout(this.changeTimer) + this.changeTimer = setTimeout(() => { + this.changeTimer = null + void this.check() + }, DB_CHANGE_DEBOUNCE_MS) + } + + async checkNow(): Promise { + if (!this.active && chat.isReady()) await this.start(false) + await this.check() + return this.getState() + } + + async setMonitoredRoomIds( + roomIds: string[], + notificationRoomIds: string[] = [] + ): Promise { + this.ensureLoaded() + this.eventSequence += 1 + this.scopeGeneration += 1 + this.monitorSelectionConfigured = true + this.monitoredRoomIds = normalizeRoomIds(roomIds) + const requestedNotifications = normalizeRoomIds(notificationRoomIds) + this.notificationRoomIds = new Set( + Array.from(requestedNotifications).filter((roomId) => this.monitoredRoomIds.has(roomId)) + ) + // 更换监控范围后重新建基线,避免旧快照误报。 + this.snapshots.clear() + this.lastCheckedAt = undefined + this.save() + this.broadcast() + // 建立基线放到后台,保存配置可以立即返回。 + if (this.active) void this.check() + return this.getState() + } + + setNotificationTemplate(value: unknown): GroupExitMonitorState { + this.ensureLoaded() + const result = validateGroupExitNotificationTemplate(value) + if (!result.valid || !result.template) { + throw new Error(result.error || '退群监测模板无效') + } + this.notificationTemplate = result.template + this.save() + this.broadcast() + return this.getState() + } + + clearEvents(): GroupExitMonitorState { + this.ensureLoaded() + this.events = [] + this.lastReadAt = Date.now() + this.save() + this.broadcast() + return this.getState() + } + + markRead(readAt?: number): GroupExitMonitorState { + this.ensureLoaded() + this.lastReadAt = Math.max(this.lastReadAt, Number(readAt) || Date.now()) + this.save() + this.broadcast() + return this.getState() + } + + private async check(): Promise { + if (!this.active || !chat.isReady()) return + if (this.initializing) { + this.checkQueued = true + return + } + if (this.checking) { + this.checkQueued = true + return + } + + this.checking = true + const scopeGeneration = this.scopeGeneration + try { + const groups = await this.readGroups() + if (!groups || !this.active || scopeGeneration !== this.scopeGeneration) return + + const currentRoomIds = new Set(groups.map((group) => group.roomId)) + for (const roomId of this.snapshots.keys()) { + if (!currentRoomIds.has(roomId)) this.snapshots.delete(roomId) + } + + for (const next of groups) { + if (scopeGeneration !== this.scopeGeneration) return + if (next.membersValid === false) continue + const previous = this.snapshots.get(next.roomId) + if (previous?.membersValid === false) { + this.snapshots.set(next.roomId, next) + continue + } + // 空数组可能是查询失败,先保留旧基线,避免误报。 + if (previous && previous.members.length > 0 && next.members.length === 0) continue + + this.snapshots.set(next.roomId, next) + if (!previous) continue + + // 只有群人数下降才记录退群。 + if (next.members.length >= previous.members.length) continue + + const removed = findRemovedGroupMembers(previous.members, next.members) + for (const member of removed) { + const event = this.recordExit(next, member, previous.members.length, next.members.length) + if (event && this.notificationRoomIds.has(next.roomId)) { + void this.notifyGroup(next, event) + } + } + } + this.lastCheckedAt = Date.now() + this.save() + this.broadcast() + } finally { + this.checking = false + if (this.checkQueued && this.active) { + this.checkQueued = false + void this.check() + } + } + } + + private async readGroups(): Promise { + const database = chat.getChatDb() + if (!database) return null + try { + const client = database.getWcdb4Client() + const rawSessions = await client.getSessionsAsync({ hydrateDisplayNames: true }) + const sessions = Array.isArray(rawSessions) ? rawSessions : [] + const groups = sessions.filter( + (session) => + session.username?.endsWith('@chatroom') === true && + (!this.monitorSelectionConfigured || this.monitoredRoomIds.has(session.username)) + ) + const records: Array = new Array(groups.length).fill(null) + let nextIndex = 0 + const workerCount = Math.min(GROUP_READ_CONCURRENCY, groups.length) + await Promise.all( + Array.from({ length: workerCount }, async () => { + while (true) { + const index = nextIndex++ + if (index >= groups.length) return + const session = groups[index] + const contactId = client.md5(session.username) + try { + const snapshot = await chat.getGroupSnapshotAsync(contactId) + const groupName = cleanGroupName(session.nickname, session.username) + if (!snapshot || snapshot.roomId !== session.username) { + records[index] = { + contactId, + roomId: session.username, + groupName, + members: [], + membersValid: false + } + continue + } + const rawMembers = (snapshot as { members?: unknown }).members + if (!Array.isArray(rawMembers)) { + console.warn( + `[GroupMonitor] 群成员快照不是数组 roomId=${session.username}; 保留上一份基线` + ) + records[index] = { + contactId, + roomId: session.username, + groupName, + members: [], + membersValid: false + } + continue + } + records[index] = { + contactId, + roomId: snapshot.roomId, + groupName: cleanGroupName(session.nickname, snapshot.roomId), + members: rawMembers + .filter((member) => member?.wxid) + .map((member) => ({ + wxid: member.wxid, + nickname: member.nickname, + groupNickname: member.groupNickname, + wechatNickname: member.wechatNickname, + remark: member.remark, + avatar: member.avatar + })), + membersValid: true + } + } catch (error) { + console.warn(`[GroupMonitor] 读取群成员失败 roomId=${session.username}:`, error) + records[index] = { + contactId, + roomId: session.username, + groupName: cleanGroupName(session.nickname, session.username), + members: [], + membersValid: false + } + } + } + }) + ) + return records.filter((record): record is GroupSnapshotRecord => Boolean(record)) + } catch (error) { + console.warn('[GroupMonitor] 读取群成员快照失败:', error) + return null + } + } + + private replaceSnapshots(groups: GroupSnapshotRecord[]): void { + this.snapshots = new Map( + groups.filter((group) => group.membersValid !== false).map((group) => [group.roomId, group]) + ) + } + + private recordExit( + group: GroupSnapshotRecord, + member: GroupExitMonitorMember, + previousCount: number, + currentCount: number + ): GroupExitMonitorEvent | null { + const memberName = groupExitMemberName(member) + const wechatName = String(member.wechatNickname || '').trim() + const groupRemark = String(member.groupNickname || '').trim() + const contactRemark = String(member.remark || '').trim() + const detectedAt = Date.now() + const message = `${memberName}退出了${group.groupName}` + const duplicate = this.events.some( + (event) => + event.roomId === group.roomId && + event.memberWxid === member.wxid && + event.previousCount === previousCount && + event.currentCount === currentCount && + Math.abs(event.detectedAt - detectedAt) < DUPLICATE_WINDOW_MS + ) + if (duplicate) return null + const event: GroupExitMonitorEvent = { + id: `${group.roomId}:${member.wxid}:${detectedAt}:${this.eventSequence++}`, + contactId: group.contactId, + roomId: group.roomId, + groupName: group.groupName, + memberWxid: member.wxid, + memberName, + wechatName, + groupRemark, + contactRemark, + previousCount, + currentCount, + delta: currentCount - previousCount, + message, + detectedAt + } + this.events = [event, ...this.events].slice(0, MAX_EVENTS) + console.log( + `[GroupMonitor] detected member exit roomId=${group.roomId} member=${member.wxid} ${previousCount}->${currentCount}` + ) + return event + } + + private async notifyGroup( + group: GroupSnapshotRecord, + event: GroupExitMonitorEvent + ): Promise { + try { + const capability = await personalWechatCapabilityService.getPersonalWechatSendCapability() + if (!capability.ready || !capability.capabilities.text) { + console.warn(`[GroupMonitor] 跳过群聊通知 roomId=${group.roomId}: ${capability.message}`) + return + } + // 具体传输方式由发送服务按平台处理。 + const result = await personalWechatSendService.send({ + type: 'text', + to: group.roomId, + isGroup: true, + text: renderGroupExitMonitorNotification(event, this.notificationTemplate) + }) + if (!result.success) { + console.warn( + `[GroupMonitor] 群聊通知发送失败 roomId=${group.roomId}: ${result.error || ''}` + ) + } + } catch (error) { + console.warn( + `[GroupMonitor] 群聊通知异常 roomId=${group.roomId}:`, + error instanceof Error ? error.message : String(error) + ) + } + } + + private filePath(): string { + return path.join(app.getPath('userData'), 'group-exit-monitor.json') + } + + private ensureLoaded(): void { + if (this.loaded) return + this.loaded = true + try { + const stored = fs.readJsonSync(this.filePath()) as StoredState + this.events = normalizeEvents(stored.events) + this.lastReadAt = Number(stored.lastReadAt) || 0 + this.accountRoot = String(stored.accountRoot || '') + // 没有显式范围时按空范围处理,保留已有选择。 + this.monitorSelectionConfigured = true + this.monitoredRoomIds = normalizeRoomIds(stored.monitoredRoomIds || []) + this.notificationRoomIds = new Set( + Array.from(normalizeRoomIds(stored.notificationRoomIds || [])).filter((roomId) => + this.monitoredRoomIds.has(roomId) + ) + ) + this.notificationTemplate = normalizeGroupExitNotificationTemplate( + stored.notificationTemplate + ) + } catch { + // 首次启动或文件损坏时从空记录开始。 + this.events = [] + this.lastReadAt = 0 + this.monitorSelectionConfigured = true + this.monitoredRoomIds.clear() + this.notificationRoomIds.clear() + this.notificationTemplate = normalizeGroupExitNotificationTemplate(undefined) + } + } + + private save(): void { + this.ensureLoaded() + try { + fs.ensureDirSync(path.dirname(this.filePath())) + fs.writeJsonSync( + this.filePath(), + { + accountRoot: this.accountRoot, + events: this.events, + lastReadAt: this.lastReadAt, + monitorSelectionConfigured: this.monitorSelectionConfigured, + monitoredRoomIds: Array.from(this.monitoredRoomIds), + notificationRoomIds: Array.from(this.notificationRoomIds), + notificationTemplate: this.notificationTemplate + }, + { spaces: 2 } + ) + } catch (error) { + console.warn('[GroupMonitor] 保存事件失败:', error) + } + } + + private broadcast(): void { + const state = this.getState() + for (const window of BrowserWindow.getAllWindows()) { + if (!window.isDestroyed()) window.webContents.send('group-exit-monitor:state', state) + } + } +} + +function normalizeRoomIds(roomIds: string[]): Set { + return new Set( + (Array.isArray(roomIds) ? roomIds : []) + .map((roomId) => String(roomId || '').trim()) + .filter((roomId) => roomId.endsWith('@chatroom')) + ) +} + +function cleanGroupName(value: string | undefined, roomId: string): string { + const name = String(value || '').trim() + return name && name !== roomId && !name.startsWith('wxid_') ? name : roomId +} + +function normalizeEvents( + values: Partial[] | undefined +): GroupExitMonitorEvent[] { + if (!Array.isArray(values)) return [] + const normalized: GroupExitMonitorEvent[] = [] + for (const value of values) { + const memberName = String(value.memberName || '').trim() + const groupName = String(value.groupName || '').trim() + const roomId = String(value.roomId || '').trim() + const previousCount = Number(value.previousCount) + const currentCount = Number(value.currentCount) + const detectedAt = Number(value.detectedAt) + // 旧记录没有人数变化,无法确认退群,直接忽略。 + if ( + !memberName || + !groupName || + !roomId || + !Number.isFinite(previousCount) || + !Number.isFinite(currentCount) || + previousCount <= currentCount || + previousCount <= 0 || + !Number.isFinite(detectedAt) || + detectedAt <= 0 + ) { + continue + } + const memberWxid = String(value.memberWxid || '').trim() + const duplicate = normalized.some( + (event) => + event.roomId === roomId && + event.memberWxid === memberWxid && + event.previousCount === previousCount && + event.currentCount === currentCount && + Math.abs(event.detectedAt - detectedAt) < DUPLICATE_WINDOW_MS + ) + if (duplicate) continue + normalized.push({ + id: String(value.id || `${roomId}:${memberWxid || memberName}:${detectedAt}`), + contactId: String(value.contactId || ''), + roomId, + groupName, + memberWxid, + memberName, + wechatName: String(value.wechatName || '').trim(), + groupRemark: String(value.groupRemark || '').trim(), + contactRemark: String(value.contactRemark || '').trim(), + previousCount, + currentCount, + delta: Number.isFinite(Number(value.delta)) + ? Number(value.delta) + : currentCount - previousCount, + message: String(value.message || `${memberName}退出了${groupName}`), + detectedAt + }) + if (normalized.length >= MAX_EVENTS) break + } + return normalized +} + +function isContactEvent(rawPayload: string): boolean { + const payload = String(rawPayload || '').trim() + if (!payload) return false + try { + const parsed = JSON.parse(payload) as { table?: unknown } + return String(parsed.table || '').toLowerCase() === 'contact' + } catch { + return /["']table["']\s*:\s*["']contact["']/i.test(payload) + } +} + +export const groupExitMonitorService = new GroupExitMonitorService() + +export { GroupExitMonitorService } diff --git a/src/main/wcdb4-client.ts b/src/main/wcdb4-client.ts index 189b3e7..de7f7fa 100644 --- a/src/main/wcdb4-client.ts +++ b/src/main/wcdb4-client.ts @@ -987,6 +987,11 @@ export class Wcdb4Client { this.sessionDisplayNamesHydrated = false } + /** 清理群备注缓存,不影响会话缓存。 */ + invalidateGroupNicknameCache(): void { + this.groupNicknameCache.clear() + } + getChatTables(): { name: string; db_number: string }[] { if (this.cachedChatTables) return this.cachedChatTables const sessions = @@ -2740,14 +2745,15 @@ export class Wcdb4Client { ]) const content = this.decodeMessageContent(contentRaw, compressRaw) const contentSender = this.extractSenderFromMessageContent(content) - const sender = this.pickString(row, [ - 'sender_username', - 'senderUsername', - 'sender', - 'fromUsername', - 'from_username', - 'WCDB_CT_sender_username' - ]) || contentSender + const sender = + this.pickString(row, [ + 'sender_username', + 'senderUsername', + 'sender', + 'fromUsername', + 'from_username', + 'WCDB_CT_sender_username' + ]) || contentSender const createTime = this.pickNumber(row, [ 'create_time', 'createTime', @@ -2795,21 +2801,32 @@ export class Wcdb4Client { 'mesDes', 'WCDB_CT_is_send' ]) - const parsedIsSend = rawIsSend === undefined || rawIsSend === null - ? false - : this.pickBoolean(row, [ - 'computed_is_send', - 'computedIsSend', - 'is_send', - 'isSend', - 'mesDes', - 'WCDB_CT_is_send' - ]) - const isSelfSender = sender ? this.getMyUsernameCandidates().some((candidate) => { - const left = String(candidate || '').trim().toLowerCase() - const right = String(sender || '').trim().toLowerCase() - return Boolean(left && right && (left === right || left.startsWith(`${right}_`) || right.startsWith(`${left}_`))) - }) : false + const parsedIsSend = + rawIsSend === undefined || rawIsSend === null + ? false + : this.pickBoolean(row, [ + 'computed_is_send', + 'computedIsSend', + 'is_send', + 'isSend', + 'mesDes', + 'WCDB_CT_is_send' + ]) + const isSelfSender = sender + ? this.getMyUsernameCandidates().some((candidate) => { + const left = String(candidate || '') + .trim() + .toLowerCase() + const right = String(sender || '') + .trim() + .toLowerCase() + return Boolean( + left && + right && + (left === right || left.startsWith(`${right}_`) || right.startsWith(`${left}_`)) + ) + }) + : false const isSend = isSelfSender || parsedIsSend return { @@ -2828,11 +2845,14 @@ export class Wcdb4Client { /** 解决群里自己的消息被识别成 user */ private extractSenderFromMessageContent(content: string): string { - const firstLine = String(content || '').split(/\r?\n/, 1)[0].trim() + const firstLine = String(content || '') + .split(/\r?\n/, 1)[0] + .trim() if (!firstLine || firstLine.length > 128 || /[<>]/.test(firstLine)) return '' const candidate = firstLine.replace(/:$/, '').trim() if (!candidate || /\s/.test(candidate)) return '' - if (candidate.includes('@') || candidate.startsWith('wxid_') || candidate.startsWith('gh_')) return candidate + if (candidate.includes('@') || candidate.startsWith('wxid_') || candidate.startsWith('gh_')) + return candidate return this.getMyUsernameCandidates().includes(candidate) ? candidate : '' } diff --git a/src/preload/index.d.ts b/src/preload/index.d.ts index 6c8b30f..1cd380b 100644 --- a/src/preload/index.d.ts +++ b/src/preload/index.d.ts @@ -79,6 +79,7 @@ import type { PersonalWechatVoiceEncodingEnvironmentResult } from '../shared/personal-wechat-voice-runtime' import type { AppLogEntry } from '../shared/app-log' +import type { GroupExitMonitorState } from '../shared/group-exit-monitor' import type { AppUpdateCheckResult, AppUpdateInstallResult, @@ -254,6 +255,16 @@ declare global { avatar: string }[] } | null> + getGroupExitMonitorState: () => Promise + setGroupExitMonitorGroups: ( + roomIds: string[], + notificationRoomIds?: string[] + ) => Promise + setGroupExitMonitorNotificationTemplate: (template: string) => Promise + checkGroupExitMonitorNow: () => Promise + clearGroupExitMonitorEvents: () => Promise + markGroupExitMonitorRead: (readAt?: number) => Promise + onGroupExitMonitorState: (callback: (state: GroupExitMonitorState) => void) => () => void search: (keyword: string) => Promise searchKnowledge: (request: KnowledgeSearchIpcRequest) => Promise runAiSearch: (request: AiSearchPipelineRequest) => Promise diff --git a/src/preload/index.ts b/src/preload/index.ts index 82d55c9..45ac003 100644 --- a/src/preload/index.ts +++ b/src/preload/index.ts @@ -52,6 +52,7 @@ import type { } from '../shared/personal-wechat-voice-runtime' import type { AppLogEntry } from '../shared/app-log' import type { AppUpdateState } from '../shared/app-update' +import type { GroupExitMonitorState } from '../shared/group-exit-monitor' import type { CacheSummary } from '../shared/cache' import type { ExportRequest, ExportJobProgress } from '../shared/export' import type { ImageDecoderSelectionResult, ImageDecoderStatus } from '../shared/image-decryption' @@ -128,6 +129,29 @@ const api = { options?: { limit?: number } ) => ipcRenderer.invoke('db:getMessages', userMd5, startTime, endTime, options), getGroupSnapshot: (userMd5: string) => ipcRenderer.invoke('db:getGroupSnapshot', userMd5), + getGroupExitMonitorState: (): Promise => + ipcRenderer.invoke('group-exit-monitor:getState'), + setGroupExitMonitorGroups: ( + roomIds: string[], + notificationRoomIds?: string[] + ): Promise => + notificationRoomIds === undefined + ? ipcRenderer.invoke('group-exit-monitor:setGroups', roomIds) + : ipcRenderer.invoke('group-exit-monitor:setGroups', roomIds, notificationRoomIds), + setGroupExitMonitorNotificationTemplate: (template: string): Promise => + ipcRenderer.invoke('group-exit-monitor:setTemplate', template), + checkGroupExitMonitorNow: (): Promise => + ipcRenderer.invoke('group-exit-monitor:checkNow'), + clearGroupExitMonitorEvents: (): Promise => + ipcRenderer.invoke('group-exit-monitor:clearEvents'), + markGroupExitMonitorRead: (readAt?: number): Promise => + ipcRenderer.invoke('group-exit-monitor:markRead', readAt), + onGroupExitMonitorState: (callback: (state: GroupExitMonitorState) => void) => { + const listener = (_event: Electron.IpcRendererEvent, state: GroupExitMonitorState): void => + callback(state) + ipcRenderer.on('group-exit-monitor:state', listener) + return () => ipcRenderer.removeListener('group-exit-monitor:state', listener) + }, search: (keyword: string) => ipcRenderer.invoke('db:search', keyword), searchKnowledge: (request: KnowledgeSearchIpcRequest): Promise => ipcRenderer.invoke('knowledge:search', request), diff --git a/src/renderer/src/App.tsx b/src/renderer/src/App.tsx index db86f93..57517e0 100644 --- a/src/renderer/src/App.tsx +++ b/src/renderer/src/App.tsx @@ -41,6 +41,7 @@ import { switchGeneratedReportTemplate } from './utils/report-template-switch' import { runtimePlatform } from './utils/runtime-environment' import { useToast } from './components/ui' import { AppUpdatePrompt } from './features/app-update/AppUpdatePrompt' +import { GroupExitMonitorWorkspace } from './features/group-exit-monitor/GroupExitMonitorWorkspace' const SIDEBAR_MIN_WIDTH = 260 const SIDEBAR_MAX_WIDTH = 380 @@ -1908,6 +1909,8 @@ function App(): React.ReactElement { return renderArchiveWorkspace() case 'report': return renderReportWorkspace() + case 'exit-monitor': + return case 'agent-hub': return case 'api': diff --git a/src/renderer/src/components/layout/PrimaryNavigation.tsx b/src/renderer/src/components/layout/PrimaryNavigation.tsx index 5a78200..7aa9cac 100644 --- a/src/renderer/src/components/layout/PrimaryNavigation.tsx +++ b/src/renderer/src/components/layout/PrimaryNavigation.tsx @@ -1,5 +1,6 @@ import React from 'react' import { AppPage, PRIMARY_NAV_ITEMS } from './navigation' +import type { GroupExitMonitorState } from '../../../../shared/group-exit-monitor' interface NavIconProps { page: AppPage @@ -37,6 +38,14 @@ function NavIcon({ page }: NavIconProps): React.ReactElement { ) + case 'exit-monitor': + return ( + + ) case 'export': return ( + {item.id === 'exit-monitor' && unreadExitCount > 0 && ( + {Math.min(unreadExitCount, 99)} + )} {item.label} diff --git a/src/renderer/src/components/layout/navigation.ts b/src/renderer/src/components/layout/navigation.ts index 4f3a661..1b99788 100644 --- a/src/renderer/src/components/layout/navigation.ts +++ b/src/renderer/src/components/layout/navigation.ts @@ -1,4 +1,12 @@ -export type AppPage = 'archive' | 'search' | 'report' | 'agent-hub' | 'export' | 'api' | 'settings' +export type AppPage = + | 'archive' + | 'search' + | 'report' + | 'exit-monitor' + | 'agent-hub' + | 'export' + | 'api' + | 'settings' export interface NavigationItem { id: AppPage @@ -9,6 +17,7 @@ export const PRIMARY_NAV_ITEMS: NavigationItem[] = [ { id: 'archive', label: '档案' }, { id: 'search', label: '问问微信' }, { id: 'report', label: '日报' }, + { id: 'exit-monitor', label: '退群监控' }, { id: 'agent-hub', label: 'Agent' }, { id: 'export', label: '导出' }, { id: 'api', label: 'API' }, diff --git a/src/renderer/src/features/group-exit-monitor/GroupExitMonitorWorkspace.tsx b/src/renderer/src/features/group-exit-monitor/GroupExitMonitorWorkspace.tsx new file mode 100644 index 0000000..968eec4 --- /dev/null +++ b/src/renderer/src/features/group-exit-monitor/GroupExitMonitorWorkspace.tsx @@ -0,0 +1,838 @@ +import React from 'react' +import { + Button, + Checkbox, + EmptyState, + Input, + Popover, + PopoverContent, + PopoverTrigger, + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, + Textarea, + Tooltip, + TooltipContent, + TooltipTrigger +} from '../../components/ui' +import type { Contact } from '../../../../shared/types' +import { + GROUP_EXIT_NOTIFICATION_TEMPLATE, + GROUP_EXIT_NOTIFICATION_TEMPLATE_MAX_LENGTH, + validateGroupExitNotificationTemplate, + type GroupExitMonitorState +} from '../../../../shared/group-exit-monitor' +import type { PersonalWechatSendCapability } from '../../../../shared/personal-wechat' + +type GroupSelectionFilter = 'all' | 'selected' | 'unselected' + +interface GroupExitMonitorWorkspaceProps { + dbReady: boolean + contacts?: Contact[] +} + +const EMPTY_STATE: GroupExitMonitorState = { + events: [], + running: false, + nativeMonitorActive: false, + monitoredGroupCount: 0, + monitorSelectionConfigured: true, + monitoredRoomIds: [], + notificationRoomIds: [], + lastReadAt: 0, + unreadCount: 0 +} + +const formatDetectedAt = (timestamp: number): string => + new Date(timestamp).toLocaleString('zh-CN', { hour12: false }) + +const dayStart = (timestamp: number): number => { + const date = new Date(timestamp) + date.setHours(0, 0, 0, 0) + return date.getTime() +} + +const formatLastChecked = (timestamp?: number): string => { + if (!timestamp) return '尚未检查' + const elapsed = Math.max(0, Date.now() - timestamp) + if (elapsed < 60_000) return '刚刚' + if (elapsed < 60 * 60_000) return `${Math.max(1, Math.floor(elapsed / 60_000))} 分钟前` + return formatDetectedAt(timestamp) +} + +const contactDisplayName = (contact: Contact): string => + contact.m_nsNickName?.trim() || contact.remark?.trim() || contact.m_nsUsrName || '未命名群聊' + +const isGroupContact = (contact: Contact): boolean => + contact.type === 'group' || contact.m_nsUsrName?.trim().endsWith('@chatroom') === true + +const contactRoomId = (contact: Contact): string => contact.m_nsUsrName.trim() + +const sendCapabilityLabel = (capability: PersonalWechatSendCapability | null): string => { + if (!capability) return '发送能力检查中' + if (capability.ready && capability.capabilities.text) return '发送能力已就绪' + if (capability.status === 'unsupported') return '发送能力不可用' + return '发送能力未就绪' +} + +const sendCapabilityTone = (capability: PersonalWechatSendCapability | null): string => + capability?.ready && capability.capabilities.text ? 'ready' : 'unready' + +function SendCapabilityStatus({ + capability, + className = '' +}: { + capability: PersonalWechatSendCapability | null + className?: string +}): React.ReactElement { + const label = sendCapabilityLabel(capability) + return ( + + + + + + {capability?.message || '正在读取微信发送能力'} + + ) +} + +function GroupExitNotificationTemplate({ + template, + saving, + error, + onSave +}: { + template: string + saving: boolean + error: string + onSave: (template: string) => Promise +}): React.ReactElement { + const [open, setOpen] = React.useState(false) + const [draft, setDraft] = React.useState(template) + const [validationError, setValidationError] = React.useState('') + + React.useEffect(() => { + if (!open) setDraft(template) + }, [open, template]) + + const handleOpenChange = (nextOpen: boolean): void => { + setOpen(nextOpen) + setValidationError('') + if (nextOpen) setDraft(template) + } + + const saveDraft = async (): Promise => { + const result = validateGroupExitNotificationTemplate(draft) + if (!result.valid || !result.template) { + setValidationError(result.error || '模板无效') + return + } + setValidationError('') + const saved = await onSave(result.template) + if (saved) setOpen(false) + } + + return ( + + + + + +