diff --git a/electron/services/exportService.ts b/electron/services/exportService.ts index d0721ab..0ef6268 100644 --- a/electron/services/exportService.ts +++ b/electron/services/exportService.ts @@ -259,9 +259,41 @@ class ExportService { } private cleanSystemMessage(content: string): string { + if (!content) return '[系统消息]' + + // 先尝试提取特定的系统消息内容 + // 1. 提取 sysmsg 中的文本内容 + const sysmsgTextMatch = /]*>([\s\S]*?)<\/sysmsg>/i.exec(content) + if (sysmsgTextMatch) { + content = sysmsgTextMatch[1] + } + + // 2. 提取 revokemsg 撤回消息 + const revokeMatch = /<\/replacemsg>/i.exec(content) + if (revokeMatch) { + return revokeMatch[1].trim() + } + + // 3. 提取 pat 拍一拍消息 + const patMatch = /