Skip to content

Repository files navigation

wx-summary

本机运行的微信群消息 AI 摘要工具:选择群聊和时间范围,读取微信数据项目副本,生成可预览、下载和分享的摘要长图。

重点适配 Windows 版微信 v4 和 macOS 版微信 4.1.9。程序只读取本机有权访问的数据,不提供微信登录、自动发消息或 UI 自动化。

功能

  • 群聊摘要:选择一个或多个群、时间范围和过滤条件,生成 PNG 长图或 Markdown 文本预览。
  • 完整上下文:保留消息时间、发送人、引用、文件和可用的媒体元信息;大输入自动按时间顺序分段处理。
  • 媒体处理:按隐私设置尝试处理图片、视频、语音和音频;正文不可用时只保留可验证的消息元信息。
  • 链接核查:先抓取可访问页面;支持 Responses web_searchweb_search_preview 的端点会自动探测可用工具并让 AI 联网核查。
  • 历史管理:搜索、查看、下载、复制、在文件夹中显示,或使用已保存摘要重新渲染,不重复调用 AI。
  • 定时摘要:可选启用后台定时任务,单个群失败不会中断整轮处理。
  • 本地安全:服务默认只监听 127.0.0.1;API Key 和数据库密钥保存在本机加密文件,不写入普通设置 JSON。

界面入口

  • 总结:选择群、时间范围和过滤条件,生成 PNG 或文本预览。
  • 历史:搜索、预览、下载、复制、在文件夹中显示和重新渲染。
  • 设置:配置 AI 接入、隐私脱敏、群白名单、定时摘要和验收证据。

仓库不会跟踪 docs/assets/ 下的运行截图;截图可能来自本机验收环境,不应作为公开文档素材提交。

平台功能对照

平台 状态 关键差异
Windows 10/11 + 微信 v4 主要支持 Node.js 20+;支持只读自动密钥扫描、系统托盘、服务端 PNG 和 Windows 剪贴板兜底。当前本机 4.1.10.27 已有自动 key/db 运行态验证;微信版本、账号目录或同步状态变化后仍会自动复核,失败时需填写或粘贴有效手动密钥候选。
macOS 13+ + 微信 4.1.9 已实现路径,需目标 Mac 真机确认 Node.js 20+;必须手动填写数据库密钥;没有系统托盘、服务端 PNG 和系统剪贴板图片兜底,页面长图使用浏览器 Canvas。

macOS 的安装、密钥和平台限制见 macOS 使用指南。完整的页面操作说明见 用户手册

快速开始

Windows

  1. 安装 Node.js 20 或更高版本。
  2. 双击项目根目录的 启动.cmd。启动器会检查依赖、启动本地服务和托盘,并自动打开浏览器。
启动.cmd

默认地址为 http://127.0.0.1:7788;端口被占用时会自动顺延,按浏览器或托盘打开的实际地址为准。只看当前窗口日志时运行:

启动.cmd --console

验收-记录微信哈希.cmd 只用于可选的启动前 A3 外部二进制基线记录,会写入 data/external-weixin-binary-baseline.json,不是程序运行依赖。

macOS

  1. 安装 Node.js 20 或更高版本。
  2. 在 Terminal 中进入项目根目录并运行:
chmod +x 启动.command
./启动.command

首次启动会自动安装缺少的依赖。服务默认监听 http://127.0.0.1:7788,端口被占用时会顺延;按 Terminal 输出的实际 URL 访问,按 Ctrl+C 退出。

本地开发

npm ci
npm run dev

npm run dev 启动服务但不自动打开浏览器。

首次配置

首次进入网页后按向导完成:

  1. 选择 OpenAIAnthropic 兼容提供方。
  2. 填写 Base URL 和 API Key,获取并选择模型。
  3. 检查微信账号和本地数据状态。
  4. 设置群白名单;留空表示不限制群选择。

Windows 会尽力扫描微信进程中的数据库密钥候选;扫描失败或账号状态变化时,在设置页填写手动密钥。macOS 当前必须手动填写数据库密钥。支持 64/96/128/160/192 位十六进制候选,以及向导提示的导出片段格式;多个候选请逐行粘贴。

程序会自动把微信数据库复制到项目内的 data/wxdb-mirror,后续查询和解密只操作项目副本及 outputs/.tmp/db 临时副本,不需要手动配置数据库路径。源库不可见或复制校验不通过时,程序会拒绝复用过期副本并提示重试。

