14 KiB
WechatExplorer 产品经理交接
面向下一任产品经理的产品事实、边界和文档维护说明。
- 最后核验:2026-08-07
- 仓库版本:
2.1.9- 基准提交:
cd2c3cf(docs: 更新文档)
1. 接手时先记住什么
WechatExplorer 当前可以定位为:
一个本地优先的微信聊天记录查看、搜索、整理与 AI 分析工具。
它把几类原本分散的任务放在一起:
- 浏览和搜索本机微信聊天;
- 用 AI 查找历史信息,并回到来源消息核对;
- 建立本地知识库,辅助跨会话、跨时间查找;
- 生成群聊日报,转写语音,导出聊天档案;
- 让外部 Agent 或应用内微信机器人按边界使用本机数据能力。
产品表达应先回答用户能完成什么,再解释 Knowledge、Evidence、Citation、Search Trace、FTS 等内部术语。README 负责定位、主要价值和最短上手路径;完整步骤、限制和安全说明放在 docs/。
事实来源优先级
描述“当前支持”前,按以下顺序核验:
- 当前源码和 UI;
- 当前测试;
package.json、构建和发布配置;- 正式
docs/; - README;
- 历史说明和产品设想。
历史文档、旧版本描述和聊天记录不能单独证明当前能力。新增事实陈述时,最好同时写清限制并链接到正式文档或实现位置。
2. 当前已验证的产品能力
本节是能力地图,不替代正式使用手册。用户步骤和异常处理以链接的正式文档为准。
2.1 连接与查看微信数据
当前代码面向微信 4.x 数据结构,支持在 macOS 和 Windows 上连接本机微信数据。连接结果会受到微信版本、账号数据、系统权限和数据迁移状态影响。
连接成功后,“档案”可以浏览已读取到的联系人、群聊、折叠群聊和公众号会话,并显示文本、图片、视频、语音、文件、链接、引用、小程序、表情和系统消息等类型。
边界:消息类型可被读取,不等于对应媒体一定可以解码或显示。来源文件缺失、权限不足或微信存储方式变化都可能导致媒体不可用。
2.2 普通搜索与 AI Search
档案内关键词搜索适合已知原话、文件名、人名或大致会话的任务。AI Search 适合“记得含义但不记得关键词或位置”的问题。
AI Search 会先在本机查找候选聊天,再把完成任务所需的受控上下文交给用户配置的 AI Provider。回答可以展示来源会话、发送者、时间、来源标记和检索过程,并允许用户回到档案检查上下文。
边界:Evidence、Citation 和 Search Trace 提供核对路径,不保证模型结论正确,也不保证选定范围之外没有遗漏。关键决定仍应回到原始消息确认。
2.3 本地知识库
用户可以主动为当前微信账号建立本地索引,并在之后同步新增或变化的记录。不同微信账号使用独立索引;界面会显示索引规模和磁盘占用。
清理知识库不会删除微信原始数据库。知识库同步期间新的 AI 分析会暂停,但已有索引在部分异常情况下仍可能可用。
边界:知识库是本地检索资料,不是新的微信数据库,也不是所有问题都必须先建立。只查一条已知原话时,普通搜索通常更直接。
来源:本地知识库、src/main/knowledge/、tests/unit/knowledge-*.test.ts
2.4 群聊日报
用户可以选择一个群聊以及今天、昨天或近 7 天的范围,生成可能包含主题、重要消息、问答、资源、待办、未解决事项、关键词、活跃统计和可用媒体精选的报告。成功结果会保存为本地 HTML 和 PNG。
边界:当前日报入口只支持群聊。具体栏目取决于所选消息、媒体可用性和模型能力;图片不可读或模型未通过图片理解验证时,图片精选会跳过。语音数量统计不代表语音内容已经转写或理解。
来源:群聊日报、src/renderer/src/utils/group-report-facts.ts
2.5 本地语音转写
应用使用本地 SenseVoice/sherpa-onnx 运行时转写微信语音,支持单条转写和按联系人或群聊批量处理。批量任务支持进度、取消、缓存复用和部分失败提示。
成功转写的文本可以用于查看、本地知识库检索和导出。离线转写本身在本机完成;如果用户随后把转写文本用于 AI Search 或日报,文本会按对应 AI 功能的规则处理。
边界:首次使用可能需要下载模型。失败或尚未转写的语音不会被自动当作已理解内容。
来源:语音转文字、src/main/voice-pipeline/、tests/unit/voice-*.test.ts
2.6 聊天导出
当前支持 HTML、Markdown、CSV 和 JSON:
| 能力 | 当前边界 |
|---|---|
| HTML | 可包含媒体和头像;支持最多五个会话合并 |
| Markdown、CSV、JSON | 主要保留文本内容,不包含 HTML 资源文件 |
| ZIP | 是 HTML 资源包的压缩选项,不是独立内容格式 |
| 增量合并 | 仅适用于同名 HTML 档案 |
| 语音转写 | 只写入已经成功取得的转写文本,不会自动补齐失败内容 |
导出不会修改微信原始数据库;删除导出文件也不会删除应用中的聊天或知识库。
来源:导出聊天、src/main/export-service.ts、src/renderer/src/components/export/ExportWorkspace.tsx、tests/integration/export-media-flow.test.ts
2.7 外部 Agent 与 Local HTTP API
外部 Agent 可以安装随应用提供的 Reader Skill,通过本机 Local HTTP API 按需读取联系人、会话、指定时间范围的聊天和群成员信息,也可以请求生成群聊总结图片。
当前 API 默认地址为 http://127.0.0.1:6131:
GET /api/v1/health不需要 Token;- 其他端点需要
Authorization: Bearer <TOKEN>; - Token 在 API Center 中显示、复制和重新生成;
- 重新生成后旧 Token 立即失效;
- API 没有细粒度用户 Scope,不应转发到公网。
6131 是普通 Local HTTP API,当前不是 MCP Server。Reader Skill 不会自动监听微信实时消息。
来源:Agent 接入概览、Local HTTP API、API 安全、Reader Skill
2.8 Agent Hub 与微信机器人
Agent Hub 是应用内的实时微信入口。用户扫码连接一个微信机器人账号后,机器人收到文字消息,Agent Hub 可以查询本机数据、按需调用已配置的 AI,并把结果回复给触发请求的微信用户。
当前明确支持的实时任务包括:
- 查看最近会话,数量限制为 1 至 20;
- 查询与某位联系人的近期聊天;
- 总结与某位联系人近 7 天的聊天;
- 生成今天、昨天或近 7 天的群聊总结图片;
- 总结指定群成员的近期发言;
- 对不需要读取聊天的普通文字请求给出有限的 AI 回复。
边界:实时自然语言入口主要处理文字。底层连接器可以接收其他媒体,但 Agent Hub 尚未提供同等的图片、语音、文件和视频意图处理。它也没有群发、广播、定时任务或通用自主操作微信的能力。
来源:Agent Hub、src/main/agent/、Agent Hub 相关测试
3. 隐私与安全边界
“本地优先”不能表达成“所有数据永远不会离开电脑”。
默认在本机完成的处理包括:微信数据库读取和解析、档案浏览、普通关键词搜索、本地知识库索引、离线语音转写、导出文件生成和本地日报历史。
当用户主动使用 AI Search、群聊日报或图片理解,并配置远程 Provider 时,用户问题、受控检索上下文和最终用于总结的来源内容可能发送给该 Provider。Provider 的日志、保留、计费和地区规则不由 WechatExplorer 控制。
外部 Agent 是否把 API 读取结果继续发送给云端模型,取决于 Agent 自己的配置。Agent Hub 的机器人账号、个人微信数据库连接和外部 Agent/API Token 是三条不同的安全边界。
来源:数据、隐私与安全
4. 尚未实现或不能宣称的能力
以下内容不是当前能力。未来讨论这些方向时,必须明确写成“未来场景 / 尚未实现”,且不能据此承诺路线图或发布时间:
- **未来场景 / 尚未实现:**按固定时间自动生成或发送每日群聊总结;
- **未来场景 / 尚未实现:**群发、广播或通用微信自动化;
- **未来场景 / 尚未实现:**Agent Hub 对图片、语音、文件和视频提供与文字相同的实时理解能力;
- **未来场景 / 尚未实现:**将
127.0.0.1:6131作为 MCP Server 使用; - **未来场景 / 尚未实现:**对外提供实时入站 webhook 或由 Reader Skill 订阅实时微信消息;
- **不能宣称:**所有微信 4.x 版本、所有账号和所有系统组合都能稳定连接;
- **不能宣称:**所有图片、视频、文件或语音都一定能读取、解码或理解;
- **不能宣称:**AI 回答或日报一定完整、准确,或者 Evidence 本身能保证结论正确;
- **不能宣称:**启用远程 AI 后所有数据仍只停留在本机。
5. 仅凭当前仓库仍无法确认的事项
以下问题需要真实发布环境、用户研究或外部平台信息,不能仅凭当前源码和测试得出结论:
- GitHub Releases 中各平台安装包当前是否齐全、可下载,以及在不同系统安全策略下的实际安装成功率;
- 不同微信 4.x 小版本、历史迁移状态和真实账号规模下的连接成功率与兼容矩阵;
- 超大聊天历史下,索引、AI Search、日报、语音批处理和导出的真实耗时、容量上限与失败率;
- 微信机器人账号在长期运行中的登录稳定性、平台规则风险和账号限制;
- 用户是否真正理解并使用“来源核对”、Knowledge、Reader Skill 和 Agent Hub,以及这些功能是否改善了实际任务结果。
这些事项在得到真实证据前,应写成“待验证”,不能转写成产品优势。
6. 文档职责和维护方法
README
README 只负责:
- 一句话说明产品是什么;
- 展示最重要的用户任务和差异;
- 给出最短上手路径;
- 引导到正式 docs。
不要把完整 API、安全实现、数据库结构、检索原理或所有边缘情况塞进 README。
正式 docs
docs/user-guide/:第一次使用、档案、AI Search、Knowledge、日报、语音、导出、隐私和排障;docs/concepts/:来源核对和工作原理;docs/agent/:Reader Skill、Local HTTP API、安全和 Agent Hub;docs/platform/:平台权限和限制;docs/development/:开发、测试、构建及代码与文档的对应关系。
文档入口见:docs 首页。
每次产品变更后的检查
- 用户是否能直接感知变化?如果能,检查 README 和对应 User Guide;
- 第一次使用路径是否变化?如果变化,检查 Getting Started;
- AI 的输入、来源或完整性提示是否变化?如果变化,检查 AI Search、Answer Sources 和 Privacy;
- API、Token、Reader Skill 或 Agent Hub 是否变化?如果变化,同步检查全部 Agent 文档;
- 兼容性、构建或发布范围是否变化?如果变化,检查平台和开发文档;
- 文案是否把“可能”“计划”“测试样例”误写成“当前支持”?
推荐的能力陈述格式是:
用户可以完成什么 + 当前限制是什么 + 事实来源在哪里。
7. 下一任产品经理最应该关注的 5 个产品问题
1. 新用户能否在几分钟内完成第一次连接
连接微信数据是所有能力的前置条件。需要建立真实平台和微信版本的成功率、失败原因和耗时数据,而不只依赖开发环境与测试样例。
2. 用户能否理解 AI 回答的可信边界
“可回到来源核对”是重要差异,但目前仍需要验证用户是否会打开来源、是否看得懂覆盖提示,以及这些信息能否减少错误决策。
3. Knowledge 是否解决了用户可感知的问题
需要验证建立和同步索引的成本、等待时间与搜索收益是否匹配,并明确哪些任务适合普通搜索、哪些任务真正需要 Knowledge。
4. Reader Skill 和 Agent Hub 的定位是否足够清楚且安全
两条路径服务不同用户,也有不同的 Token、机器人账号和数据外发边界。需要验证入口命名、配置流程、权限提示和失败恢复是否让用户理解。
5. 兼容性和分发是否足以支撑产品承诺
需要维护真实的系统、处理器、微信版本和账号数据兼容矩阵,同时确认安装包、系统授权、连接器和升级路径在发布环境中可用。
8. 接手原则
- 先核实能力,再决定怎么宣传;
- 用用户任务描述价值,用正式 docs 承担细节;
- 明确区分当前能力、限制、待验证事项和未来场景;
- 不因文案完整性补充不存在的能力;
- 不把测试通过等同于真实用户环境已经得到验证。