Nanin
|
e3615c0153
|
feat: 优化聊天导出进度与媒体处理
1. 拆分读取、解析、转写、媒体处理、写入和压缩阶段,完善任务进度展示。
2. 增量导出复用语音资源与转写结果,并为缺失转写补充识别。
3. 稳定远程头像文件名并保留同源头像版本更新。
4. 支持音频附件直接播放、新窗口打开附件,并解码分享标题 XML 实体。
5. 补充导出进度、语音、头像、附件和消息解析回归测试。
|
2026-08-05 23:22:47 +08:00 |
|
Wxw-Gu
|
3c59fb64e9
|
Merge branch 'nanin/develop' into develop
|
2026-08-05 18:44:25 +08:00 |
|
Nanin
|
c4e13ee7d2
|
fix: 修复聊天档案搜索误匹配微信内部 ID
- 移除隐藏 senderId 搜索字段,避免 xi 等关键词误命中 wxid
- 保留发送者昵称、消息正文及结构化可见内容的搜索能力
- 新增 wxid 与可见正文匹配的回归测试
|
2026-08-05 18:19:55 +08:00 |
|
Nanin
|
12cae061df
|
feat: 优化聊天档案移动端与账号切换体验
- 限制移动端横向滚动并修复发送消息头像裁切
- 调整顶部搜索、筛选与独立计数布局,七类筛选保持单行
- 移除聊天选项消息数和顶部更新时间,简化单聊天展示
- 使用头像、名称、切换图标与自定义弹层替代原生账号下拉控件
- 补充桌面及移动端的布局、切换和无横向溢出回归测试
|
2026-08-05 18:03:25 +08:00 |
|
majun.jason
|
17cc99de37
|
feat: 优化聊天档案搜索体验
- 高亮展示搜索结果中的命中词,覆盖普通文本与结构化消息内容
- 为全部及分类搜索结果提供聊天定位,定位后清空搜索并回到完整消息上下文
- 修复移动端搜索框聚焦自动放大,并补充桌面与移动端测试覆盖
|
2026-08-05 15:24:36 +08:00 |
|
majun.jason
|
933a87ebbb
|
feat: 优化聊天档案浏览与增量导出
1. 增加档案加载状态、错误提示和延迟数据加载。
2. 优化移动端工具栏、消息布局及横向滚动控制。
3. 支持按年份折叠时间轴,并同步可见月份定位。
4. 使用自定义文件名作为档案标题。
5. 增量导出时保留历史头像,仅在视觉变化后新增头像版本。
6. 修复附件消息被误判为合并转发的问题。
7. 补充单元、集成及端到端测试覆盖。
|
2026-08-05 15:00:31 +08:00 |
|
Wxw-Gu
|
55da2e2e67
|
fix: 语音模型下载
|
2026-08-05 10:21:13 +08:00 |
|
 电摇小子andWxw-Gu
|
c2f9d352db
|
feat: 导出html页面
|
2026-08-05 09:46:10 +08:00 |
|
 电摇小子andWxw-Gu
|
7529a67f09
|
feat: 语音
|
2026-08-05 09:45:59 +08:00 |
|
majun.jason
|
4e84b52cc4
|
feat: 完善聊天导出与档案浏览
1. 修复数据量较大时,历史数据可能无法完整导出的问题
2. 优化分享 Tab 的信息展示,支持小程序、链接、地图等消息
3. 优化系统 Tab 的信息展示,支持红包、转账、拍一拍、撤回等消息
4. 修复默认进入时,时间轴不随消息自动定位的问题
5. 增加“定位到聊天位置”功能
|
2026-08-05 00:14:28 +08:00 |
|
majun.jason
|
66a6ee3e32
|
fix: 修复视频定位与运行时依赖打包
|
2026-08-04 21:00:13 +08:00 |
|
电摇小子
|
69bc6f57e7
|
fix: test
|
2026-08-04 20:41:06 +08:00 |
|
电摇小子
|
894281fb44
|
fix:test
|
2026-08-04 20:32:50 +08:00 |
|
电摇小子
|
2f6ab7b773
|
fix: 修复跨平台导出测试与 Playwright 浏览器安装
|
2026-08-04 20:26:04 +08:00 |
|
 qingmaoandGitHub