生成摘要

  1. 在“总结”页选择群和时间范围,例如“今天”“最近 24h”或自定义范围。
  2. 按需设置发送人、关键词、消息类型等过滤条件。
  3. 点击“生成长图”或“生成文本预览”。多选群会分别生成并保存,页面预览最后完成的一张。
  4. 下载 PNG、复制图片或查看文件位置;文本预览需要文件时,再点击“导出 MD”。
  5. 在“历史”页搜索并打开结果。历史重渲染使用浏览器 Canvas,保存前由本地服务校验版本,原始文件保留。

发送给 AI 的内容只包含你选择的群和时间窗。媒体正文只有在设置允许且本机文件可读时才会作为输入;否则保留时间、发送人、时长和文件名等元信息继续总结。

链接检索

链接处理分两层:

  • 本地预览:服务尝试跟随跳转,读取可访问页面的标题、描述和正文片段。
  • AI 查链:当兼容端点支持 Responses web_searchweb_search_preview 时,程序自动探测并复用可用工具;不支持、网络受限、页面需要登录或返回错误时,退回本地页面内容、URL、标题和消息上下文。

因此“AI 查链 0/x”表示 x 个链接没有得到 AI 联网结果,不等于摘要流程一定失败;结果仍可能来自本地页面抓取。登录墙、验证码和强 JS 页面无法保证抓取成功。

数据与隐私

  • 微信源数据库只作为复制来源,不在源路径上查询、解密或计算内容哈希;查询和解密只发生在 data/wxdb-mirroroutputs/.tmp/db
  • 摘要发送到你配置的 AI 端点前,会按设置对手机号、身份证号和银行卡号等字段脱敏;是否发送媒体正文由隐私设置控制。
  • API Key 和手动数据库密钥保存在 data/secrets.bin 加密包;自动验证成功的候选保存在 data/wxdb-keys.bin 加密缓存。Windows 使用 DPAPI,macOS 使用 Keychain 条目 wx-summary.secrets 保护本机包装密钥。
  • 普通设置保存在 data/settings.json;摘要、历史索引、临时文件和日志保存在 outputs/
  • .gitignore 默认忽略 data/ 运行数据、outputs/、数据库、媒体、日志、密钥、docs/assets/、内部计划和验收附件。不要提交真实 API Key、数据库密钥、微信数据库、聊天内容或未脱敏截图。

配置和文件

公开配置模板:data/settings.example.json。首次启动后常见的本机文件如下:

data/settings.json        # 普通设置
data/secrets.bin          # 加密 API Key / 手动密钥
data/wxdb-keys.bin        # 加密的已验证密钥候选
data/wxdb-mirror/         # 微信项目副本
outputs/digests/          # PNG 与历史摘要
outputs/previews/         # 导出的 Markdown 预览
outputs/.tmp/             # 临时文件与脱敏日志

不要直接压缩当前工作目录发布源码;使用干净 clone 或 git archive HEAD,避免带出本机运行数据和 .git

常见问题

现象 处理
启动失败或找不到 Node.js 安装 Node.js 20+;Windows 用 启动.cmd --console,macOS 用 ./启动.command 查看原始错误。
提示“需要手动密钥” Windows 自动扫描未通过,或 macOS 当前平台必须手动配置;确认密钥属于当前选中的微信账号,并把多个候选逐行粘贴。
群列表为空或项目副本失败 保持微信运行,刷新群列表;按进度卡提示重试自动准备副本。不要继续使用不可见源库对应的旧副本。
AI 查链 0/x 检查 AI Base URL、网络和本地页面预览;当前端点不支持联网工具时,摘要仍可使用消息上下文生成。
ai_quality_failed AI 返回了空洞或与消息数量不符的成品,质量保护拒绝保存;缩短时间范围、检查模型或稍后重试。
PNG 复制失败 使用“下载 PNG”。Windows 有系统剪贴板兜底,macOS 受浏览器权限限制且没有系统兜底。

验证和开发

安装依赖后运行:

node tests/ai-web-search-compatibility.mjs
node tests/llm-connectivity-summary-contract.mjs
node tests/acceptance/static-checks.mjs
git diff --check

改动托盘、项目副本、输出校验或设置持久化时,应一并运行对应的 tests/*.mjs 专项测试。

文档

免责声明

本项目只用于读取和总结你本机有权访问的微信数据。请遵守当地法律法规、平台规则和聊天参与者的隐私预期,不要把含有他人隐私的摘要、诊断包、数据库、媒体或密钥提交到公开仓库。

About

本机运行的微信群消息 AI 摘要工具,主要适配 Windows 版微信 4.1.9。

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages