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 |
|
电摇小子
|
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 |
|
Wxw-Gu
|
8488e81bb5
|
feat: 支持微信视频消息解析与播放
支持视频 XML 解析、本地文件映射与拖动播放。
修复源码乱码注释并统一 UTF-8 编码。
|
2026-07-24 14:16:34 +08:00 |
|
Wxw-Gu
|
474250c6c7
|
feat: 添加微信消息防撤回功能
|
2026-07-24 11:27:44 +08:00 |
|
Wxw-Gu
|
d0ceeceb68
|
fix: 容错修复群聊日报 JSON, 图片样式问题
|
2026-07-23 16:20:45 +08:00 |
|
Wxw-Gu
|
62f729d281
|
chore: 添加应用诊断日志
|
2026-07-23 16:09:20 +08:00 |
|
Wxw-Gu
|
f9b567fba2
|
feat: 重构数据库登录与路径发现
|
2026-07-17 14:35:53 +08:00 |
|
Wxw-Gu
|
1f693aa3d7
|
perf: 优化聊天渲染与后台任务性能
|
2026-07-17 11:37:02 +08:00 |
|
Wxw-Gu
|
1275c512c4
|
fix: 修复日报成员名称与图片识别兼容性
|
2026-07-15 21:17:54 +08:00 |
|
Wxw-Gu
|
d08db46479
|
feat: 完善跨平台发布与生产密钥隔离
|
2026-07-15 20:49:47 +08:00 |
|
Wxw-Gu
|
eaea8d8435
|
feat: 内置微信连接器并完善 Agent 查询能力
|
2026-07-15 20:27:05 +08:00 |
|
 电摇小子andWxw-Gu
|
1e97953d67
|
feat: 集成 Agent Hub 微信机器人能力
|
2026-07-15 17:26:15 +08:00 |
|
Wxw-Gu
|
515348b6d8
|
feat: 完善群聊日报模板与图片理解
|
2026-07-15 16:29:25 +08:00 |
|
Wxw-Gu
|
e150605c91
|
merge: feat/report 集成进 feat/newReport (M1)
合并 feat/report 的日报功能 + main 的图片识别基建:
- 保留 main 分支的图片识别能力(ai-provider-service + key-store + settings/ai-model)
- 保留 feat/report 的日报功能(ChatWindow.tsx + group-report* + mobile_daily_report.html)
- index.ts/preload 同时保留两边的 IPC handler(api:chat / ai:testVision / report:export / db:getImage)
冲突解决:
- main/index.ts ai:chat:采用 main 版本(AIProviderService)
- group-report-service.ts values:采用 feat/report 版本(完整 hero/section 占位符)
- 整文件替换:ChatWindow.tsx / group-report.ts / mobile_daily_report.html
(采用 feat/report 版本,与 group-report-facts.ts 协同)
|
2026-07-15 10:34:19 +08:00 |
|
电摇小子
|
556d70eab3
|
feat: 临时加一个windows 目录输入框
|
2026-07-14 14:33:40 +08:00 |
|
电摇小子
|
eaf8e9b07d
|
fix: 修复登录报错key问题
|
2026-07-14 11:07:35 +08:00 |
|
电摇小子
|
aebf56b3f7
|
feat: 统一应用品牌图标并修复 macOS 打包路径
|
2026-07-14 11:07:35 +08:00 |
|
电摇小子
|
ce4b00bcd9
|
实现 AI 图片理解能力测试
|
2026-07-14 11:07:35 +08:00 |
|
电摇小子
|
31df97237d
|
重构 AI 模型配置中心
|
2026-07-14 11:07:35 +08:00 |
|
电摇小子
|
7b54b611d3
|
实现图片解密设置页
|
2026-07-14 11:07:35 +08:00 |
|
电摇小子
|
f1ceef0e5e
|
实现数据库密钥设置页
|
2026-07-14 11:07:35 +08:00 |
|
电摇小子
|
ab24185670
|
精简账号与数据库设置页
|
2026-07-14 11:07:35 +08:00 |
|
电摇小子
|
842144eba0
|
fix: 修改登录报错, error改为warn
|
2026-07-14 11:07:35 +08:00 |
|
 电摇小子and电摇小子
|
d37341ab52
|
feat: 设置页面新UI 未做完
|
2026-07-14 11:07:35 +08:00 |
|
 电摇小子and电摇小子
|
5d041aa137
|
feat: 完成本地 API 中心与 Reader Skill 流程
|
2026-07-14 11:07:35 +08:00 |
|
 电摇小子and电摇小子
|
519c10223d
|
fix: 完善 AI 日报详情状态与解析容错
|
2026-07-14 11:07:35 +08:00 |
|
 电摇小子and电摇小子
|
d28b579cb4
|
feat: 优化 AI 日报结果中心信息架构
|
2026-07-14 11:07:35 +08:00 |
|
 电摇小子and电摇小子
|
c291c94bd8
|
feat: 实现 AI 日报历史资产化
|
2026-07-14 11:07:35 +08:00 |
|
 电摇小子and电摇小子
|
16a9aed6bb
|
重构 UI-04 AI 群聊日报工作区
|
2026-07-14 11:07:35 +08:00 |
|
 电摇小子and电摇小子
|
7880e874b2
|
完成 UI-02 和 UI-03 聊天档案界面
|
2026-07-14 11:07:35 +08:00 |
|
 电摇小子and电摇小子
