# wechat-cli 项目规划 ## 项目目标 构建基于微信本地数据库的 AI-first CLI 工具生态,支持消息查询、数据导出、自动化采集。 ## 当前版本 v0.2.4 ## 已完成功能 ### 核心 CLI(wechat_cli/) - [x] 密钥提取(macOS/Linux/Windows 进程内存扫描) - [x] 会话列表、消息历史、全局搜索 - [x] 联系人查询、群成员列表 - [x] 聊天统计、收藏夹查询 - [x] 未读消息、增量消息检测 - [x] 导出聊天记录(Markdown/TXT) - [x] 媒体文件路径解析(--media 标志) ### Skills - [x] export-chat — 单个聊天完整导出(消息+视频+音频+文件) - [x] tencent-cos-upload — 腾讯云 COS 文件上传工具 ### 群聊消息采集器(collector/)— 2026-04-13 新增 - [x] 自动发现所有群聊(定期扫描 session.db) - [x] 增量消息采集(基于 create_time 水位线) - [x] MySQL 持久化(wechat_group_message 表) - [x] 媒体文件上传腾讯 COS(只采集原始可读文件,不做 .dat 解密) - 图片: temp/RWTemp/YYYY-MM/{md5}.ext(查看后自动生成),通过 size/md5 精确匹配 - 视频: msg/video/YYYY-MM/{rawmd5}.mp4(文件方式发送)或 temp/RWTemp/YYYY-MM/{rawmd5}.mp4(直接发送后预览缓存),通过 rawmd5/size 精确匹配 - 语音: msg/attach/{hash}/YYYY-MM/Voice/(自动生成),通过 size 精确匹配 - 文件: msg/file/YYYY-MM/filename,通过文件名+精确size双重校验 - [x] 自适应扫描频率(hot/warm/cold 三级,优先级队列调度) - [x] 白名单/黑名单过滤(支持正则) - [x] 守护模式 + 一次性扫描模式 - [x] 非文本消息元信息提取(文件名/大小/视频时长等,不依赖本地下载) - [x] 详细扫描日志(每条消息类型/发送者/媒体状态) - [x] 聊天记录合并转发解析(app_type=19 → 多行纯文本) - [x] 引用/回复消息关联(app_type=57 → svr_msg_id + refer_msg_svrid,支持消息间关联查询) - [x] 扫描频率优化(hot=5s, warm=10s, cold≤60s,保证 ≤1min 入库) - [x] 默认 DEBUG 日志级别 - [x] 媒体回溯补录(PollingObserver 5s轮询监听 RWTemp + msg/file + msg/video,匹配失败30s自动重试 + 1min 定时兜底扫描,补录 7 天内记录) ## 待规划功能 - [ ] 采集数据 Web 查询界面 - [ ] 消息内容分析/统计 dashboard ## 技术约束 - macOS 需要 Full Disk Access 权限 - 微信版本 ≤ 4.1.8.100 - 图片原文件需用户在微信中查看后才会出现在 temp/RWTemp 目录