Skip to content

Repository files navigation

MNEMO

项目简介

MNEMO 是一个本地优先的 Windows 微信聊天记录导出工具。它为当前电脑上 已登录的微信账号创建只读快照,在本机解密并生成离线归档。聊天记录、密钥、 语音、头像和转写结果均不会上传至任何服务。

下载与使用

Windows 发布版为解压即用的文件夹程序,无需安装。

  1. 解压 MNEMO-windows-x64.zip
  2. 在解压后的 MNEMO 文件夹中运行 MNEMO.exe
  3. 若未自动识别,在 MNEMO 中选择当前已登录微信的账号目录。
  4. 点击 捕获密钥并创建快照,然后在五分钟内退出并重新登录微信。
  5. 点击 读取会话,选择会话和导出选项,最后点击 导出 MNEMO Archive

MNEMO 的设置、临时密钥材料、解密快照和语音队列均保存在 %LOCALAPPDATA%\MNEMO。程序安装目录不会存放可变数据。

Windows 命令行安装

需要从源码启动时,在 PowerShell 中执行。首次安装 winget 包后请重新打开 PowerShell,再继续执行后续命令:

winget install Git.Git
winget install Python.Python.3.13
winget install OpenJS.NodeJS.LTS
git clone https://github.com/bakahuiii/MNEMO.git
cd MNEMO
python -m pip install -r requirements.txt
npm install
.\run_gui.cmd

归档结构

每次导出均为自包含的 MNEMO Archive 文件夹。MNEMO 以原子替换方式写入 自身生成的文件,绝不会删除目标目录中与其无关的内容。

MNEMO Archive/
  manifest.json
  index.html
  assets/avatars/
  conversations/
    direct/
      联系人备注或昵称/
        联系人备注或昵称.json
        index.html
    group/
      群名称/
        群名称.json
        index.html

会话文件夹和 JSON 文件优先使用联系人备注,没有备注时使用昵称;重名会自动 追加稳定短后缀。JSON 适合审计和后续处理,HTML 则是支持主题和密度设置的 完全离线阅读视图。

语音转文字

语音记录按会话和微信本地消息 ID 建立索引,并按音频哈希缓存。原始 Silk 音频仅保留在 MNEMO 的私有数据目录中。归档内只保存受限的状态元数据,以及 完成后的本地 enrichment.transcript 对象和可读的 [voice transcript] ... 文本。

启用语音转文字:

  1. 安装 Node.js 18 或更高版本,并确保 node 已加入 PATH。仅本地 Silk 解码需要 Node.js,普通聊天记录导出不依赖 Node.js。
  2. 打开 语音转文字 标签页,点击 下载 SenseVoiceSmall,或选择一个包含 model.int8.onnxtokens.txt 的兼容模型目录。
  3. 保持 MNEMO 运行以处理队列。内置下载支持断点续传,且会在启用模型前验证 SHA-256。

发布包不包含任何 ASR 模型。SenseVoiceSmall 是默认选择,因为它已经在本机 微信语音样本上通过验证。需要更高准确率时,可以自行选择更大的兼容模型, 代价是更高的本地 CPU、内存和处理时间。

MNEMO 默认使用两个本地转写工作线程。可设置 MNEMO_VOICE_WORKERS 为 1 到 4 以调节 CPU 和内存占用。工作日志写入 private\voice\voice.log,当前日志最大 1 MB,最多保留三个轮转备份;GUI 仅保留最新的 400 行活动记录。

独立导出默认不包含群聊语音。仅在确有需要时启用 导出群聊语音;其他群聊 消息不受此选项影响。

命令行归档

无需启动桌面程序,也可以导出已经生成的标准化数据源:

python python\mnemo_archive.py `
  --input $env:LOCALAPPDATA\MNEMO\private\normalized-source.json `
  --snapshot $env:LOCALAPPDATA\MNEMO\private\snapshot `
  --output "$HOME\Documents\MNEMO Exports" `
  --name "MNEMO Archive" `
  --format both `
  --theme mist

npm run cli 提供 mnemo 命令,可用于标准化数据源转换和自动化。需要可读的 离线归档时,推荐使用桌面程序。

从源码构建

需要 Windows、Python 3.11 或更高版本、Node.js 18 或更高版本,以及项目依赖。

python -m pip install -r requirements.txt
npm ci
npm test
npm run check
build_portable.cmd

构建后会生成 dist\MNEMO\MNEMO.exedist\MNEMO-windows-x64.zipdist\MNEMO-windows-x64.zip.sha256。发布文件夹中包含本地密钥组件、Silk 解码 脚本和 silk-wasm 包。完整发布检查请参见 docs/BUILD_AND_RELEASE.md

隐私与兼容性

MNEMO 仅在用户主动启动快照流程后读取当前 Windows 用户已登录微信的数据。它 不会修改微信数据库文件、绕过登录、读取其他电脑的数据或上传个人信息。

微信数据库加密与密钥捕获均和具体版本相关。当 MNEMO 提示微信版本不受支持时, 请保留快照并记录本机版本信息;不要复用其他机器或其他微信版本的偏移量、 密钥或配置。技术研究说明见 docs/WEIXIN_4_1_RESEARCH.md

第三方声明

许可证和归属说明见 THIRD_PARTY_NOTICES.md

About

本地优先的 Windows 微信聊天记录导出器,支持加密数据库快照、离线 HTML/JSON 归档、头像保存与本地语音转写。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages