WechatVibe README

The project's README from github.com/tswawa/WechatVibe. As one markdown file: README.md.

WechatVibe

WechatVibe

微信聊天情感分析客户端
意图识别 · 情绪感知 · 人物画像 · 群聊画像 · 好感度 · MBTI 聊天推测

最新版本 Windows 10/11 License: Apache-2.0

功能介绍 · 下载安装 · 首次使用 · 常见问题 · 数据与隐私 · 免责声明 · 交流与反馈

WechatVibe 只读读取本机已登录的 Windows 微信,分析聊天中的情绪和意图,并生成人物画像、好感度和 MBTI 推测。适合想回看聊天中的情绪变化、了解日常交流方式的用户。

API 模式下的消息情绪与意图识别

截图中的聊天和分析结果均为虚构演示数据。

功能介绍

消息情绪与意图

在聊天页点击「意图识别」,消息下方会显示情绪和意图两个短标签,例如「开心」「期待」「委屈」,或「分享」「邀约」「求安慰」「婉拒」。

人物画像

从聊天工具栏或左侧导航进入「人物画像」,在同一页面查看好感度、MBTI 倾向、互动风格和画像摘要。

人物画像:好感度、MBTI 倾向、互动风格和摘要

群聊画像

在群聊中进入画像页面,可以在「群整体」和具体成员之间切换。

群聊整体画像与成员选择

聊天记录与账号

软件只读读取本机已登录的微信,支持单聊、群聊、联系人和群头像。图片消息显示为 [图片]。

截图:选择要查看的会话

选择要加入聊天列表的会话

模型与设置

截图:模型设置与缓存管理

本地 Laya 下载与运行设备选择

API 服务地址、协议、模型与上下文设置

按本地和 API 模型来源分别管理分析缓存

下载安装

  1. 从 Releases 下载最新的 WechatVibe-版本号-windows-x64.zip。这是标准运行包,不含 Laya 模型。
  2. 解压后保留整个 win-unpacked 目录,双击其中的 WechatVibe.exe。
  3. 使用本地分析时,在「设置 → 本地部署」下载模型(独立的 WechatVibe-Laya-model-v1.zip),或选择已有的模型目录。只用 API 可以跳过这一步。

运行要求

项目 要求
系统 Windows 10/11 x64
微信 Windows 微信 4.x,已实测 4.1.15.13;不支持 3.x
本地 Laya 配置参考(只用 API 可以跳过)

模型约 3.22 亿参数,纯 CPU 即可运行,不需要独立显卡。下表为建议配置,低配设备尚未系统测试。

项目 建议配置
CPU 4 核及以上 x64 处理器;CPU 推理默认使用 4 线程
内存 8 GB 起步;同时运行微信和其他应用,建议 16 GB 及以上
GPU(可选) 支持 WebGPU 的显卡和较新的驱动,不兼容时使用 CPU;最低显存要求暂未确定
磁盘 至少预留 4 GB,用于应用、模型下载和安装;聊天缓存和更新备份另算
模型体积 模型包约 599 MB,解压后约 681 MB;文件体积不等于运行时的内存占用

首次加载和分析历史消息的速度取决于处理器、内存和聊天量。API 模式不需要下载 Laya,也不需要本地显卡,速度和上下文容量取决于所选的模型服务。

首次使用

  1. 登录微信:使用 Windows 微信 4.x 登录要分析的账号。
  2. 启动软件:双击 WechatVibe.exe。账号状态可在「设置 → 管理账号」查看,不用等聊天加载完就能使用界面。
  3. 选择模型:在「设置 → 通用设置」选择模型来源。本地模式下载或选择 Laya 模型;API 模式填写服务地址、API Key 和模型,确认上下文大小,测试连接后保存并启用。
  4. 添加会话:点击左侧搜索框旁的「+」,或在「设置 → 信息列表」选择联系人或群聊。
  5. 查看分析:打开聊天,点击「意图识别」查看消息标签;进入「人物画像」查看画像,群聊还可以选择具体成员。

软件更新

在「设置 → 关于 → 当前版本」检查更新,发现新版本后点击「下载并安装」。下载的文件会先校验,安装完成后自动重启;账号数据、分析结果、画像和已下载的模型都会保留。安装失败会自动恢复旧版,更新成功后也可以回退到上一版(只保留最近一次)。Windows 设置了系统代理时,更新会沿用该代理连接 GitHub。

各版本的改动见更新日志。

