把微信聊天变成可检索的本地方档:微信 AI 记忆库上手

微信里存着大量项目决策、需求变更和关键承诺,但这些对话分散在私聊和群聊中,整理起来很费时间。给大模型做上下文时,只给几句临时描述,模型只能从不完整的信息里猜测。微信 AI 记忆库解决的就是这个问题:它直接读取 Windows 微信 4.x 的本地数据,按会话、日期和关键词筛选聊天记录,导出 PDF、Markdown 和结构化 JSON,全程数据不离本机。

安装与首次启动

从 GitHub Release 下载 WeChatAIMemory-Portable.exe,双击就能运行。这个单文件版会把运行库释放到 Windows 临时目录,首次启动等待十几秒属于正常现象。如果下载的是 ZIP 版,需要完整解压,保留同目录下的 _internal 文件夹,不能只复制里面的 EXE。

程序没有代码签名,Windows SmartScreen 可能提示“未知发布者”。Frida 用于读取当前用户已登录的微信进程,部分安全软件也可能拦截。只需要从官方仓库 Release 下载并核对来源,就可以放心添加排除项。

连接微信数据

打开微信 AI 记忆库,程序会自动检测 Windows 微信 4.x 的账户目录。点击“连接微信”,微信会重启,在 5 分钟内扫码或用手机确认登录。连接成功后,选择联系人或群聊,用日历选日期范围,再按关键词筛选消息。

需要原图时,点击“读取图片”。如果旧版微信未能自动取得图片配置,先在微信中打开一张聊天原图,再重试读取。

这里有个容易踩的坑:微信升级后可能改变内部数据格式。当前版本在 Windows 微信 4.x 上验证过,但“软件能启动”不等于“所有微信版本都能读取”。遇到兼容问题,先确认 Windows 版本和微信版本,再附上抹掉隐私信息的错误日志去提 Issue。

数据完全留在本地

这个项目最核心的设计原则:不上传任何数据。聊天内容、图片、数据库密钥、导出文件全部留在本机。没有遥测,没有远程 API,不会发送、撤回或修改微信消息。解密时只处理临时数据库副本,密钥不写入磁盘,原始微信数据库文件不会被改动。

临时数据库和恢复的图片放在系统临时目录,数据源关闭时自动删除。语音转写由本地 faster-whisper 模型执行,模型和转写缓存保存在 %LOCALAPPDATA%\WeChatAIMemory。首次使用需要联网下载约 500 MB 的 small 模型,下载完成后可以离线使用。

支持的消息类型和输出格式

能力 实现方式
文本消息 直接读取并展示
图片 V2/WXGF 原图恢复,EXIF 方向修正,预览图与 300 DPI 高清独立页
文件 随导出复制到 _assets 目录
语音 读取微信 SILK 音频,本地 faster-whisper 转写并缓存文字
系统消息 完整覆盖

输出支持三种格式:PDF 适合归档和分享,Markdown 方便编辑和阅读,JSON 适合程序化处理。生成伴随文件时,图片和文件附件会复制到与 PDF 同名的 _assets 目录,Markdown 和 JSON 中使用相对路径引用。

不连接微信也能跑

手头没有微信数据,或者想试试导出管线,可以在 GUI 中选择“JSON 文件”作为数据源。仓库的 examples/demo_chat.json 提供了示例数据结构,字段定义在 JSON 数据格式 中有详细说明。

命令行入口更灵活,适合脚本化调用:

wechat-context-exporter `
  --source examples/demo_chat.json `
  --conversation eco-project `
  --start 2026-08-21 `
  --end 2026-08-22 `
  --output outputs/demo-context.pdf `
  --markdown outputs/demo-context.md `
  --json outputs/demo-context.json

微信数据适配器与渲染、导出模块相互隔离。即使微信格式变化,JSON 数据源和输出管线仍可独立工作,这是个很务实的架构设计。

踩坑记录和解决方案

SmartScreen 和杀毒软件拦截:程序未签名,Frida 行为被某些安全软件标记。解决方案是添加文件夹排除项,或者暂时禁用实时保护。只从官方 Release 下载,不要用第三方搬运的版本。

微信升级后无法读取:微信 4.x 内部数据格式会变。当前 v0.3.6-alpha 已验证,但如果微信刚更新,可能需要等待适配。临时方案是回退微信版本,或者在 Issue 中提交兼容性报告。

语音转写模型下载慢:首次使用需下载约 500 MB 的 small 模型,国内网络可能较慢。可以用下载工具获取模型文件后放到 %LOCALAPPDATA%\WeChatAIMemory 目录。

图片无法读取:旧版微信未取得图片配置,先在微信中打开一张原图,再点击“读取图片”即可。

从源码运行

想参与开发或调试,需要 Python 3.11+:

git clone https://github.com/LOGO127/wechat-ai-memory.git
cd wechat-ai-memory
py -3 -m venv .venv-gui
.\.venv-gui\Scripts\python.exe -m pip install -e ".[gui,dev]"
.\.venv-gui\Scripts\python.exe app.py

也可以直接双击 start.cmd。完整的测试、打包和目录说明在 开发文档 中。

快速操作清单

  1. 从 Release 下载 WeChatAIMemory-Portable.exe
  2. 登录 Windows 微信 4.x
  3. 双击运行程序,等待首次解压
  4. 点击“连接微信”,微信重启后扫码登录
  5. 选择联系人或群聊 → 选日期范围 → 输入关键词
  6. 点击“读取图片”(可选)
  7. 选择保存位置,点击“生成记忆档案”
  8. 获取 PDF / Markdown / JSON 三种格式的导出文件

FAQ

Q:我需要备份微信聊天记录,这个工具能直接导出完整备份吗?
能按会话、日期和关键词筛选后导出 PDF、Markdown 和 JSON,但这不是微信官方的完整备份工具,不会导出所有原始格式数据。

Q:语音转写需要联网吗?
首次使用需要下载约 500 MB 的 small 模型,之后完全离线。聊天内容和语音不会上传。

Q:导出的 JSON 格式能直接喂给大模型吗?
可以。JSON 包含结构化的消息字段,适合程序化处理。配合代码读取后,可以作为 RAG 或 Agent 的上下文输入。

Q:微信更新后工具不能用了怎么办?
微信 4.x 版本升级可能改变内部数据格式。建议在 Issue 中提交 Windows 版本、微信版本和脱敏后的错误日志,开发者会适配。

Q:程序会修改我的微信数据吗?
不会。只读解密临时数据库副本,原始数据库不改动,密钥不落盘。

Q:单文件版和 ZIP 版有什么区别?
单文件版下载后双击直接运行,但首次启动需要释放运行库到临时目录。ZIP 版需要完整解压,启动更快,方便排查安全软件拦截。

Q:代码签名缺失会影响使用吗?
不影响功能,但 SmartScreen 会提示“未知发布者”。只需从官方 Release 下载并核对即可。