by runzhliu
🔍微信聊天数据分析的本地化AI-agent(Docker/Windows/MacOS) · AI分身 / 大模型分析 / 好友排行 / 词云 / 情感趋势 / 群聊画像
# Add to your Claude Code skills
git clone https://github.com/runzhliu/welinkLast scanned: 5/30/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-30T16:00:12.758Z",
"npmAuditRan": true,
"pipAuditRan": true
}No comments yet. Be the first to share your thoughts!
你的微信聊天记录里,藏着你和每个人关系最真实的样子。WeLink 把这些数据交给 AI 来读——不只是统计图表,而是能让你直接提问、得到洞察:
「我和 XXX 的关系在哪个阶段最好?后来发生了什么?」
「这个群里真正活跃的人是谁?他们通常聊什么?」
「我今年和哪些朋友聊得越来越少了?」
所有数据留在本地,不上传任何服务器。
点击可放大查看
| AI 分身 | AI 分析 |
|:---:|:---:|
|
|
|
| AI 群聊 | AI 首页 |
|
|
|
| 快速入门引导 | 好友总览 |
|
|
|
| 好友深度画像 | 群聊画像 |
|
|
|
| 全局搜索 | 时间线 |
|
|
|
| 时光机 | 纪念日 |
|
|
|
让 AI 学习任何联系人的聊天风格,模拟和 TA 对话——像真的在和 TA 聊天一样。
聊天记录是一个人最真实的语言印记。AI 分身从中学习 TA 的用词习惯、语气特征和表达方式,让你可以:
和已经失去联系的老友再聊一次——哪怕只是 AI 模拟的,也能找回当年的感觉
让远在天堂的亲人以 TA 熟悉的方式"回复"你——不是冰冷的机器,而是带着 TA 说话习惯的温暖文字
在做重要决定前,和最信任的人的 AI 分身聊聊——TA 会用 TA 的方式给你回应
或者纯粹好奇——你最好的朋友如果看到你发的这句话,会怎么回?
[!NOTE] AI 分身旨在帮助用户回忆珍贵的人际关系。模拟结果由 AI 生成,不代表真人的真实想法。请善意使用,不要用于冒充他人身份或误导第三方。使用本功能即表示用户同意自行承担使用后果,项目作者不对因使用 AI 分身产生的任何直接或间接影响负责。
详细实现见 ai-clone.md。
让 AI 模拟群友继续聊天——按每个成员的发言比例和说话风格生成对话,你也可以随时加入。
详细说明见 ai-group-sim.md。
不再局限于单个联系人——直接问关于所有聊天记录的问题,AI 自动搜索并汇总回答。
「谁跟我聊过旅行?」→ AI 搜索全部联系人,找到 3 人提到过旅行,汇总每人聊了什么
「去年国庆我都跟谁聊天了?」→ AI 查询 10/1-10/7 的日历数据,列出每天的聊天对象
「哪些朋友经常提到加班?」→ AI 搜索关键词,按匹配频次排列
技术原理:LLM Agent 模式——第一步 LLM 解析问题意图(提取关键词/时间范围),第二步自动调用搜索/日历 API 收集数据,第三步 LLM 基于真实数据生成回答。每次提问仅消耗 ~4000 token。
AI 首页的联系人分析和跨联系人问答的对话自动保存到本地数据库,支持:
对任意联系人生成三种深度分析(基于统计摘要 + 采样消息,低 token 消耗):
所有 AI 功能的系统提示词(System Prompt)完全透明、可自定义:
{{name}}(联系人名)、{{today}}(日期)、{{rounds}}(轮数)等联系人详情页头部点紫色 BookOpen 按钮,进入一段章节化、有选项、多结局的视觉小说。AI 把 TA 当 NPC,剧情用 TA 的「分身画像」和真实事件素材生成 —— 像乙女游戏 / Doki Doki,但主角是你和你认识的人。
[!NOTE] 剧情仅在本地处理,所有选择只影响这一档存档。AI 输出不代表真人想法,请尊重当事人。
| 模式 | 用法 | 适合场景 | |---|---|---| | 自由探索 | 无固定目标,剧情自然展开 | 第一次玩,看看 AI 会写出什么 | | 带目标 | 你输入一句目标(如「让 TA 答应一起去日本」),剧情围绕它推进 | 想测试某种关系走向 | | 回忆改编 | 挑一天你和 TA 真实聊过的日期,AI 以那天对话为起点写「假如那天换种回应」 | 那段对话你后悔过,想看平行宇宙怎么走 |
每条存档独立,同一联系人可开多档;每章自动入库,可回滚到任意章看不同分支。
4 页分页(仿 Spotify Wrapped):
???支持白底长图导出(720px 宽,footer 自带 welink.click + 日期),发朋友圈合适。
设置页开启「AI 文生图」后,每章卡片右上角出现 ✨ 按钮 —— 调一张电影感场景图(不画人脸 / 不出现文字 / 抽象意象),自动入画廊。开局只生 1 张就够用,每张 0.05-0.2 元,不会失控。
clone_profiles.prompt(已训练分身的话);未训练时给兜底人设mem_facts 作为「TA 的世界设定」{affinity, tension, flags[], critical_hits, dealbreaker},每章合并一次 state_delta详细架构与接口见 docs/api.md 的「视觉小说 / 互动小说(VN)」章节。
侧边栏「实验室」Tab,集合了一组好玩、能分享的小工具。和"分析"路线不同,这一组以"卡片化、可截图、像 Spotify Wrapped 一样" 为目标。v0.2.0 一次开 5 个,到 v0.3.x 已累计 18 个(聊天 DNA / 高光瞬间 / 灵魂提问 / 平行宇宙 / 关系星图 / 群金句榜 / 语言进化史 / 聊天地图 / 人情债 / 断联预警 / 群聊 Wrapped / 反向语义搜索 / AI 虚拟群聊 / 群语料 ROI / 关系考古 / 健康日记 / 暧昧探测 / 回复速度榜)—— 详见 docs/labs.md。会调 LLM 的 Lab 在 tab 上带紫色 AI 标。
类 Spotify Wrapped 的年度聊天人设卡:消息总数、最爱的人、活跃时段、emoji 偏好、最长一句话、最早开始聊的人 …… 全部纯统计、无 LLM——零 token 成本,离线也能出。一键导出长图分享。
AI 从你和某位联系人的聊天记录里,挑出 5–8 段最有故事感的对话片段——表白、争吵、深夜聊人生、第一次见面、相互坦白。每段配一张可截图的卡片,自动生成标题和情绪标签。
AI 出 5 道只有你们俩才答得上的默契测试题("TA 最常吃的早餐是?""你们第一次见面在哪?"),翻面看答案。可以截图给对方做。
把联系人按"共同群聊"聚拢的力导向图——同一个圈子的朋友会自动靠拢成簇,让你一眼看出社交圈层结构。自写的迷你 force-directed layout,零新增依赖。
选一个联系人 + 输入一个"如果……"场景("如果我们五年前就认识"、"如果我现在跟 TA 求婚"、"如果我们是同事"),AI 用 TA 的人设生成一段虚构对话,逐字流式展开。复用 AI 群聊模拟的 persona 引擎。
5 个 Lab 都支持白底分享图导出,footer 自带
welink.click+ 日期,发朋友圈合适。
| Lab | 数据源 | LLM | 一句话 | |---|---|---|---| | 💬 群金句榜 | 群引用消息(refermsg) | ❌ | 被群友翻牌最多次的"名场面"原文 Top 10 | | 📈 我的语言进化史 | 我发的所有文本按年聚合 | ❌ | 4 条说话风格曲线(句长 / emoji / 英文夹杂 / 日均产量)+ 每年的"那年的我"卡 | | 🌏 聊天地图 | 私聊地名词典子串匹配 | ❌ | 中国 / 海外 / 港澳台 / 景点 6 类 tier,bubble cloud + Top 同行者 | | 💌 人情债 | regex 候选窗口 → LLM 精筛 | ✅ | 挖"答应了但没做"的承诺,分 TA 欠我 / 双方约定 / 我欠 TA | | ❄️ 断联预警 | 私聊 last_message_ts | ❌ | 静默 ≥ 30 天的老朋友 Top 30 + 三档分级 + 三张"之最"卡 | | 👻 这句话谁说过 | 复用 vec_messages 索引 | ❌(仅 embed) | 反向语义搜索:「这句话最像 X、Y、Z 说过的话」,按说话人聚合 | | 🎭 AI 虚拟群聊 | 分身画像 + 私聊样例兜底 | ✅ | 任意 2-8 个联系人拉进虚拟群,AI 扮演每个人;批量 N 轮 + 气泡 TTS + 会话持久化 | | 📊 群语料 ROI 诊断 | 群聊消息字数 | ❌ | 算「我看 vs 我说」性价比,标出高消耗 / 高产出 / 平衡群 | | 📖 群聊 Wrapped | 群聊统计 | ❌ | 群画像顶部 Hero 卡:Top 3 发言成员 / 类型分布 / 最忙一天 / 被引用 Top 3 |
| Lab | 数据源 | LLM | 一句话 | |---|---|---|---| | 🩺 健康日记 | 私聊关键词(症状/就医)| ❌ | 双向扫"感冒/发烧/医院",7 天合并成一次发作,看我 vs TA 们谁更常生病 | | 🔥 暧昧探测 | 私聊 5 类暧昧信号 | ❌ | 亲昵称呼/想念/深夜亲密/暧昧动作/暧昧表情,看跟谁最有"暧昧浓度"+ 双向度(仅供娱乐)| | ⚡ 回复速度榜 | 私聊消息时间戳 | ❌ | 双向回复延迟中位数:谁秒回你 / 你秒回谁 / 最不对等 |
首页左侧 Tab「今日简报」,每天看昨天的社交摘要:
懒生成 + 入库(ai_analysis.db.daily_digests),调试或重新索引后可强制重生成。零 LLM 默认形态(高光抽取走规则)。
聊天 DNA 是"庆祝长期连接",断联预警是它的反面。扫所有私聊(总消息 ≥ 50 条)的 LastMessageTs,按静默天数 ≥ 30 排出 Top 30:
| 之最卡 | 找谁 | |---|---| | 🥶 静默最久的高频好友 | 聊得多但安静最久的那位 | | 📚 历史聊得最多但已断联 | 曾经的话题伙伴 | | ⏳ 认识最久且当前断联 | 从最早就在你列表里、现在不说话的人 |
三档分级人数:30-89 天 / 90-179 天 / 180+ 天。零 LLM、10 分钟缓存、可截图分享。
WeLink 内置完整的 AI 分析引擎,可对任意联系人、群聊或某一天的聊天记录发起对话式分析。
| 模式 | 工作方式 | 适合场景 | |------|---------|---------| | 全量分析 | 将选定时间范围内的全部消息送入 LLM 上下文 | 深度关系分析、长期趋势总结 | | 混合检索(RAG) | FTS5 全文检索 + 语义向量检索,精准召回相关片段 | 查找特定事件、关键词检索 | | 时光机 AI | 跨所有对话的单日聚合分析 | 「某天发生了什么」式的日记回顾 |
LLM 批量阅读聊天记录,自动提炼关键事实(人名、事件、情感节点)并持久化存储。后续对话中,AI 可以调用这些「长期记忆」,而不依赖每次重新加载全量消息。
| 提供商 | 说明 |
|--------|------|
| DeepSeek | 默认 deepseek-v4-pro,国产高性价比首选 |
| 豆包(火山方舟) | 字节 Doubao 系列,OpenAI 兼容;默认 doubao-seed-2-0-pro-260215 |
| Kimi | Moonshot(月之暗面),支持超长上下文 |
| OpenAI | GPT-4o 等,标准 API |
| Claude | Anthropic Claude,通过原生 API 接入 |
| Gemini | Google Gemini,支持 OAuth 2.0 认证 |
| Vertex AI | Google Cloud Vertex AI,原生支持。认证方式:Service Account JSON → JWT → OAuth2 token(自动缓存刷新)。走 Vertex AI 的 OpenAI 兼容端点,支持所有 Gemini 模型 |
| AWS Bedrock | 原生支持。认证方式:AWS SigV4 签名(手写实现,无 AWS SDK 依赖)。使用 Converse API(跨模型家族统一 API),支持 Claude / Llama / Mistral / Titan / Cohere 等所有 Bedrock 模型 |
| MiniMax | 国内版 + 国际版,支持 MiniMax-Text-01 等 |
| GLM | 智谱 AI,GLM-4 系列 |
| Grok | xAI Grok |
| 通义千问(DashScope) | 阿里 Qwen 系列,OpenAI 兼容模式 |
| 腾讯混元 | Hunyuan-turbo / pro 等 |
| 百度千帆(文心一言) | ERNIE-4.0 系列,OpenAI 兼容端点 |
| OpenRouter | 一个 Key 接入 300+ 模型的聚合网关 |
| Mistral AI | mistral-large / codestral 等 |
| Groq | LPU 极速推理,Llama / Mixtral 等开源模型 |
| Together AI | 开源模型托管,价格友好 |
| Fireworks AI | 开源模型高速托管 |
| Perplexity | 内置联网搜索(Sonar 系列) |
| Cohere | Command R+,企业 RAG 强项 |
| 硅基流动 SiliconFlow | 国内开源模型聚合(DeepSeek / Qwen / Llama 等) |
| 零一万物(Yi) | yi