|
7e217f7034
|
增加自动登录环境开关
|
2026-07-14 11:07:35 +08:00 |
|
 电摇小子and电摇小子
|
4f0b4884b6
|
完成 UI-01 应用外壳与设计令牌
|
2026-07-14 11:07:35 +08:00 |
|
 电摇小子and电摇小子
|
d4f6b755e5
|
修复 Windows 消息游标回退查询
|
2026-07-14 11:07:35 +08:00 |
|
 电摇小子and电摇小子
|
995a95e8dc
|
修复 Windows 会话名称和密钥显示图标
|
2026-07-14 11:07:35 +08:00 |
|
 电摇小子and电摇小子
|
8bb9576f10
|
feat: 支持点击图片优先打开原图
|
2026-07-14 11:07:35 +08:00 |
|
 电摇小子and电摇小子
|
a776830144
|
feat: 优化 Windows 缓存加载和图片显示
|
2026-07-14 11:07:35 +08:00 |
|
 电摇小子and电摇小子
|
ad50939005
|
feat: 支持微信内置表情渲染
|
2026-07-14 10:20:45 +08:00 |
|
 电摇小子and电摇小子
|
71e970c55c
|
feat: 支持图片密钥配置与内存扫描
|
2026-07-14 10:20:23 +08:00 |
|
 电摇小子and电摇小子
|
e8c12696b2
|
fix: 优化群聊展示与群日报生成
|
2026-07-14 10:19:40 +08:00 |
|
 电摇小子and电摇小子
|
267730d59e
|
feat: 支持 Windows WCDB 解密与打包
|
2026-07-14 10:15:36 +08:00 |
|
电摇小子
|
d079d45279
|
feat: 更换日报功能模板
- ChatWindow 模型下拉框新增 deepseek-v4-pro /
deepseek-v4-flash
- 主进程 model 兜底值改为 deepseek-v4-flash
- 同步更新 .env.example 默认模型
- 修复旧 localStorage 中 gpt-5.5 等不支持的模型导致的
400 报错
|
2026-07-10 15:40:35 +08:00 |
|
电摇小子
|
a0b163823d
|
fix: 修复登录
|
2026-07-09 10:37:11 +08:00 |
|
电摇小子
|
3eb4438f4c
|
feat: 群日报 9 宫格头像自动反推 + 持续时长语义 + 自动登录
- group-report-service: enrichAvatarsFromGroup 从群成员快照反推真头像
- group-report-service: 修 SVG data URL 正则,fallback 现在能正常嵌入
- group-report (shared): GroupReportMetadata/Result 加 talker/warnings 字段
- timeSpan 改为持续时长(\"1 h\" / \"30 min\" / \"2 d\" 紧凑半角)
- App.tsx 启动自动连接(env var + safeStorage)
- Wcdb4Client 父目录自动解析为最新 wxid
- HTTP server EADDRINUSE 友好提示 + 指数退避
- installSafeConsole 修 EPIPE crash
- SettingsPanel 测试连接后自动更新 dbRoot
|
2026-07-08 16:40:03 +08:00 |
|
电摇小子
|
7932ea2f54
|
feat: 本地 HTTP API + 设置面板 + 账号自助入口
让 WechatExplorer 既能用图形界面浏览聊天记录,也能作为本机 MCP 数据源被
Claude / Codex 等客户端通过 127.0.0.1:6131 直接拉取。
本机 HTTP API
- 新增 http-server: 8 个端点,覆盖 health / current_time / contact /
chatroom / recent_chat / chatlog / group_snapshot / resolve / report
- 时间参数支持 YYYY-MM-DD / YYYY-MM-DD/HH:mm / Unix 秒级;日期单独使用
时自动补到 00:00:00~23:59:59,避免漏消息
- apiServer 单例支持动态启停,启动失败返回 friendlyMessage(把
EADDRINUSE 翻译成"端口已被占用"的中文错误并附 4 次重试)
数据库根目录与自服务入口
- Wcdb4Client 接受 accountRoot 时会自动解析:父目录下找最新含
db_storage 的 wxid 子目录;设置面板"测试连接"成功后回写解析后的
精确路径
- 抽 chat-service.ts:IPC 和 HTTP 共享 listContacts / listMessages /
getGroupSnapshot / searchMessages / getSelfAccountInfo / testConnection
/ reopenWithRoot
- WechatDb 接受可选 accountRoot;设置面板新增"应用并重新初始化"
按钮,改完 dbRoot 立即生效
- 新增 settings-store.ts,dbRoot / apiEnabled / apiHost / apiPort 落到
userData/settings.json
主进程健壮性
- 新增 safe-log.ts 包一层 console.log/warn/error,electron-vite 关闭
子进程 stderr 后写 EPIPE 不再炸 IPC handler(原 main build 启动时
即 installSafeConsole)
|
2026-07-07 13:58:10 +08:00 |
|
 电摇小子andClaude Opus 4.7
|
4bba8bd871
|
refactor: 移除微信 3.0 解密路径, 统一走 4.0 WCDB
- wechat-db.ts 删除 SQLCipher 回退、connectDb、getUser、tryOpenWechat4 等 3.0 专属逻辑
- image-decrypt-service.ts 删除 decryptDatV3 与 version === 0 分支
- index.ts 去除 wcdb4Client 冗余空值检查
- 移除 better-sqlite3-multiple-ciphers 依赖
- README 版本前置改为 4.0+
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-07-03 10:37:51 +08:00 |
|