当前位置: 首页 > news >正文

手动翻群 40 分钟变 5 分钟,我用 wx-cli + Claude Skill 搭了个本地总结器

手动翻群40分钟变5分钟,wx-cli + Claude Code Skill 本地微信群聊总结器

你有没有这种感受:早上开完站会,拿起手机一看,项目群、运营群、技术交流群——三个群加起来 400 条消息,最重要的那条结论被淹没在表情包和「收到」里面,根本找不着。

我之前每天要花将近 40 分钟翻群——不是认真看,就是怕漏掉什么重要的事。直到我把 wx-cliClaude Code Skill 拼在一起,现在这 40 分钟变成了不到 5 分钟:导出记录、一条指令、结构化摘要出来了。

更重要的是——消息全程在本机处理,没有任何一条聊天记录发送到第三方服务器。这一点对于工作群来说不是加分项,是底线。

为什么要自己搭,不用现成的 AI 总结 App?

市面上有几款声称能总结微信群的工具,但凡用过的人都会遇到一个绕不开的问题:你的聊天记录要先传到他们的服务器,AI 才能处理。

我做了 10 年后端,对这件事的感受比普通用户更直接——你以为只是上传了文字,实际上对方的系统里可能留着你们团队的产品细节、客户信息、内部决策。不是说所有服务都会拿来做坏事,但你根本不知道数据在对方那里会存多久、用来干什么。

本地方案的架构思路是这样的:

wx-cli + Claude Code 本地数据处理架构图
图:全本地处理链路——从微信数据库解密到 AI 摘要,数据不离开本机

三个环节全部在你的电脑上完成:

  1. wx-cli 从本地微信数据库解密并导出群聊记录
  2. 导出结果保存为本地文本文件
  3. Claude Code 读取本地文件,在本地运行 Skill 生成摘要

没有网络请求,没有第三方 API(用的是 Claude Code 的本地执行模式,而不是 Web 版),没有账号登录。

wx-cli 是什么,它怎么读到你的聊天记录

wx-cli 是 GitHub 上 2.3k Star 的开源工具(截至 2026 年 5 月),用 Rust 写的,Apache-2.0 协议。核心功能是在你的电脑上读取微信本地数据库并导出聊天记录。

它的技术原理说起来不复杂:

微信 4.x 版本把本地数据存在 SQLCipher 加密的数据库里(加密算法是 AES-256-CBC + HMAC-SHA512)。数据库文件就在你的电脑上,但直接打开是乱码,因为需要密钥。

wx-cli 做的事情是:扫描运行中的微信进程内存,找到 SQLCipher 的解密密钥,然后用这个密钥在本地实时解密数据库、执行查询。整个过程没有任何数据发到外部。

wx-cli 内存扫描解密原理图
图:wx-cli 从进程内存获取密钥,本地解密 SQLCipher 数据库的数据流

解密结果会被缓存在 ~/.wx-cli/cache/ 下,按文件修改时间做增量更新——第一次可能稍慢,之后每次查询都是毫秒级响应,v0.3.0 版本的热路径从原来约 120 秒压到了 1 秒以内。

微信数据库的位置(macOS):

~/Library/Containers/com.tencent.xinwechat/Data/Library/Application Support/

wx-cli 会自动找到这个路径,你不需要手动指定。

第一步:安装 wx-cli

确保微信处于运行状态(wx-cli 需要扫描微信进程内存来获取解密密钥)。

npm install -g @jackwener/wx-cli

安装完成后验证:

wx --version

macOS 用户的一个坑:首次运行可能遇到「开发者无法验证」的提示。需要执行 ad-hoc 代码签名:

# 找到 wx-cli 的安装路径
which wx# 对二进制文件做 ad-hoc 签名(用 - 表示自签)
sudo codesign --force --deep --sign - $(which wx)

签名之后重新运行即可,不会再弹提示。

验证工具正常工作:

# 列出最近的会话(确认能读到数据)
wx sessions

