微信数字资产 Skill
总览
本 Skill 从微信 Mac 4.x 的本地加密数据库中提取聊天记录、朋友圈和收藏夹内容,把它们沉淀为可复盘、可检索、可行动的个人数字资产。默认先支持微信群聊日报,也可以引导用户配置朋友圈监督、收藏夹整理、客户跟进、大佬对话复盘等玩法。
适用条件:
- macOS 系统
- 微信 Mac 4.x 已安装
- Python 3.9+
执行流程
Phase 1: 环境检测(每次执行)
检查 ~/.config/wechat-daily.json 是否存在且包含 wxid 或 db_base_path:
- 不存在或不完整 → 进入 Phase 2(首次配置)
- 存在且完整 → 进入 Phase 3(生成日报)
Phase 2: 首次配置(新用户引导)
Skill 无法在“安装瞬间”自动弹窗;当用户第一次触发本 Skill(例如说“日报”“朋友圈日报”“收藏夹整理”)时,先展示三大类九种玩法,再进入密钥和监控对象配置。
Step 2a: 安装 Python 依赖
pip3 install pycryptodome zstandardStep 2b: 提取数据库密钥
运行密钥提取脚本:
python3 {{SKILL_DIR}}/scripts/extract_keys.py脚本会自动:
- 检查微信是否安装
- 复制微信到
~/Desktop/WeChat.app并 codesign 去掉 Hardened Runtime - 检查/安装 frida
- frida spawn 启动签名副本 → hook
CCKeyDerivationPBKDF - 按本机
sns.db/favorite.db/message_0.db等数据库 salt 捕获并匹配密钥 - 自动检测 wxid 和数据库路径
- 合并保存到
~/.config/wechat-keys.json,并更新~/.config/wechat-daily.json
重要:微信 Mac 4.1.x 是按库独立密钥。favorite.db 和 sns.db 往往不会在启动时加载;脚本运行期间必须在弹出的签名副本微信里手动打开「收藏」和「朋友圈」,朋友圈最好滚动一次。
如果已有 message_0 / contact / session 密钥,只补朋友圈和收藏:
python3 {{SKILL_DIR}}/scripts/extract_keys.py --targets sns,favorite --duration 120如果签名副本已经登录并正在运行,用 attach 模式重新捕获,不必重启:
python3 {{SKILL_DIR}}/scripts/extract_keys.py --mode attach --targets sns,favorite --duration 120 --skip-prepare --reuse-log只查看本机数据库 salt 和路径,不启动微信:
python3 {{SKILL_DIR}}/scripts/extract_keys.py --list-dbsStep 2c: 玩法选择与信息收集
首次引导时,先用自然语言告诉用户本 Skill 支持三大类玩法:聊天记录、朋友圈、收藏夹。然后展示下面九种小玩法,并询问用户当前优先启用哪几种。若用户不确定,默认推荐先启用:微信群聊日报沉淀、朋友圈日报、收藏夹大扫除到知识库。
不要修改 ~/.config/wechat-daily.json 的结构;本步骤收集的信息先作为本轮上下文使用,只有原有日报配置需要写入 monitor_groups、monitor_contacts、report_dir。
聊天记录类
- 微信群聊日报沉淀
- 用途:把每天的高价值微信群聊沉淀到 Obsidian 或飞书,适合每天阅读最精华部分。 - 需要问:要关注哪些群聊、日报时间范围、输出到 Obsidian 还是飞书、日报目录或知识库位置。 - 输出建议:每日精华摘要、重点链接、待复盘话题。轻量日报可建议用 Flash。
- 大佬对话复盘
- 用途:整理和某位关键人物的对话,分析如何更好地彰显实力和价值,争取合作、请教或机会。 - 需要问:要分析哪位好友、分析时间范围、目标是合作/请教/成交/长期关系维护中的哪一种。 - 输出建议:对话画像、对方关注点、用户当前表达问题、下一轮聊天建议。深度复盘可建议用 1T 模型。
- 重点事项跟进与提醒
- 用途:持续关注近期重点推进事项相关的群聊和联系人,梳理待办事项或日历事件。 - 需要问:最近推进的项目名、相关群聊/联系人、需要识别哪些待办/会议/截止时间。 - 输出建议:待办清单、日历事件草案、提醒建议。本次只生成草案,不执行飞书 CLI。
- 客户管理沉淀
- 用途:把重点客户聊天内容、跟进状态和下一步动作沉淀为客户管理素材,提高转化率。 - 需要问:重点客户或客户群、客户阶段定义、要追踪的状态字段。 - 输出建议:客户状态摘要、下一步动作、可写入飞书多维表格的字段建议。本次不真实写入飞书多维表格。
朋友圈类
- 竞品监督与客户需求抓取
- 用途:监督同行和客户朋友圈,发现新品、需求、价格、活动、招聘等信号,形成朋友圈日报。 - 需要问:哪些联系人是竞品、哪些是客户、要关注哪些信号。 - 输出建议:朋友圈日报、风险/机会提醒、建议响应动作。实时巡查只给方案建议,本次不创建自动巡查。
- 个人 IP 诊断
- 用途:分析自己的朋友圈内容主题、互动表现和别人可能形成的印象标签。 - 需要问:分析自己的朋友圈时间范围、目标人设、希望优化的方向。 - 输出建议:主题分布、发布节奏、互动表现、外界印象标签、优化建议。全量深度分析可建议用 1T 模型。
- 高价值内容提炼
- 用途:从朋友圈噪音中提取高手分享的工具、资源、机会和认知内容。 - 需要问:关注哪些人或标签、哪些内容算高价值,例如工具、认知、资源、机会。 - 输出建议:高价值内容清单、摘要、可转化选题。
收藏夹类
- 收藏夹大扫除到知识库
- 用途:解决“收藏即遗忘”,把收藏夹整理成可检索的知识库或选题库。 - 需要问:分类偏好、输出位置、是否生成标签和摘要。 - 输出建议:分类体系、逐条摘要、标签、选题/资料库建议。本次不真实写入飞书。
- 收藏复活提醒
- 用途:每周重新捞出被遗忘的高价值收藏,让收藏真正被再次使用。 - 需要问:遗忘阈值 N 天、每周推送频率、每次推送数量、偏好主题。 - 输出建议:复活清单、推荐阅读顺序、提醒草案。本次不创建自动化。
如果用户只想用原来的群聊日报,直接进入下一步“选择监控对象”,保持旧流程不变。
Step 2d: 选择监控对象
运行列表脚本展示所有群聊和联系人:
python3 {{SKILL_DIR}}/scripts/list_contacts.py然后向用户提问(使用 AskUserQuestion 工具):
问题 1: "你想监控哪些群聊?请从上面的列表中选择,输入群聊名称(多个用逗号分隔)。"
问题 2: "你想监控哪些具体的个人?请输入联系人备注名或昵称(多个用逗号分隔),没有可以跳过。"
用户回答后,将选择保存到 ~/.config/wechat-daily.json 的 monitor_groups 和 monitor_contacts 字段。
若用户选择了朋友圈玩法,还要继续询问:要关注哪些朋友圈联系人、哪些联系人属于竞品/客户/高手、是否分析自己的朋友圈、关注的关键词或信号是什么。
若用户选择了收藏夹玩法,还要继续询问:收藏内容希望如何分类、输出到哪里、是否需要摘要和标签、是否要生成复活提醒草案。
Step 2e: 配置输出路径
向用户提问:
问题 3: "日报保存到哪个目录?"(默认 ~/Documents/wechat-daily)
保存到配置文件的 report_dir 字段。
Step 2f: 生成首份日报
配置完成后,自动执行 Phase 3。
Phase 3: 生成日报
Step 3a: 运行提取脚本
默认取昨天 08:00 到今天 08:00 的完整数据:
python3 {{SKILL_DIR}}/scripts/wechat_daily.py如果用户指定了具体日期(如"4月16日的日报"、"2026-04-16"),用日期模式:
python3 {{SKILL_DIR}}/scripts/wechat_daily.py YYYY-MM-DD如果用户有自定义配置文件路径:
python3 {{SKILL_DIR}}/scripts/wechat_daily.py --config /path/to/config.jsonStep 3b: 读取原始报告
读取 Step 3a 生成的原始报告文件。报告路径从脚本输出中获取,或在配置的 report_dir 下查找 YYYY-MM-DD.md。
Step 3c: 生成精华摘要
你是一个群聊精华提取专家。根据原始消息,按以下格式重写报告:
格式要求:
- 开头:1-2段自然语言概括当天最核心的内容(不使用 markdown 格式)
- 正文:按群分类,每个群提取有价值的讨论要点
- 不使用 markdown 加粗和标题语法,用 emoji + 列表
- 链接保持原样
- 保留关键人名
- 结尾固定格式"本简报由AI自动生成"
分类参考(根据实际内容灵活选用):
- 🛠 工具技巧/实战经验
- 💰 资源推荐
- 📡 行业动态
- 💡 观点碰撞
- 🎭 群友趣事
- 🐟 群聊日常
- 📈 投资/加密
- 💬 话题讨论
内容规范:
- 重点突出,过滤不重要的闲聊
- 语言通俗,保留群友的生动表达和金句
- 图片、语音、表情等非文本消息不写入摘要
- 系统消息(撤回、加群等)不写入摘要
- 不写人名,只总结精华内容(除非是公众人物或用户特别指定)
- 不写私聊摘要(除非用户配置了 monitor_contacts)
- 不写"其他群聊速览"
- 每个群的消息数量标注在群名后面,如
群名(123条) - 群与群之间用
---分隔
Step 3d: 写入文件
将精华摘要覆盖写入:{report_dir}/YYYY-MM-DD.md
然后告诉用户日报已生成,简要概括今天最核心的1-2件事。
配置文件格式
~/.config/wechat-daily.json:
{
"wxid": "<wxid>",
"db_base_path": "~/Library/Containers/.../db_storage",
"monitor_groups": ["群名1", "群名2"],
"monitor_contacts": [],
"report_dir": "~/Documents/wechat-daily",
"time_mode": "8am_to_8am"
}~/.config/wechat-keys.json(自动生成,不要手动编辑):
{
"message_0": "hex_key",
"contact": "hex_key",
"session": "hex_key",
"sns": "hex_key",
"favorite": "hex_key"
}依赖
- Python 3.9+
- pycryptodome
- zstandard
- frida + frida-tools(仅首次密钥提取时需要)