从旧版本升级的注意事项
  • 已有的 API 画像:1.2.3 起 API 画像改用新规则。升级后先显示旧画像,在画像页点击「更新画像」后才按新规则重新分析。
  • 从内置模型的旧版升级:原来的 Laya 模型会保留,设置中显示为已就绪。
  • 1.2.1 首版从目录映射(Junction)启动:如果更新时提示「更新包或安装位置不可用」,请手动下载最新版,退出软件后覆盖原目录,保留 resources/client/.local 和 resources/client/.models。
  • 从 1.0.4 升级:旧更新器不支持现在的运行包,需要手动下载。完全退出旧版后,把新包 win-unpacked 里的文件覆盖到原软件目录,保留 resources/client/.local 和 resources/client/.models,不要先删除旧目录。

常见问题

一直显示「当前微信账号未就绪」
  • 确认使用的是 Windows 微信 4.x(不支持 3.x)。使用旧版微信时,请先更新微信并重新登录,再启动 WechatVibe。
  • 微信数据存放在自定义位置时,在「设置 → 通用设置 → 聊天记录路径」手动选择 xwechat_files 或账号目录。
  • 仍然无法解决时,运行下面的启动诊断工具,再到 Issues 反馈。
启动时提示「本地服务未就绪」或无法打开

下载 WechatVibe-diagnose.bat,放到 WechatVibe.exe 所在目录后双击运行。它会检查文件、运行环境和启动错误并生成报告;不启动应用或模型,不读取聊天数据库和 API Key,也不会自动上传。详见启动诊断说明。

升级后人物画像还是旧的

旧的 API 画像会先保留显示。在画像页点击「更新画像」,才会按新规则重新分析;重建期间会标明正在显示旧画像。

开发

后端按应用服务、微信只读适配器、Node 推理适配器和 SQLite 存储拆分,模块职责、依赖边界和回归命令见后端架构说明。

源码运行

需要 Node.js 24.11.1、Python 3.14 和 npm。在 PowerShell 中执行:

git clone https://github.com/tswawa/WechatVibe.git
cd WechatVibe
npm ci
py -3.14 -m venv .venv
.\.venv\Scripts\python.exe -m pip install --no-deps -r python-requirements.lock.txt
npm start

需要本地 Laya 时,可在首次启动前执行 npm run setup:models,或进入应用后下载;仅使用 API 时可跳过模型下载。源码方式下载模型约 681 MB,下载后校验 SHA-256。下载器保留 .part 文件供断点续传,网络失败最多尝试三次;完整文件通过大小和 SHA-256 校验后才替换旧文件,强制下载失败不会删除已有模型。默认目录为 .models/laya,可通过 LAYA_MODEL_DIR 或 --dir 指定。Python 安装时请按锁文件安装并保留 --no-deps。

应用内“下载模型”使用 GitHub 上的独立模型 ZIP,安装到 resources/client/.local/models/laya。当前桌面下载中断后需要重新下载;上述断点续传功能适用于 npm run setup:models,两者使用不同的下载入口。

npm ci 完成后会运行 Electron 官方安装器补全桌面运行时;若跳过了安装脚本,启动或构建前执行 npm run setup:electron。

Python 脚本优先使用 WECHATVIBE_PYTHON 指定的解释器,其次使用当前虚拟环境,再使用项目 .venv,避免测试或构建误用系统 Python。便携构建仍要求 Python 3.14 和 Node 24.11.1,可用 --python-exe / --node-exe 显式指定。npm run start:service -- --no-open 可单独启动 bridge;npm start 会启动桌面客户端。CPU/GPU 切换位于「设置 → 通用设置」。

本地验证
npm test                 # 类型检查 + Node + 桌面/更新脚本 + Python 回归
npm run test:model       # 真实加载本地 ONNX,执行中文推理(需先下载模型)
npm run test:recovery    # 桌面、服务恢复、账号存储和启动器测试
npm run build:portable   # 构建包含模型和运行环境的便携版
构建运行版

完成上述依赖和模型安装后,在同一个 PowerShell 窗口运行:

$env:PATH = "$PWD\.venv\Scripts;$env:PATH"
npm run build:portable

构建命令会打印本次独立的产物目录:.local/portable-builds/build-*/release/win-unpacked/WechatVibe.exe。整个 win-unpacked 目录构成本地运行版,包含模型和运行环境。公开发行采用无模型标准包 + 独立 Laya 模型包;scripts/build-windows-release.py 默认生成不含模型的标准 ZIP。

修改词库

当前词库包含 40 个情绪、547 个意图细项、98 个表达方式和 80 个人际需求。同义意图共用 215 个简短显示词,表达方式与人际需求两组词表生成 7,840 个组合。