|
a0e8be0cdf
|
Merge pull request #9 from nanin/nanin/develop
feat: 支持多聊天合并导出
|
2026-08-04 20:18:44 +08:00 |
|
majun.jason
|
e153ddb794
|
fix: 修复 macOS 端到端测试
|
2026-08-04 20:13:07 +08:00 |
|
majun.jason
|
60c501e148
|
feat: 支持多聊天合并导出
|
2026-08-04 19:26:18 +08:00 |
|
Wxw-Gu
|
c23ed23bd2
|
chore: 修改打包配置
|
2026-08-04 17:36:14 +08:00 |
|
Wxw-Gu
|
0a3d930298
|
fix: 修复媒体导出与 HTML 聊天档案体验
- 修复打包版图片、语音解析不可用,内置 FFmpeg 与必要运行时依赖
- 修复 HTML 导出原图查找、缩略图回退及增量档案媒体解析问题
- 修复本人昵称在软件和 HTML 导出中显示为微信号的问题,并兼容旧档案昵称迁移
- 修复 HTML 语音播放器超出消息气泡的问题
- 优化 HTML 双向滚动加载,大量消息时最多渲染 240 条,避免页面卡顿
- 移除图片解密页面中手动配置 FFmpeg 的相关提示
- 补充图片解密、语音运行时、打包资源和 HTML 导出相关测试
|
2026-08-04 17:03:07 +08:00 |
|
Wxw-Gu
|
c6587c517a
|
feat: 增强 HTML 聊天档案导出
- 增加时间轴、消息筛选、搜索和完整时间显示
- 使用窗口化懒加载优化大消息档案
- 支持同名档案增量合并并安全复用媒体资源
|
2026-08-04 12:29:38 +08:00 |
|
Wxw-Gu
|
c70e49bf16
|
fix: 完善聊天解析与导出体验
- 修复引用消息名称和图片布局
- 明确单会话图片测试日志范围
- 支持导出文件附件
- 完善图片批测、会话刷新和安全退出
|
2026-08-04 12:03:07 +08:00 |
|
Wxw-Gu
|
d76727875d
|
chore: 提升版本
v2.1.8
|
2026-08-03 14:12:00 +08:00 |
|
Wxw-Gu
|
08e1294e5d
|
feat: 完善多账号连接诊断与聊天媒体导出
- 新增微信账号发现、环境诊断和分步数据库连接引导
- 支持按账号安全保存数据库密钥及快速切换账号
- 完善 WCDB 历史消息分片读取和分页状态提示
- 支持导出图片、视频和语音,提供原图优先及缩略图回退
- 更新安装指引、兼容版本说明和相关自动化测试
v2.1.7
|
2026-08-03 10:43:14 +08:00 |
|
 电摇小子andWxw-Gu
|
224308f0e0
|
fix: 修复 macOS 会话昵称显示
(cherry picked from commit be092c64e528cfc363f0ddd32c480eea5532799f)
|
2026-08-03 10:08:59 +08:00 |
|
 电摇小子andWxw-Gu
|
3e57a8432d
|
test: 建立桌面端自动化回归测试体系并完善跨平台 CI
(cherry picked from commit 74267ae2f63f8256c3da84b04f5b330e6e9d4c67)
|
2026-08-03 10:08:28 +08:00 |
|
 电摇小子andWxw-Gu
|
b4f909a597
|
fix: 修复语音首播并完善消息解析与会话兼容性
(cherry picked from commit 214090192f5dfc91cdec0269bad434d3e22394d8)
|
2026-08-03 10:04:45 +08:00 |
|
 电摇小子andWxw-Gu
|
ee7dc11e92
|
fix: 优化数据库启动与设置页响应性能
(cherry picked from commit f6614548b0e742bc703b2a5aaa5060720985ed27)
|
2026-08-03 10:04:19 +08:00 |
|
 电摇小子andWxw-Gu
|
90bf1aed90
|
fix: 支持 wxgf 原图解密并修复缩略图缓存刷新
- 增加 wxgf/HEVC 图片转换支持
- 增加 FFmpeg 跨平台安装、目录填写与能力检测
- 避免缩略图占用原图缓存,下载原图后可即时刷新
- 移除聊天图片的缩略图角标
(cherry picked from commit 4cee159a65496bd30dd690b568c47a120f3fff30)
|
2026-08-03 10:03:55 +08:00 |
|
 电摇小子andWxw-Gu