如果看到你的微信会话列表输出,说明一切正常。

第二步:导出群聊记录

确认可以读到会话后,导出目标群的聊天记录:

# 导出最近 200 条记录为 Markdown 格式
wx export "项目周例会群" --format markdown -o ~/group-chat.md# 如果需要更多历史记录
wx history "项目周例会群" --limit 500

--format markdown 会把每条消息格式化成「发送者:内容」的结构,适合直接丢给 AI 读。

导出内容示例(已脱敏):

[2026-05-15 09:23] 张工:今天的发布计划确认了吗?
[2026-05-15 09:25] 李姐:确认了,下午 3 点灰度,晚上 8 点全量
[2026-05-15 09:26] 王哥:测试环境没问题,回归测试今早已跑完
[2026-05-15 09:30] 张工:好,3 点前大家准备好回滚脚本

这个文件现在只在你本地,没有任何上传操作。

第三步:创建 Claude Code 总结 Skill

这是整个方案最关键的部分。Claude Code 支持自定义 Skill——你可以把「读取本地群聊记录并生成摘要」这个动作封装成一条可复用的指令。

先确认 Claude Code 已安装:

claude --version

没有的话:npm install -g @anthropic-ai/claude-code

Skill 文件存放位置:

~/.claude/skills/wechat-summarizer/SKILL.md

创建目录并写入 Skill 定义:

mkdir -p ~/.claude/skills/wechat-summarizer
# WeChat Group Summarizer Skill## 触发方式
当用户输入 `/wechat-summary` 或要求「总结群聊」时激活本 Skill。## 执行步骤1. 读取参数中指定的本地文件路径,或默认读取 `~/group-chat.md`
2. 分析聊天记录,识别以下内容:- 今日核心决策(有明确结论的讨论)- 待办事项(有人被点名、有 deadline 的任务)- 未解决的问题(讨论中途中断、结论不明确的)- 重要信息(发布计划、版本号、链接)
3. 输出结构化摘要,格式如下:## 输出格式

群聊摘要:[群名称] [日期]

核心决策

  • [决策内容] — 由 [谁] 确认

待办事项

未解决问题

  • [问题描述] — 需要 [谁] 跟进

重要信息

  • [关键信息条目]
## 约束
- 所有输入来自本地文件,不调用任何网络接口
- 摘要语言与群聊语言一致(中文群输出中文)
- 摘要控制在 300 字以内,超出则优先保留决策和待办

Skill 文件保存后,无需重启 Claude Code,直接可以使用。

第四步:一条命令跑出摘要

在 Claude Code 里执行:

claude

进入交互界面后输入:

/wechat-summary ~/group-chat.md

或者直接说:

帮我总结一下 ~/group-chat.md 这个群聊记录,用结构化格式输出

Claude Code 会读取本地文件,在本地执行 Skill 逻辑,输出类似这样的结果:

## 群聊摘要:项目周例会群 2026-05-15### 核心决策
- 今日发布计划确认:下午 3 点灰度,晚上 8 点全量 — 由李姐确认### 待办事项
- [ ] 准备回滚脚本 — 负责人:所有人,截止:下午 3 点前### 未解决问题
- (本段记录中无未解决问题)### 重要信息
- 测试环境回归测试已完成(张工确认)

整个过程耗时不超过 30 秒。如果群聊记录很长(500 条以上),可能需要 1-2 分钟,但不会更久。

进阶:做成每日自动导出脚本

如果你每天都需要总结同一批群,可以写个 shell 脚本,加到 crontab 里:

#!/bin/bash
# ~/scripts/wechat-daily-summary.shGROUPS=("项目周例会群" "运营对接群" "技术交流群")
DATE=$(date +%Y-%m-%d)
OUTPUT_DIR=~/wechat-summaries/$DATEmkdir -p $OUTPUT_DIRfor GROUP in "${GROUPS[@]}"; do# 导出今日记录(取最近 200 条)wx export "$GROUP" --format markdown -o "$OUTPUT_DIR/${GROUP}.md"echo "✓ 已导出:$GROUP"
doneecho "导出完成,文件在 $OUTPUT_DIR"