源文件为 scripts/analysis-catalog-source.json、scripts/intent-display-source.json 和 scripts/social-intent-source.json。修改时保留既有 ID,然后执行:

npm run catalog:generate

数据与隐私

使用时请注意:

免责声明

WechatVibe 面向技术学习、研究及个人聊天复盘。使用前请确认数据来源和使用方式符合适用法律、微信服务协议及相关第三方服务条款。

WechatVibe 为独立项目,与腾讯、微信没有官方隶属、合作或背书关系。相关名称、商标及第三方组件的权利归各自权利人所有。

许可

项目采用 Apache-2.0。Laya、模型与第三方依赖的来源及许可见 THIRD_PARTY_NOTICES.md。

演示头像使用 Lisa Wischofsky 的 Adventurer 插画,经 DiceBear 组合并调整配色,采用 CC BY 4.0;该素材许可独立于项目代码许可。

致谢

感谢为本项目提交代码和反馈问题的朋友
  • 感谢 china-luo 在 Issue #1 中反馈 Windows 微信 4.1.15.13 的聊天记录读取异常,并提出对非字符串消息类型进行兼容转换的建议。
  • 感谢 Li Xiang 反馈微信数据库密钥不完整、反复读取的问题,并提供排查信息,帮助定位读取兼容性问题。
  • 感谢 luo785859020(小闹一起) 通过 PR #3 和 PR #4 改进源码模型下载、Python 环境选择与验证流程,并完成后端职责分层。
  • 感谢 morticuke 在 Issue #5 中提供 Windows MIME 映射异常的排查过程和修复建议。
  • 感谢 Dl1447(Geekline) 通过 PR #12 修复选中首个会话后无法继续添加会话的问题。
  • 感谢 silicon-sbt 通过 PR #13 改进 API 消息标签的批量结果对应。
  • 感谢 Ch1cken-1145(Ch1cken_#) 通过 PR #16 加入手动设置微信聊天记录路径的功能。
  • 感谢 LianYu-Ya 在 Issue #14 中反馈自部署模型批量标签格式错误、只返回一条的问题。

赞助

因为本项目的特殊性,永久不接受任何形式的赞助。

合作说明

如需使用、修改或再分发本项目,请以本仓库的 Apache-2.0 许可证为准;第三方组件遵循各自的许可证。本说明不改变开源许可证已授予的权利。

第三方基于本项目独立开发、分发或运营的衍生版本,由相应开发者或运营者自行负责维护、服务支持及其对外承诺。使用本项目源码不代表与本项目或维护者建立合作关系,也不代表相关衍生版本获得本项目的认可、担保或背书。未经明确授权,不得以本项目或维护者名义对外开展合作或作出承诺。

交流与反馈

WechatVibe (tswawa/WechatVibe)

sentiment-analysis
Searching Database…

What is this?WechatVibe is a Windows desktop app that read-only analyzes your logged-in WeChat chats to tag emotion and intent, and generates personality profiles, group profiles, affinity scores, and MBTI chat inference, using either a local Laya ONNX model or an API-based LLM.
Is this a cloud service or something that runs on my own PC?It is a standalone Windows desktop app that reads WeChat's local database directly on your machine; nothing about your chats is stored remotely by default.
How do I install and start using it?Download the WechatVibe- -windows-x64.zip from Releases, unzip while keeping the whole win-unpacked folder, run WechatVibe.exe, then pick a model source (download the local Laya model, or configure an API) and add the chats you want to analyze.
Which WeChat version does it need?It requires the Windows WeChat client version 4.x (tested on 4.1.15.13); WeChat 3.x is not supported.
Does the MBTI guess show up right away?No — MBTI chat inference for a person unlocks only after at least 100 valid analyzed messages, dimensions with too little data show as undetermined, and the app has no chat-export feature.
What can I see in a person's profile besides MBTI?Each person's profile page also shows an affinity score and level, a six-axis interaction-style radar chart (expressiveness, humor, calmness, topic initiative, caring support, closeness), and frequently discussed topics, all updated incrementally as new messages arrive.
Can I analyze group chats too?Yes — group chat profiles show overall group stats (members, message count, interaction style, common words, summary) as well as individual member profiles you can search or page through.
Which API providers can I plug in instead of the local model?WechatVibe can connect to Anthropic, OpenAI-style Responses/Chat Completions, Gemini, or Ollama-compatible endpoints by entering a Base URL, API key, and context size.
Creator
tswawa
Size
4.2 MB
Stars
271
Age
25d
Commits · 90 Days