|
a3955d691d
|
fix: 优化 Windows 启动性能与聊天图片缓存
- 增加聊天图片磁盘持久化缓存,重启后直接复用
- 将 DAT 图片解密移至 Worker,避免阻塞主进程
- 增加图片加载优先级和并发控制
- 优化会话目录与图片文件的异步查找
- 使用本地媒体协议加载缓存图片,减少 Base64 IPC 开销
- 优化启动缓存与数据库初始化流程,降低窗口未响应时间
(cherry picked from commit 82bcc8d32ca674de38c745cc9925ed2309887dc7)
|
2026-08-03 10:03:19 +08:00 |
|
Wxw-Gu
|
8a6d443acc
|
chore: 提升版本 修改打包命令
|
2026-07-31 11:40:41 +08:00 |
|
Wxw-Gu
|
f0601cdc85
|
feat: 重构README 新增引导功能
|
2026-07-31 11:26:23 +08:00 |
|
Wxw-Gu
|
77adc744e0
|
feat: 设置功能
v2.1.6
|
2026-07-30 09:49:56 +08:00 |
|
Wxw-Gu
|
0adb064681
|
refactor: 代码拆分
|
2026-07-29 10:50:27 +08:00 |
|
Wxw-Gu
|
8e40487e08
|
docs: 修改README
|
2026-07-28 16:50:13 +08:00 |
|
Wxw-Gu
|
d0ae9e6019
|
perf: 优化图片消息后台加载与解密缓存
- 缩略图优先展示并在后台准备原图
- 增加图片请求去重与受控并发队列
- 缓存图片路径、账号目录和解密结果
v2.1.5
|
2026-07-28 16:11:59 +08:00 |
|
Wxw-Gu
|
49684f3365
|
feat: 完善 AI 智能检索与定位
新增 AI 查询规划和主题变体多轮检索
修复无结果时回退全量消息导致的错误结论
优化目标成员优先级和大数据量消息匹配性能
新增检索诊断日志、任务中心和持久化缓存
支持证据按时间定位档案并闪烁提示
|
2026-07-28 15:52:31 +08:00 |
|
Wxw-Gu
|
33aaf4d558
|
feat: 修改缓存加载逻辑
|
2026-07-28 09:56:50 +08:00 |
|
电摇小子
|
5ccabb3898
|
feat: 完善微信小程序与红包消息解析
- 新增小程序和红包结构化消息及专用卡片
- 修复嵌套类型、拍一拍和表情包误判
- 补充常见 AppMsg 类型分类
|
2026-07-28 03:20:11 +08:00 |
|
电摇小子
|
7db845ac7e
|
feat: 优化聊天记录缓存、虚拟分页与群聊媒体展示
- 使用持久化缓存加速启动并异步读取 WCDB 消息
- 修复空群缓存、头像和群成员名称丢失问题
- 修复引用图片缩略图、虚拟卸载缓存和图片预览
- 修正引用消息发送者显示为群 ID 的问题
|
2026-07-28 02:45:20 +08:00 |
|
电摇小子
|
9348c5ce4a
|
feat: 修复导出任务状态并优化聊天记录导出体验
|
2026-07-27 22:06:08 +08:00 |
|
Wxw-Gu
|
f626d89a1a
|
feat: 提交
|
2026-07-27 20:34:57 +08:00 |
|
Wxw-Gu
|
95e517eca5
|
feat: 表情包优化
|
2026-07-27 17:55:11 +08:00 |
|
Wxw-Gu
|
e93e4554d7
|
feat: 导出功能
|
2026-07-27 17:43:36 +08:00 |
|
Wxw-Gu
|
9ae0c6cc47
|
chore: 删除无用代码
|
2026-07-27 10:13:13 +08:00 |
|
Wxw-Gu
|
59e609b08a
|
Merge branch 'develop'
|
2026-07-27 09:42:25 +08:00 |
|
Wxw-Gu
|
9de7dcde3b
|
chore: 提升版本号
|
2026-07-27 09:41:49 +08:00 |
|
电摇小子
|
cb3c2855c0
|
fix(paths): 同步 imageKeyRoot 与 dbRoot,仅识别 xwechat_files
之前的状态面板(chat.getCurrentAccountRoot())和自动获取图片密钥(settings.imageKeyRoot)
走两个完全不同的来源,二者漂移导致状态显示 D 盘但实际扫描到 C 盘。
index.ts:
- key:autoGetImageKey 优先级调整为 chat.getCurrentAccountRoot() → self.accountRoot →
settings.imageKeyRoot → settings.dbRoot,让运行时识别的目录永远最优先。
- db:init:保存 dbRoot 时同步更新 imageKeyRoot,避免 settings 缓存漂移。
- db:reopenWithRoot:用户手动切换根目录时同步更新 imageKeyRoot。
settings-store.ts:
- loadSettings:dbRoot 修正时同步 imageKeyRoot;若 imageKeyRoot 指向旧路径或不存在,
回退到 dbRoot。
- 新增 redirectLegacyWeChatFilesToXwechat():当 settings 里的 dbRoot/imageKeyRoot 仍指向
V3 时代的 "Documents\WeChat Files" 路径时,自动重定向到同目录下的 xwechat_files(如果存在)。
老用户升级时无需手动迁移。
wcdb4-client / windows-db-root-discovery / key-service-win:
- 候选目录列表只保留 xwechat_files 形态(Documents\xwechat_files、
AppData\Roaming\Tencent\xwechat_files、macOS 的 Library/Containers/.../xwechat_files),
移除 V3 时代的 "WeChat Files" 候选。
- DB_ROOT_NAMES 只包含 xwechat_files,自动扫描也只认 V4 路径。
V3 数据(V1 头 dat / WeChat Files 目录结构)如果用户机器上还存在,仅作为残留,
不会被 WechatExplorer 当成有效数据源。
|
2026-07-26 20:46:51 +08:00 |
|
电摇小子
|
dca88e5db3
|
fix(image-decrypt): 仅支持 WeChat 4.0,移除 V3 兜底 + 模板诊断
WeChat 4.0 dat 文件头为 07 08 56 32 08 07。V3 / 老版本(V1 头)不在支持范围。
image-decrypt-service:
- 移除 defaultV1AesKey ('cfcd208495d565ef') 字段。
- 移除 if (version === 1) 的 V1 默认 key 分支。
- getDatVersion 只识别 V2 头;其他返回 0 走 unsupported。
- 注释说明 decryptDatV4 方法名里的 V4 是历史命名,跟协议版本无关。
key-service-win._findTemplateData / autoGetImageKeyByMemoryScan:
- 统计扫描诊断信息:搜索到的 _t.dat 数量、V2 头数量、非 V2 数量、扫描根目录。
- 把模糊的「未找到 V2 模板文件」拆成三种具体提示:
1) 目录下完全没有 _t.dat → 让用户先在微信里点开图片大图(缩略图未生成)。
2) 有 _t.dat 但都不是 V2 头 → 让用户查看更多图片。
3) 有 V2 但没有有效长度 → 让用户查看更多图片。
- 每条都附带实际扫描根目录,便于远程排查时一眼看出路径是否正确。
|
2026-07-26 20:46:34 +08:00 |
|
电摇小子
|
1a9f27488b
|
refactor(image-decrypt): 设置面板 UI 重构 + 测试步骤联动
页面拆分两个目录语义:
- 上方「图片解密状态」的「图片资源目录」始终等于 chat 实时识别的默认目录(chat.getCurrentAccountRoot()),
不再被用户输入覆盖。
- 下方「图片密钥管理」移除「图片资源目录」输入框,只保留 XOR / AES 两个 Key。
该字段之前会被保存但实际不影响图片解密(数据库查询走默认根目录),保留只会让用户困惑。
UI 改动:
- ImageKeyConfiguration:移除 resourceRoot 输入框,edit() 签名收窄为 xorKey | aesKey。
- ImageTestSection:测试结果由 3 列横排改为步骤条样式(pending / ok / fail / skipped),
任意一步 ✗ 后续步骤自动标记「跳过」并灰掉,前端语义上变成「要么都成功要么都失败」。
- AutoDetectImageKeySection:加一行小字提示「仅支持 WeChat 4.0,V3 及以下无法解析」。
后端改动:
- testImageDecryption:解密失败时把 fileFound/decrypted/readable 统一置 false,
拆出「解密成功但不可读」中间态,让 UI 步骤联动准确反映。
- inspectImageDecryptionStatus:accountRoot 兜底改为 getCurrentAccountRoot() || config.resourceRoot,
让状态面板始终显示当前识别到的默认目录。
- sanitizeImageError:把 'no_image_message' / '300' / 'unsupported' / 'dat version' 关键字翻译成具体提示。
- useImageDecryptionController.autoDetect:错误信息原文透传,不再走 sanitizeImageError(后者会
把扫描阶段的「未找到 V2 模板文件」/「60 秒未找到 AES 密钥」等归类成「无法解析媒体文件」,掩盖真因)。
- image-key-config-service.save():不再写回 imageKeyRoot,下方输入框只用于校验,不再落盘。
|
2026-07-26 20:46:20 +08:00 |
|
电摇小子
|
3b64e18b5e
|
chore(security): 移除 AI 内置 Key fallback + 修正默认模型名
发布版本不再自动从环境变量读取 VITE_DEEPSEEK_API_KEY 创建默认 DeepSeek provider。
ensureEnvironmentMigration() 改为 no-op(保留方法作为占位)。
用户首次启动必须在「设置 → AI 模型」手动配置 API Key。
migrateLegacy() 保留:用于把用户自己之前存在 localStorage 的旧配置迁移到加密存储,
与内置 Key 是两回事。
附带修正 .env.example 默认模型名:deepseek-v4-flash 是已弃用/不存在的标识符,
DeepSeek 官方未发布此模型,统一改为 deepseek-chat。
|
2026-07-26 20:45:53 +08:00 |
|