本仓库用于验证更新和回退,测试客户端的更新来源为 tswawa/-。请解压到独立目录;正式版本见 WechatVibe。
开始测试请先下载 1.2.0 测试起始版,再在「设置 → 关于 → 当前版本」更新到 1.2.1。测试起始版沿用正式 1.2.0 的业务代码,更新目标包含 PR #3、#4 和补充修复;两者仅使用测试仓库的更新地址与独立签名密钥。
应用包不内置 Laya。在设置中下载现有独立模型包,或选择已有模型目录。测试前添加会话并保存设置,更新后检查聊天、画像和模型是否保留,再验证回退。详细步骤见 TESTING.md。
以下保留上游功能文档,测试包下载请使用上面的测试仓库入口。
微信聊天情感分析客户端,支持意图识别、情绪感知、人物画像、群聊画像、好感度分析和 MBTI 聊天推测。
- 分析模型:支持本地 Laya 多语言 ONNX 模型,也可接入兼容 API 完成消息分析、人物画像、好感度与 MBTI 聊天推测。
- 微信数据读取:基于 wechatauto-replica 的本地数据库接口,只读获取当前登录微信账号的会话和消息。
项目适合想回看聊天中的情绪变化、了解日常交流方式的用户。单聊中可查看对方消息的情绪、意图和人物画像;群聊中可查看整体氛围、互动特点及成员画像。
功能介绍 · 下载安装 · 首次使用 · 更多截图 · 数据与隐私 · 免责声明 · 交流与建议 · 致谢 · 赞助
截图中的聊天和分析结果均为虚构演示数据。
在聊天界面打开「意图识别」,对方消息下方会显示可能的交流意图,例如分享、邀约、试探、求安慰、敷衍或婉拒。
- 本地模式:每条已分析的消息最多显示三个意图候选及其概率。
- API 模式:由所选模型给出简短的情绪和意图标签。
- 结合上下文:结合近期聊天和已保存的人物画像,识别当前消息的交流意图。
- 简短标签:相近细项统一显示为分享、承诺、协商等常用词。
- 随时开关:关闭或显示消息标签,重新打开时恢复已有结果。
翻看历史记录时,API 模式按当前可见消息逐批识别,每批最多两条,后续消息自动继续。已完成的结果按账号、会话和模型来源保存。
开启「意图识别」后,消息下方同时显示情绪。API 模式只显示情绪与意图两个短标签。
- 消息情绪:本地模式显示开心、期待、委屈、生气、累了等候选,每行最多三个,并保留各自的概率;API 模式由所选模型给出简短标签。
- 颜文字:本地模式为主要情绪配上颜文字,直接放在消息分析行中。
- 人物情绪:单聊顶部展示当前聊天对象的情绪状态。
- 群聊氛围:群聊顶部展示整体氛围,和具体成员的消息情绪分开查看。
从聊天工具栏或左侧导航进入「人物画像」,查看当前聊天对象的分析结果。
- 互动风格:六维雷达展示表达活力、幽默表达、情绪平和、话题主动、关怀支持和亲近表达,图表各顶点有对应名称。
- 画像摘要:与好感度、MBTI 和互动雷达放在同一页面。本地模式使用 Laya;API 模式的摘要与数值均由所选模型生成,证据不足时保留待判断。
- 常聊内容:本地模式展示高频词,API 模式展示模型归纳的常见话题。
- 分析进度:显示已分析文本数和当前状态,处理中可查看速率。
- 保存与续算:再次进入时先显示上次保存的画像,新消息在原有结果上继续更新。
人物画像中的 MBTI 按 E/I、S/N、T/F、J/P 四个维度展示倾向。该人物已分析的有效文本达到 100 条后自动解锁;证据不足的维度保留未确定状态。
单聊人物画像中显示好感度数值和等级,和互动风格、画像摘要一起查看。已有结果会保留,后续随新消息分析更新。
打开群聊后进入画像页面,可以在「群整体」和具体成员之间切换。
- 群整体:查看参与人数、消息与文本数量、分析进度、六维互动风格、常见词和群聊摘要。
- 成员画像:从「选择成员」中搜索或翻页选择对象,每页六人,查看该成员的互动风格、摘要和 MBTI 聊天推测。
- 分别保存:群整体与每个成员分别积累结果,切换时显示对应对象的画像。
- 群聊氛围:在聊天页查看整体情绪,在消息下方查看各个发言者的情绪与意图。
软件从本机已登录微信读取会话,支持单聊、群聊、联系人和群头像。聊天中的图片消息显示为 [图片]。
- 历史记录:分页查看更早的消息,按关键词或日期查找,并定位到对应上下文。
- 信息列表:首次进入只读取会话目录,不加载全部聊天。在设置中添加要查看的会话;从列表移除不会删除聊天缓存或画像。
- 账号数据库:按真实微信账号分别保存数据;新账号创建独立数据库,已有账号复用原来的记录。
- 账号清除:在账号管理中选择要清除的账号,删除它在 WechatVibe 内的聊天副本、分析、画像和相关缓存。
- 退出规则:清除当前账号成功后退出软件;清除其他账号保持当前软件运行。
画像分析会逐步处理本地可用的历史消息,保存结果和进度。之后把新增消息收成一批,处理后与已有画像合并,不因切换聊天或重启软件重新分析全部历史。
通用设置提供浅色/深色主题、界面缩放和 CPU/GPU 运行选项;GPU 不可用时支持回退到 CPU。
「模型来源」默认使用本地 Laya,也可接入 Anthropic、Responses、Chat Completions、Gemini 或 Ollama 兼容接口。填写 Base URL、API Key 和模型上下文大小后,可获取模型列表、测试连接并启用。接口提供上下文大小时会自动填入;未提供时由用户填写。API 画像按上下文容量自动分批,装得下就一次处理,超出后续批次继承已保存摘要。
本地与各 API 模型的分析结果分别保存,可在设置中查看和清除对应来源的缓存。切换模型会停止旧来源的任务;切回会话时先恢复已有画像,再更新进度。API 意图与画像使用独立通道;遇到可重试错误时每隔 5 秒重试,最多 10 次。
从 Releases 下载 WechatVibe-1.2.0-windows-x64.zip。这是标准运行包,不内置 Laya 模型。解压后保留整个 win-unpacked 目录,双击其中的 WechatVibe.exe。需要本地分析时,在「设置 → 本地部署」点击下载模型,或选择已有的模型目录。模型以 WechatVibe-Laya-model-v1.zip 独立提供,使用 API 时无需下载。
| 项目 | 要求 |
|---|---|
| 系统 | Windows 10/11 x64 |
| 微信 | Windows 微信 4.x;当前已实测 4.1.15.13 |
不支持微信 3.x。 使用旧版微信时,请先更新微信并重新登录,再启动 WechatVibe。若停在「当前微信账号未就绪」,请先检查微信版本。
运行时请保留整个解压目录。
当前使用约 3.22 亿参数的多语言 Laya ONNX 模型,支持纯 CPU 运行,不强制要求独立显卡。以下为建议起步配置;尚未完成低配设备的系统测试,因此不将其视为已验证的最低硬件门槛。
| 项目 | 建议配置 |
|---|---|
| CPU | 4 核及以上 x64 处理器;当前 CPU 推理默认使用 4 线程 |
| 内存 | 建议 8 GB 起步,16 GB 及以上更适合同时运行微信和其他应用 |
| GPU(可选) | 支持 WebGPU 的显卡及较新的驱动;不兼容时可使用 CPU。暂未确定最低显存要求 |
| 磁盘 | 建议预留至少 4 GB 用于应用、模型下载和安装;聊天缓存及更新备份另计 |
| 模型体积 | 独立模型包约 599 MB,解压后的模型文件约 681 MB;文件体积不等于运行内存占用 |
首次加载和历史消息分析速度取决于处理器、可用内存及聊天量。API 模式无需下载 Laya,也不要求本地推理显卡;其速度和上下文容量由所选模型服务决定。
从 1.0.4 首次升级到 1.2.0:旧更新器不支持无模型标准包,请手动下载。完全退出旧版后,将新包 win-unpacked 内的文件覆盖到原软件目录,保留 resources/client/.local 和 resources/client/.models 两个目录;不要先删除旧软件目录。
打开「设置 → 关于 → 当前版本」,即可检查更新。发现新版本后,点击「下载并安装」;软件会显示进度,校验下载文件,安装完成后自动重启。Windows 使用系统 HTTP 代理时,更新器会沿用该代理连接 GitHub。
更新会保留本地账号数据库、分析结果、画像和已下载的模型。从旧版升级到默认运行包时,原来内置的 Laya 模型也会保留,设置中显示为已就绪。安装失败时会恢复旧版;更新成功后,可以在同一窗口回退到上一版。回退使用本地备份,只保留最近一次可回退版本。
- 检查微信并登录:确认使用 Windows 微信 4.x(已实测 4.1.15.13),登录要分析的账号。
- 启动软件:解压运行包,双击
WechatVibe.exe。账号与聊天校验状态可在「设置 → 管理账号」查看;软件界面和更新入口无需等待聊天预加载完成。 - 选择模型:在「设置 → 通用设置」选择模型来源。本地模式可下载 Laya 或选择已有目录;API 模式填写服务地址、API Key 和模型,确认上下文大小,测试连接后保存并启用。
- 添加会话:在「设置 → 信息列表」选择联系人或群聊;左侧只显示已添加的会话,并按需读取其消息。
- 查看分析:打开已添加的聊天,点击「意图识别」查看消息标签。
- 查看画像:进入「人物画像」;群聊可继续选择具体成员。已经保存的结果会先显示,新消息继续更新。
需要 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。
npm test # 类型检查 + Node + 桌面/更新脚本 + Python 回归
npm run test:model # 真实加载本地 ONNX,执行中文推理(需先下载模型)
npm run test:recovery # 桌面、服务恢复、账号存储和启动器测试
npm run build:portable # 构建包含模型和运行环境的便携版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 切换位于「设置 → 通用设置」。
完成上述依赖和模型安装后,在同一个 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后端已按应用服务、微信只读适配器、Node 推理适配器和 SQLite 存储拆分。 模块职责、依赖边界、兼容入口及回归命令见 后端架构说明。
默认 Laya 模式在本机推理,本地服务只监听回环地址。手动启用 API 模式后,情绪与意图分析会把所选消息、最多三条前文和已有的简短画像参考发送到配置的模型服务;API 画像会按上下文容量发送所选会话的本机可用历史文本,生成摘要、好感度、MBTI 倾向与互动风格。聊天副本按账号保存,分析结果和画像再按模型来源区分。
- 只读取自己有权访问的账号和聊天,不用于获取他人的私人记录。
- 清除账号只删除 WechatVibe 保存的数据,不删除微信原始聊天。
- 软件只分析和展示,不自动发送微信消息,也不提供聊天记录导出功能。
- 不要把聊天数据库、解密密钥、账号缓存或带私人内容的日志上传到仓库、Issue 或交流群。
- 反馈问题前先检查截图和日志,移除不想公开的姓名、账号和对话。
WechatVibe 面向技术学习、研究及个人聊天复盘。使用前请确认数据来源和使用方式符合适用法律、微信服务协议及相关第三方服务条款。
- 功能与使用边界:本项目不提供微信聊天记录导出功能,本地缓存用于应用内查看与分析。项目不提倡通过导出、传播、交易或再利用聊天记录侵犯用户隐私、数据权益或微信相关合法权益,也不为此类用途提供支持。
- 数据授权:仅处理本人合法持有、有权访问和分析的聊天记录。能在设备上看到记录,不代表可以任意公开、传播或用于其他目的;涉及他人信息时,应尊重其隐私和合法权益。不得用于盗取账号、未经授权的监控、跟踪、骚扰或其他违法侵权活动。
- 分析边界:意图、情绪、好感度和 MBTI 均为模型推测,可能遗漏语境或产生错误。结果不等于对方真实想法,不构成心理诊断、人格定性或官方测评,不应作为作出重大个人决定的唯一依据。
- 第三方服务:启用 API 后,所选聊天片段和画像摘要会按功能需要发送至你配置的服务商。请自行了解其计费、数据保存与隐私政策;项目无法替第三方承诺数据安全、服务稳定性或分析准确率。
- 运行风险:微信版本、操作系统、权限和第三方组件变化可能影响读取与运行。请保留重要数据备份;项目不保证持续兼容、数据绝不丢失,也不承诺“零风险”或“不会封号”。
- 许可与担保:本项目依据 Apache-2.0 许可证“按现状”提供。除适用法律要求或另有书面约定外,维护者及贡献者不提供任何明示或默示担保,包括适销性、特定用途适用性及不侵权担保;不承诺分析结果准确、运行持续稳定或适合任何特定使用场景。
- 使用者责任:使用者应自行判断本项目是否适合其用途,并负责取得账号、聊天数据及第三方服务所需的授权。由使用者自行决定的数据处理方式、服务配置、结果使用,以及自行或委托第三方实施的修改、部署与运营,由相应使用者、开发者或运营者承担其行为及承诺所对应的责任。
- 责任限制:在适用法律允许的最大范围内,且除另有书面约定外,维护者及贡献者不对因使用或无法使用本项目而产生的直接、间接、附带、特殊或后果性损失承担责任,包括数据丢失、账号受限、业务中断及其他损失。担保与责任限制的具体范围以 Apache-2.0 许可证第 7 至第 9 条为准。
WechatVibe 为独立项目,与腾讯、微信没有官方隶属、合作或背书关系。相关名称、商标及第三方组件的权利归各自权利人所有。
QQ 交流群:921170374 对项目有改进建议,或者想交流使用经验欢迎加入本群
作者:tswawa · 问题反馈:GitHub Issues
项目采用 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 的聊天记录读取异常,并提出对非字符串消息类型进行兼容转换的建议。
感谢 QQ 群友 溪午不闻钟 反馈微信数据库密钥不完整、反复读取的问题,并提供排查信息,帮助定位读取兼容性问题。
因为本项目的特殊性,永久不接受任何形式的赞助。
后续计划主要围绕基于 OCR 的情绪识别与更自然的智能回复功能展开。目前暂无 QQ 版或移动端聊天读取版本的开发计划,也暂不参与相关移植、适配或联合开发合作。
如需使用、修改或再分发现有项目,请以本仓库的 Apache-2.0 许可证为准;第三方组件遵循各自的许可证。上述开发计划与合作安排不改变开源许可证已授予的权利。
第三方基于本项目独立开发、分发或运营的衍生版本,由相应开发者或运营者自行负责维护、服务支持及其对外承诺。使用本项目源码不代表与本项目或维护者建立合作关系,也不代表相关衍生版本获得本项目的认可、担保或背书。未经明确授权,不得以本项目或维护者名义对外开展合作或作出承诺。