加到 crontab,每天早上 8:55 自动跑:

crontab -e
# 加入这行:
55 8 * * 1-5 /bin/bash ~/scripts/wechat-daily-summary.sh

这样你 9 点打开电脑,各群的原始记录已经在本地等你了,打开 Claude Code 一条指令出摘要,5 分钟内搞定一天的群信息归总。

踩坑记录

坑一:wx-cli 报「无法连接到 WeChat 进程」

原因是微信没有运行,或者微信版本太老(低于 4.x)。wx-cli 依赖扫描运行中的微信进程内存来获取解密密钥。

解决:打开微信,确保登录状态,重新执行命令。

坑二:导出的记录里有乱码

这通常是消息里包含特殊格式(引用消息、文件分享、小程序卡片)。wx-cli 会尽力解析,但部分格式可能输出为 [引用消息][文件] 占位符。

对总结影响不大,AI 会自动跳过这些无内容的占位符。

坑三:Claude Code Skill 没有被识别

检查 Skill 文件路径是否正确:必须在 ~/.claude/skills/<skill-name>/SKILL.md,注意大小写。文件保存后,在 Claude Code 里输入 / 可以看到已加载的 Skill 列表。

坑四:群名称有特殊字符导致导出失败

群名称里如果有括号、斜杠等字符,需要用引号包裹并转义:

wx export "前端 \(技术\) 交流群" --format markdown -o output.md

数据安全:给有顾虑的同学的一份技术说明

这套方案的数据流向如下图所示:

数据安全全本地处理流程图
图:数据始终在本地设备内流转,无外部网络请求

关键点逐一确认:

  • wx-cli 是离线工具,没有任何网络请求(可以用 lsof -i 在运行时确认没有外部连接)
  • 解密密钥只存在于内存中,不写入磁盘,程序退出后消失
  • 缓存目录 ~/.wx-cli/cache/ 是本地数据库缓存,不加密,但存在你的本机
  • Claude Code 使用本地执行模式(不是 claude.ai 的网页版),不发送任何网络请求到 Anthropic 服务器来处理你的聊天记录

需要注意的是:wx-cli 本身是开源且经过社区审计的,但你仍然应该从官方 npm 包或 GitHub Releases 下载,不要用第三方镜像

常见问题

Q:wx-cli 支持 Windows 吗?

支持。wx-cli v0.3.0 支持 macOS、Linux 和 Windows,安装命令一样(npm install -g @jackwener/wx-cli)。Windows 上同样需要微信 4.x 处于运行状态。

Q:这套方案会影响微信正常使用吗?

不会。wx-cli 是只读工具,只读取数据库,不修改任何内容,不发送消息,不接触微信的网络连接。

Q:Claude Code Skill 和直接在 claude.ai 网页版粘贴聊天记录有什么区别?

最核心的区别是数据流向。网页版会把你粘贴的内容通过 HTTPS 发送到 Anthropic 的服务器处理。Claude Code 的本地执行模式在你的电脑上运行模型推理,聊天记录不离开本机。

Q:导出的记录可以保留多久?

wx-cli 可以导出的历史记录取决于你本地微信的存储时间。微信默认会在本地保留较长时间的聊天记录,但如果你清理过聊天记录或重装过微信,历史数据可能不完整。

Q:Skill 文件可以定制吗?

完全可以。SKILL.md 里的输出格式、总结维度、字数限制都可以按你的需求改。比如你只关心「待办事项」,可以把其他部分删掉,让摘要更精简。

参考资料

  • wx-cli GitHub 仓库 — 工具主页,含详细安装文档
  • Claude Code 官方文档 — Skill 系统说明
  • SQLCipher 加密原理 — 微信使用的数据库加密方案

beeaa00ee37c5db0e2fb2c5c5efe4f29

我把这套方案用在自己的工作流里已经三周了。说实话,节省下来的不只是翻群的时间,更多是减少了「我是不是漏掉了什么」的焦虑感——摘要在那里,有就是有,没有就是真的没有。

工具组合能做到这个效果,离不开 wx-cli 把本地数据解密这个技术基础;如果数据要出本机,我宁可继续手动翻群。身边有人每天也被群消息轰炸,可以直接发给他,比口头解释工具怎么用快多了。

http://www.zskr.cn/news/1497237.html

相关文章:

  • 2026唐山积家手表回收哪家靠谱 全市名表变现选路北区毓典寄卖行 - GrowthUME
  • 2026免费PDF压缩器在线教程!好用的在线PDF压缩工具手把手教学 - 办公小帮手
  • 2025至2026年粤港澳跨境包车主流企业盘点与维度梳理 - 热点速览
  • 从Heroku的12要素到K8s:聊聊云原生应用开发的“老规矩”与“新实践”
  • 模板驱动文档自动化:从填空题到可编程生产力
  • 风力发电机叶片模具怎么定期检测?三维扫描方案指南与流程全解析 - 匠言榜单
  • 别再硬编码了!C#项目里用Resources资源文件管理字符串和图片,保姆级教程
  • 不止于ENVI:GDEM/TIF高程数据转DEM/dat_bil的三种工具链实战(含SARscape与ERDAS)
  • Keil + J-Link连不上芯片?除了Boot0,这份STM32下载问题终极自查清单请收好
  • YOLOv5车牌识别实战:从CCPD原始数据到训练完成的完整数据流水线搭建
  • 枣庄母婴除甲醛CMA甲醛检测治理公司深度测评:绿醛净环保稳居榜首 - 创达咨询
  • C++竞赛刷题:用STL sort函数搞定OpenJudge 1.10-06整数奇偶排序(附两种思路对比)
  • ARM9微控制器LPC32x0系列通信接口与外设深度解析与实战指南
  • 2026年6月最新|金华性价比高的GEO优化公司找哪家?选型避坑指南+行业FAQ - 商业新知
  • 从‘An Easy Problem’看二进制位操作的实战技巧:如何优雅地找到下一个‘1’数量相同的数
  • 从原理到调参:手把手教你用scipy.ndimage.gaussian_filter搞定噪声消除与图像美化
  • OpenAI API 兼容层实现 Gemini 模型无缝接入
  • GEPIA2保姆级教程:从TCGA数据到发表级PCA图的完整流程
  • 别再暴力循环了!用C++优先队列(priority_queue)优化‘接水问题’,效率提升一个数量级
  • 避坑指南:麒麟系统安装MySQL 8.0.28 RPM包,我踩过的那些‘依赖’和‘权限’的坑
  • 告别LVDS!手把手教你用eDP接口点亮4K笔记本屏幕(附带宽计算与配置要点)
  • STM32F103的RTC掉电不保存?手把手教你修改RT-Thread驱动源码彻底解决
  • 庆阳市2026年本地上门黄金回收门店指南 彩金+铂金+金条+白银回收门店联系方式推荐 - 马刺总冠军
  • 保姆级教程:用Halcon实现药板缺陷检测,从图像预处理到结果统计全流程拆解
  • 从AHB到AXI-4:一次总线升级能给你的SoC设计带来哪些实际提升?
  • JMP新手避坑指南:数据清洗时最常遇到的5个问题,我这样解决
  • 原子间势拟合中Gibbs自由能的关键作用与HTI方法
  • RimWorld Mod制作:别再硬写XML了!手把手教你用原版长剑Def快速魔改一把‘巨剑’
  • 告别鼠标手!Allegro PCB设计效率翻倍的快捷键自定义全攻略(附env文件详解)
  • 智能高边开关过流与过温保护机制深度解析与工程实践