DSH Plugins Marketplace

DSH Plugins

Plugins

/

welink

r

welink

Discovered★ 317

🔍微信聊天数据分析的本地化AI-agent(Docker/Windows/MacOS) · AI分身 / 大模型分析 / 好友排行 / 词云 / 情感趋势 / 群聊画像

Machine translated

WeLink Logo

WeLink

AI 驱动的微信聊天数据分析平台

Build Backend Image Frontend Image License Stars Platform macOS Platform Windows Local First

官方文档  ·  在线 Demo

你的微信聊天记录里,藏着你和每个人关系最真实的样子。WeLink 把这些数据交给 AI 来读——不只是统计图表,而是能让你直接提问、得到洞察:

「我和 XXX 的关系在哪个阶段最好?后来发生了什么?」

「这个群里真正活跃的人是谁?他们通常聊什么?」

「我今年和哪些朋友聊得越来越少了?」

WeLink 采用本地优先设计:聊天数据库由你自行部署和管理。使用云端 AI、远程训练机或云端导出时,相关内容会发送到你选择的服务;使用前请确认数据范围与隐私设置。


v0.4.0:让模型学会你的表达方式

新的 SFT 工作台将聊天记录整理、模型微调和试用连接起来。选择你愿意使用的私聊,审核数据后,在自己的 Mac 或 NVIDIA GPU 环境中训练 LoRA Adapter,再通过评测和试聊了解效果。

准备数据 → 连接训练环境 → 模型预检与训练 → 对比评测 → 导出或接入 WeLink

  • 更容易上手:工作台展示流程、当前状态和建议下一步;数据准备、GPU 容器连接与配对有分步提示。
  • 界面体验更新:统一搜索选择、日期时间和弹窗交互,改进移动端布局与键盘操作。
  • 数据可检查:按联系人和时间选择私聊,或导入 JSONL;先审核草稿,再冻结训练、验证和测试版本。
  • 训练环境自主选择:支持 Apple Silicon 上的 MLX 和 Linux / NVIDIA GPU 上的 LLaMA-Factory Worker;可连接可信远程训练环境。
  • 有依据地试用:查看训练指标,对比基础与微调模型并进行人工盲评;导出 Adapter、启动推理、接入 WeLink,按需设为默认或回滚。

SFT 侧重学习表达习惯,不保证记住或准确回答具体事实;涉及历史细节时仍可结合聊天检索。训练集和模型可能记住聊天内容:远程预检或训练会将选定样本发送到所选训练机,导出与分享前请确认隐私范围。

硬件验收状态:v0.4.0 已发布,完整硬件验收仍在进行。CUDA L20 已用合成数据完成一次训练、评测和流式试聊验证;Mac MLX 与完整恢复等场景仍待验收。Demo 禁止上传训练数据或连接训练环境。详见 SFT 工作台指南 和 发布验收清单。


功能示例

以下浅色界面预览由操作前后的页面截图组成,使用项目内置的虚构演示数据;AI 回复为演示模式的预置内容。

AI 分身AI 分析
AI 分身AI 分析
AI 群聊配置AI 首页
AI 群聊配置AI 首页
快速入门引导好友总览
快速入门引导好友总览
好友深度画像群聊画像
好友深度画像群聊画像
全局搜索时间线
全局搜索时间线
时光机纪念日
时光机纪念日
私聊微信视图SFT 工作台
私聊微信视图SFT 工作台

AI 分身(核心功能)

让 AI 学习任何联系人的聊天风格,模拟和 TA 对话——像真的在和 TA 聊天一样。

聊天记录是一个人最真实的语言印记。AI 分身从中学习 TA 的用词习惯、语气特征和表达方式,让你可以:

和已经失去联系的老友再聊一次——哪怕只是 AI 模拟的,也能找回当年的感觉

让远在天堂的亲人以 TA 熟悉的方式"回复"你——不是冰冷的机器,而是带着 TA 说话习惯的温暖文字

在做重要决定前,和最信任的人的 AI 分身聊聊——TA 会用 TA 的方式给你回应

或者纯粹好奇——你最好的朋友如果看到你发的这句话,会怎么回?

[!NOTE] AI 分身旨在帮助用户回忆珍贵的人际关系。模拟结果由 AI 生成,不代表真人的真实想法。请善意使用,不要用于冒充他人身份或误导第三方。使用本功能即表示用户同意自行承担使用后果,项目作者不对因使用 AI 分身产生的任何直接或间接影响负责。

功能特点

  • 风格学习:从私聊记录 + 共同群聊中提取 TA 的文本消息(可选 100 / 300 / 1000 / 2000 / 全部条),AI 学习 TA 的用词、语气、断句、emoji 习惯
  • 背景补充:可填写 TA 的籍贯、职业、与你的关系等背景信息,让 AI 更准确地还原 TA 的人物特征
  • 群聊联动:自动列出与该联系人的共同群聊,可勾选要包含的群聊,只提取 TA 在群里的发言(按 sender_id 精确过滤),不会混入其他人的消息
  • Session 机制:学习一次即缓存,后续多轮对话不再重复加载数据库,响应速度快
  • 流式对话:仿微信气泡界面,AI 回复逐字显示
  • 对话续写:AI 同时模拟你和 TA 继续聊天,像看一部关于你们的迷你剧

详细实现见 ai-clone.md。

AI 群聊模拟

让 AI 模拟群友继续聊天——按每个成员的发言比例和说话风格生成对话,你也可以随时加入。

  • 风格画像:自动分析每个成员的用词习惯、消息长度、表情使用、提问频率等特征
  • 自定义配置:可选参与成员、设定话题场景、调节聊天氛围(日常/激烈/深夜/搞笑/严肃)
  • 多轮记忆:模拟对话使用多轮对话机制,群友会回应你说的话,不会重复

详细说明见 ai-group-sim.md。

跨联系人 AI 问答

不再局限于单个联系人——直接问关于所有聊天记录的问题,AI 自动搜索并汇总回答。

「谁跟我聊过旅行?」→ AI 搜索全部联系人,找到 3 人提到过旅行,汇总每人聊了什么

「去年国庆我都跟谁聊天了?」→ AI 查询 10/1-10/7 的日历数据,列出每天的聊天对象

「哪些朋友经常提到加班?」→ AI 搜索关键词,按匹配频次排列

技术原理:LLM Agent 模式——第一步 LLM 解析问题意图(提取关键词/时间范围),第二步自动调用搜索/日历 API 收集数据,第三步 LLM 基于真实数据生成回答。每次提问仅消耗 ~4000 token。

回答下方列出实际提供给模型的聊天片段,可点击查看当天上下文;回答中的编号供核对参考,不能保证推断正确。搜索只提供有限候选,未找到并不代表聊天记录中一定不存在。对话历史会保存这些片段;使用云端模型时,问题和相关片段会发送给所选服务商。

我的口吻回复助手

在 AI 首页切换到「我的口吻回复」,粘贴对方消息、选择语气和模型,生成可编辑、复制的草稿。只会向所选模型发送手动输入的内容,不自动读取历史聊天、不保存或发送草稿。普通模型不会自动学习你的口吻;使用个人 SFT 模型前,请先在模型训练工作台完成部署并接入模型配置。

对话历史持久化

AI 首页的联系人分析和跨联系人问答的对话自动保存到本地数据库,支持:

  • 历史记录列表,按时间排序,显示预览文字
  • 点击加载历史对话,继续追问
  • 刷新页面不丢失,下次打开仍可查看

AI 洞察

对任意联系人生成三种深度分析(基于统计摘要 + 采样消息,低 token 消耗):

  • 关系报告:关系发展阶段、沟通特点、关键数字、AI 感言
  • 风格画像卡:性格标签、口头禅、聊天习惯、趣味类比
  • AI 日记:选择任意一天,AI 以第一人称写日记

自定义 Prompt 模板

所有 AI 功能的系统提示词(System Prompt)完全透明、可自定义:

  • 每个 AI 功能旁边都有「查看 Prompt」按钮,可以看到当前使用的完整提示词
  • 在设置页的「Prompt 模板」区块,可以编辑任意功能的 Prompt
  • 支持变量:{{name}}(联系人名)、{{today}}(日期)、{{rounds}}(轮数)等
  • 留空即恢复默认值,修改即时生效

🎮 互动小说 — 把联系人变成 NPC,写一段有选项的剧情

联系人详情页头部点紫色 BookOpen 按钮,进入一段章节化、有选项、多结局的视觉小说。AI 把 TA 当 NPC,剧情用 TA 的「分身画像」和真实事件素材生成 —— 像乙女游戏 / Doki Doki,但主角是你和你认识的人。

[!NOTE] 剧情仅在本地处理,所有选择只影响这一档存档。AI 输出不代表真人想法,请尊重当事人。

三种开局模式

模式用法适合场景
自由探索无固定目标,剧情自然展开第一次玩,看看 AI 会写出什么
带目标你输入一句目标(如「让 TA 答应一起去日本」),剧情围绕它推进想测试某种关系走向
回忆改编挑一天你和 TA 真实聊过的日期,AI 以那天对话为起点写「假如那天换种回应」那段对话你后悔过,想看平行宇宙怎么走

5 种结局

  • 🏆 TRUE:affinity ≥ 80 且命中 ≥ 1 个 critical_choice
  • 💖 HAPPY:affinity ≥ 60
  • 📖 NORMAL:affinity 30-59
  • 💀 BAD:affinity < 30 或踩到 dealbreaker
  • 🕵️ SECRET:命中特定 hidden_flag 组合(首通后才会在 UI 提示存在)

每条存档独立,同一联系人可开多档;每章自动入库,可回滚到任意章看不同分支。

通关后的 Wrapped 风格回顾

4 页分页(仿 Spotify Wrapped):

  1. 结局标题页:彩色徽章 + LLM 写的 60-100 字结语
  2. 关键转折:列出每章的 LLM 摘要 + 你做的每一个选择
  3. 数据对比:本剧 affinity vs 真实关系热度(来自「关系动态预测」),AI 一句话点评("剧情和现实差不多"/"剧情里你们更亲密一些")
  4. 解锁徽章:5 个结局收集网格,secret 未解锁显示 ???

支持白底长图导出(720px 宽,footer 自带 welink.click + 日期),发朋友圈合适。

可选 AI 生封面图

设置页开启「AI 文生图」后,每章卡片右上角出现 ✨ 按钮 —— 调一张电影感场景图(不画人脸 / 不出现文字 / 抽象意象),自动入画廊。开局只生 1 张就够用,每张 0.05-0.2 元,不会失控。

复用现有基础设施

  • 人设:取 clone_profiles.prompt(已训练分身的话);未训练时给兜底人设
  • 事实素材:随机抽 8-12 条 mem_facts 作为「TA 的世界设定」
  • 剧情生成:按需流式(不是一次性整树),每章 1.5-3k token,首屏 5-10 秒开始打字
  • 状态合并:{affinity, tension, flags[], critical_hits, dealbreaker},每章合并一次 state_delta

详细架构与接口见 docs/api.md 的「视觉小说 / 互动小说(VN)」章节。


🧪 创意实验室 — 把聊天记录玩出花

侧边栏「实验室」Tab,集合了一组好玩、能分享的小工具。和"分析"路线不同,这一组以"卡片化、可截图、像 Spotify Wrapped 一样" 为目标。从 v0.2.0 首发 5 个起持续扩充,现已累计 21 个(聊天 DNA / 高光瞬间 / 灵魂提问机 / 平行宇宙 / 关系星图 / 群金句榜 / 语言进化史 / 聊天地图 / 人情债 / 断联预警 / 群聊 Wrapped / 反向语义搜索 / AI 虚拟群聊 / 群语料 ROI / 关系考古 / 健康日记 / 暧昧探测 / 回复速度榜 / 主动指数榜 / 社交圈流动榜 / 话题图谱)—— 详见 docs/labs.md。会调 LLM 的 Lab 在 tab 上带紫色 AI 标。

聊天 DNA

类 Spotify Wrapped 的年度聊天人设卡:消息总数、最爱的人、活跃时段、emoji 偏好、最长一句话、最早开始聊的人 …… 全部纯统计、无 LLM——零 token 成本,离线也能出。一键导出长图分享。

高光瞬间

AI 从你和某位联系人的聊天记录里,挑出 5–8 段最有故事感的对话片段——表白、争吵、深夜聊人生、第一次见面、相互坦白。每段配一张可截图的卡片,自动生成标题和情绪标签。

灵魂提问机

AI 出 5 道只有你们俩才答得上的默契测试题("TA 最常吃的早餐是?""你们第一次见面在哪?"),翻面看答案。可以截图给对方做。

关系星图

把联系人按"共同群聊"聚拢的力导向图——同一个圈子的朋友会自动靠拢成簇,让你一眼看出社交圈层结构。自写的迷你 force-directed layout,零新增依赖。

平行宇宙对话

选一个联系人 + 输入一个"如果……"场景("如果我们五年前就认识"、"如果我现在跟 TA 求婚"、"如果我们是同事"),AI 用 TA 的人设生成一段虚构对话,逐字流式展开。复用 AI 群聊模拟的 persona 引擎。

每个 Lab 都支持白底分享图导出,footer 自带 welink.click + 日期,发朋友圈合适。

v0.2.x 增量 Lab

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

v0.3.x 增量 Lab

Lab数据源LLM一句话
🩺 健康日记私聊关键词(症状/就医)❌双向扫"感冒/发烧/医院",7 天合并成一次发作,看我 vs TA 们谁更常生病
🔥 暧昧探测私聊 5 类暧昧信号❌亲昵称呼/想念/深夜亲密/暧昧动作/暧昧表情,看跟谁最有"暧昧浓度"+ 双向度(仅供娱乐)
⚡ 回复速度榜私聊消息时间戳❌双向回复延迟中位数:谁秒回你 / 你秒回谁 / 最不对等
✋ 主动指数榜私聊对话开场(4h 分段)❌谁先打破沉默主动开口:你主动找的人 / 主动找你的人 / 最不对等
🌊 社交圈流动榜滑动 12 月消息量对比❌今年 vs 去年同期,给每个人贴流动标签:新晋核心 / 悄然淡出 / 逆袭回归
🗺️ 话题图谱Top 60 私聊高频词✅「我这段时间都在聊什么」,LLM 把高频词聚成 5-8 个带名字 + emoji 的主题

📰 每日社交简报 — 看昨天发生了什么

首页左侧 Tab「今日简报」,每天看昨天的社交摘要:

  • 总览数字:昨天总消息量 / 活跃联系人 / 活跃群聊
  • 高光片段:最长聊天 / 第一次出现的新话题
  • 建议主动联系:把"关系动态预测"里的 cooling / endangered 名单嵌入 banner,可直接点开聊
  • 历史列表:近 30 天每日简报横向 timeline,按日期查

懒生成 + 入库(ai_analysis.db.daily_digests),调试或重新索引后可强制重生成。零 LLM 默认形态(高光抽取走规则)。


⏰ 定时任务 — 让 AI 定期帮你盯聊天

侧边栏新 Tab「定时任务」(有新结果时角标显示未读红点)。写一条指令 + 选目标会话 + 选周期,系统就会定时跑 LLM,把结果送进应用内收件箱(markdown):

  • 任务类型:定时总结 / 待办挖掘 / 关键词盯梢 / 情绪变化 / 自定义 prompt
  • 分析范围:某个私聊 / 某个群 / 全部私聊 / 全部群聊
  • 周期:每天固定时间 / 每周几固定时间 / 每 N 小时间隔
  • 收件箱:跨任务汇总最近结果 + 未读数,可一键全部标记已读;每个任务也能看运行历史

纯本地 App 调度,只在打开时执行;关闭期间错过的下次打开补跑一次(不堆积)。任务定义存 scheduled_tasks 表,运行历史存 task_runs 表。


❄️ 断联预警 — 提醒正在消失中的连接

聊天 DNA 是"庆祝长期连接",断联预警是它的反面。扫所有私聊(总消息 ≥ 50 条)的 LastMessageTs,按静默天数 ≥ 30 排出 Top 30:

之最卡找谁
🥶 静默最久的高频好友聊得多但安静最久的那位
📚 历史聊得最多但已断联曾经的话题伙伴
⏳ 认识最久且当前断联从最早就在你列表里、现在不说话的人

三档分级人数:30-89 天 / 90-179 天 / 180+ 天。零 LLM、10 分钟缓存、可截图分享。


AI 分析

WeLink 内置完整的 AI 分析引擎,可对任意联系人、群聊或某一天的聊天记录发起对话式分析。

三种检索模式

模式工作方式适合场景
全量分析将选定时间范围内的全部消息送入 LLM 上下文深度关系分析、长期趋势总结
混合检索(RAG)FTS5 全文检索 + 语义向量检索,精准召回相关片段查找特定事件、关键词检索
时光机 AI跨所有对话的单日聚合分析「某天发生了什么」式的日记回顾

记忆提炼

LLM 批量阅读聊天记录,自动提炼关键事实(人名、事件、情感节点)并持久化存储。后续对话中,AI 可以调用这些「长期记忆」,而不依赖每次重新加载全量消息。

支持的 LLM 提供商(25+)

提供商说明
DeepSeek默认 deepseek-v4-pro,国产高性价比首选
豆包(火山方舟)字节 Doubao 系列,OpenAI 兼容;默认 doubao-seed-2-1-pro-260915
KimiMoonshot(月之暗面),支持超长上下文
OpenAI默认 gpt-6-astra,标准 API
Claude默认 claude-opus-5-5,通过原生 Messages API 接入
Gemini默认 gemini-3.8-flash,支持 OAuth 2.0 认证
Vertex AIGoogle Cloud Vertex AI,原生支持。认证方式:Service Account JSON → JWT → OAuth2 token(自动缓存刷新)。走 Vertex AI 的 OpenAI 兼容端点,支持所有 Gemini 模型
AWS Bedrock原生支持。认证方式:AWS SigV4 签名(手写实现,无 AWS SDK 依赖)。新版 Claude 使用 Mantle Messages API(默认 Opus 5.5),保留旧版 Runtime 配置路径
MiniMax国内版 + 国际版,默认 MiniMax-M3.1-Flash
GLM智谱 AI,默认 glm-5.3
GrokxAI Grok,默认 grok-4.7
通义千问(DashScope)阿里 Qwen 系列,OpenAI 兼容模式
腾讯混元Hunyuan-turbo / pro 等
百度千帆(文心一言)ERNIE-4.0 系列,OpenAI 兼容端点
OpenRouter一个 Key 接入 300+ 模型的聚合网关
Mistral AImistral-large / codestral 等
GroqLPU 极速推理,Llama / Mixtral 等开源模型
Together AI开源模型托管,价格友好
Fireworks AI开源模型高速托管
Perplexity内置联网搜索(Sonar 系列)
CohereCommand A+,企业 RAG 强项
硅基流动 SiliconFlow国内开源模型聚合(DeepSeek / Qwen / Llama 等)
零一万物(Yi)yi-large 系列
阶跃星辰(StepFun)默认 step-3.7-flash
Azure OpenAI企业版 OpenAI;Base URL 需填写自己的端点与部署名称
Ollama本地部署,完全离线,数据不出本机
自定义任意兼容 OpenAI 接口的模型服务

在设置页面填写提供商、Base URL、API Key 和模型名称即可。支持为 AI 对话和记忆提炼分别指定不同的模型。

Vertex AI 配置:选择 Google Vertex AI provider → 粘贴完整的 Service Account JSON → 填写 GCP Project ID 和 Region → 选择模型(默认 google/gemini-3.8-flash)

Bedrock 配置:选择 AWS Bedrock provider → 填写 AWS Access Key ID 和 Secret Access Key → 按区域填写 Mantle Base URL(默认 us-east-1)→ 填写 Model ID(默认 anthropic.claude-opus-5-5)

本地 Ollama 配置参考 ollama-setup.md,完整 AI 功能说明见 ai-analysis.md。


🎨 AI 文生图 — 让卡片有插画

三个使用场景,统一走一套生图引擎:

场景触发位置用图方式
群年报封面AI 群年报第一页16:9 横版插画,体现该群一年的"气质"
高光瞬间插画高光瞬间卡片背景1:1 方版抽象意象
联系人 AI 头像联系人画像 → 紫色 Sparkles 按钮LLM 先抽 3-5 个性格关键词 → 拼 prompt → 圆形构图、无人脸、无文字

实现细节

  • 4 个 provider 原生支持(设置页可同时配多组,第一组为默认,每张图调用可指定 profile):
    • doubao:火山方舟(豆包)即梦 doubao-seedream-3-0-t2i-250415
    • openai:gpt-image-1 / dall-e-3,默认请求 b64_json 省一次下载
    • siliconflow:FLUX schnell / FLUX dev / SD 3.5 等,国内便宜
    • gemini:Imagen 3,走 Generative Language API
  • 本地 hash 缓存:sha256(v2|provider|model|size|prompt) → ~/.welink/ai_images/<hash>.png。命中直接秒返,不重复调 API。老 v1 hash 缓存也兼容命中,避免升级后图全部失效重出
  • 同源代理:前端用 GET /api/image/cache/:hash 拿图(火山返回的临时 URL 24h 过期;html-to-image 导出分享卡也要求同源)
  • Provider 元数据自描述:GET /api/image/providers 返回 provider/model/size/key 跳转链接清单,前端零硬编码
  • 异步队列 + 进度条:后端 2 并发 worker pool 处理任务,前端 1.5s 轮询拿伪进度(0-100),可随时取消;状态全落 ai_analysis.db.image_tasks,进程崩了重启会把孤儿 running 任务标 failed
  • 🖼️ AI 画廊:所有生成过的图自动入库(images + FTS5 索引),侧边栏新 Tab,支持 prompt 全文搜索、scene/provider 过滤、收藏、下载、删除(软删 30 天后 GC)、一键基于原图重生成(改 prompt 或换尺寸)
  • Demo 模式写 SVG 占位图,不调真 provider

MCP — 在 Claude Code 里直接提问

WeLink 内置 MCP(Model Context Protocol) 服务器,让你在 Claude Code(CLI) 里用自然语言查询微信数据,无需打开浏览器。

完整配置见 mcp-server/README.md。

使用 DeepSeek Harness 的用户也可以安装 WeLink DSH 插件。插件默认不授权任何会话、不开放聊天原文;配置授权后可在 DSH 中按日期或关键词查询,支持私聊和群聊。该插件当前随源码提供,需要使用包含 Agent 查询接口的 WeLink 后端。

DSH 使用 WeLink 插件整理群聊待办的演示

演示使用虚构群聊数据:DSH 查询指定日期的消息,并整理出待办、负责人和待确认事项。


🔮 Skill 炼化 — 把聊天记录变成 AI 工具的能力包

把聊天记录里的人际关系,直接炼化成 Claude Code / Codex / Cursor 等 AI 编程工具的 Skill 文件包。 一次炼化,多处使用。

三种 Skill 类型

类型输入用途
contact 联系人分身和某联系人的全部聊天让 AI 用 TA 的语气帮你写邮件、起草回复、预演对话
self 我的写作风格我发出去的所有消息让 AI 用你自己的口吻写公众号、朋友圈、邮件,避免 AI 腔
group 群聊智囊某个群的集体聊天回答「这个群会怎么说」,把群的集体知识/术语/氛围封装起来

七种输出格式(一键切换)

格式目标工具产物路径
claude-skillClaude Code Skills(目录式)~/.claude/skills/<name>/SKILL.md + 附件
claude-agentClaude Code Subagent(单文件)~/.claude/agents/<name>.md(带 frontmatter)
codexOpenAI Codex CLI项目根 AGENTS.md
opencodeOpenCode Agent.opencode/agent/<name>.md
cursorCursor Rules.cursor/rules/<name>.mdc(支持 glob)
generic通用 Markdown工具无关,可粘贴到任何 AI 对话
lora-jsonl(旧版)SFT / LoRA 训练集ms-swift messages JSONL + 时间切分 + 训练/部署脚本

lora-jsonl 是旧版纯本地数据导出,不调 LLM、不上传聊天记录。支持训练“我的口吻”或指定联系人分身,连续短消息会合并为真实对话轮次,并按会话隔离、按时间生成 train / validation / test 三个集合。手机号 / 邮箱 / 身份证 / 卡号 / wxid 会做基础脱敏,但训练前仍应人工抽查;数据集和 adapter 都不要公开分享。新训练流程请使用「模型训练」,旧版任务与新版工作台分开保存,不会自动迁移。

炼化的内容

  • 性格特征:LLM 从真实对话里抽取的人物画像
  • 说话风格:句长、语气、用词偏好、标点习惯、emoji 使用
  • 高频词与口头禅:独特词汇和常用短语
  • 常聊话题:兴趣领域和专业方向
  • 关系背景:你和 TA 的关系推断(仅 contact 类型)
  • 代表性原话:5-8 条最能体现风格的消息片段(自动脱敏)
  • 使用注意事项:什么场景适合用、什么场景不适合

使用入口

  • 联系人深度画像头部 → 紫色 Sparkles 图标按钮
  • 群聊画像头部 → 紫色 Sparkles 图标按钮
  • 洞察页「个人自画像」卡 → 「炼化我的 Skill」按钮

Skills 管理

侧边栏新增「Skills」页面,集中管理所有已炼化的 Skill 包:

  • 持久化存储:每次炼化自动写入本地数据库(ai_analysis.db 的 skills 表),文件保存到 ~/.welink/skills/<id>/<filename>.zip
  • 后台异步执行:炼化任务在 goroutine 中运行,关闭弹窗、刷新页面都不会中断
  • 状态实时追踪:等待中 / 炼化中 / 成功 / 失败(含错误原因),页面每 2s 自动刷新
  • 搜索 + 筛选:按目标名/文件名/模型名搜索,按类型(联系人/自画像/群聊/群成员)和状态筛选
  • 表头排序:按目标、类型、格式、炼化时间升降序排列
  • 重新下载:已成功的任务随时可以重新下载 zip 文件,不需要重新炼化
  • Mac App 路径显示:炼化成功后显示保存到 ~/Downloads/ 的完整路径,可一键复制

隐私保护

  • 炼化前手机号、邮箱、身份证号自动脱敏
  • 整个过程只调用一次 LLM(约 5-15k token)
  • 产物是本地 zip 文件,由你决定是否分享

💕 关系动态预测 — 谁在悄悄变冷,谁值得主动联系

WeLink 不止告诉你"现在关系多热",而是前瞻性地判断每段关系的走向,并给出具体行动建议。

四档状态判定

扫描每个联系人最近 6 个月的消息节奏,对比最近 3 月 vs 前 3 月自动打档:

状态判定条件典型场景
🔥 升温最近 3 月消息增加 ≥50%新认识的人 / 深化中的关系
✅ 稳定波动 ±30% 内日常长期好友
❄️ 降温最近 3 月消息量不到前期一半开始疏远的信号
🚨 濒危前期 ≥10 条但 60 天没说过话长期联系人快失联

多维度信号增强

简单的「消息减少了」可能是双方都忙,结合多维信号才能识别到底是谁在疏远谁:

  • 主动占比趋势 — 过去你占 72%,现在降到 42% → 说明对方不再主动找你。差 ≥15pp 在 reason 里自动提示
  • 响应时延趋势 — TA 去年 10 分钟回你,现在平均 8 小时 → 「TA 回复从 X 分钟变成 Y 小时」(变慢 ≥3× 且原本 ≤1h 才提)
  • 连续冷却周数 — 基于客户端 localStorage 滚动 6 周快照,连续 ≥2 周处于 cooling/endangered 显示 🕐 红色徽章
  • 最后消息相对时间 — 30 / 60 / 90 天阶梯色阶

reason 文案示例:

最近 3 个月消息减少 65%(120 → 42);原本你更主动(72%),现在对方说得更多(58%);TA 回复从 12 分钟变成 8 小时

两种入口

  • AI 首页「建议主动联系」卡片 — Top 5 cooling + endangered,直接可点打开联系人详情。每张卡支持「🪄 写开场白」和「不再推荐此人」。「今日不再提醒」按日期关闭
  • 统计页「关系动态预测」section — 4 tab 完整列表(濒危/降温/稳定/升温),每条带 12 月迷你折线,点 sparkline 弹大图 modal(12 月柱状图 + 峰值标注 + 主动占比双进度条 + 响应时延对比)

🪄 AI 开场白草稿(行动闭环)

对 cooling / endangered 联系人,点「写开场白」→ 取最近 40 条消息 + 相识年数 + 沉默天数 → LLM 写 4 条不同调性(关心 / 回忆 / 调侃 / 约见)的破冰草稿,一键复制粘到微信。

每周变化摘要

AI 首页顶部的小 banner,对比上次快照(≥5 天前):「近 7 天变化:3 位关系降温 · 1 位回暖」。按 ISO 周关闭。

管理忽略名单

设置页加「关系预测 · 忽略名单」,首页点「不再推荐此人」后可在这里撤销。


📦 导出中心 — 数据一键搬家

把年度回顾、对话归档、AI 对话历史、记忆图谱四类内容,统一打包导出到 8 种目标:

笔记 / 文档平台

目标实现方式输出
Markdown本地打包单文件直下 / 多文件自动 .zip
NotionPOST /v1/pages + 自实现 Markdown→Blocks(标题/列表/引用/代码/表格)指定 Parent Page 下建新页
飞书文档upload_all → import_tasks 异步轮询获得 docx URL

云盘 / 对象存储

目标协议 / 认证覆盖服务
WebDAVHTTP PUT + Basic Auth + 递归 MKCOL坚果云 / Nextcloud / ownCloud / 群晖等
S3 兼容minio-go v7,支持 path-style / virtual-host 切换AWS S3 / Cloudflare R2 / 阿里云 OSS / 腾讯 COS / 七牛 / MinIO / Backblaze B2
Dropboxfiles/upload API + App Console 长期 Access Token(PAT 模式免 OAuth 回调)Dropbox
Google Drive完整 OAuth 2.0 + multipart upload,refresh token 自动刷新Google Drive
OneDriveMicrosoft Identity Platform v2 OAuth + Graph API PUTOneDrive(个人 / 工作账号)

Token 配置与既有 LLM 配置一样支持脱敏占位符 __HAS_KEY__,保存后不会泄露明文。

OAuth 类目标(Google Drive / OneDrive)使用流程

  1. 在目标平台的开发者控制台创建 OAuth Client,授权回调 URI 填 http(s)://<你的 WeLink 地址>/api/export/oauth/<gdrive|onedrive>/callback
  2. 把 Client ID / Secret 粘到导出中心配置卡 → 保存 → 点「授权」→ 浏览器跳转完成授权 → 自动回传 token
  3. 之后每次导出自动 refresh,token 过期不用管

🗄️ 数据库管理 — 分析师工作台

SQLite 数据直接暴露给懂 SQL 的用户,配 4 件套 工具:

  • SQL 模板:10 个预置常用查询(消息排行、联系人列表、群聊列表、AI 对话历史、Skill 记录、记忆提炼等),点一下填入编辑器 + 自动选数据库
  • 结果一键画图:结果 ≥2 列时点「图表」,第一列 X 轴 / 第一个数字列 Y 轴自动出柱状/折线(日期格式走折线)
  • 磁盘占用环形饼图:每个 DB 文件占比 + Tooltip + 彩色图例
  • SQL 历史 + 收藏:自动记录最近 20 条执行历史;点「收藏」起名保存常用 SQL,列表置顶展示

💬 自然语言查数据(中文问 AI 写 SQL)

在面板里输入中文问题,例如:

「我和老婆的第一条消息是什么时候」 「今年跟我妈聊了多少条消息」

LLM 会:

  1. 读取自动生成的 WCDB schema 摘要
  2. 输出 {db, sql, explain} JSON(严格限制 SELECT/PRAGMA only + LIMIT 50)
  3. 后端执行并返回结果表 / 自动画图

跨库联系人消息(mode=contact_messages):按备注模糊查 contact.db → md5 计算 Chat_xxx 表名 → 遍历 message_N.db 找到有该表的 DB 执行 SQL。"我和 XX 的..." 这类跨库问题现在也能直接回答。

结果表支持一键 CSV 下载。


数据分析功能

好友分析

  • 消息总量排行、关系热度变化(历史峰值 vs. 近一个月)
  • 聊天趋势折线图、24 小时活跃分布、聊天日历热力图
  • 词云分析、情感趋势曲线(按月,可切换仅对方/双方)
  • 撤回次数、红包/转账次数(分开统计,含时间线记录)、主动发起对话比例等社交特征
  • 共同群聊数
  • 聊天里程碑:初识日期 + 第一条消息预览、消息量门槛(100/500/1K/5K…)、最火月份、认识天数
  • 深夜守护统计:深夜消息占比、最活跃时段、深夜密友 Top 3
  • 渐行渐远的人:近一月消息量比历史峰值下降超过 80% 的联系人预警
  • 弹窗全屏模式:私聊和群聊弹窗支持全屏查看
  • 刷新保持:联系人/群聊弹窗状态写入 URL hash,刷新页面自动恢复

时光机

  • 以 3 个月为单位的可滑动日历热力图,覆盖全部历史
  • 点击任意日期查看当天私聊 + 群聊记录,或直接发起 AI 分析
  • 「去年今天」回忆横幅:自动检测 1-5 年前今天的聊天记录,点击查看

群聊分析 + 小团体检测 + 对比

  • 成员发言排行、活跃时间分布、高频词
  • 人物关系力导向图:互动频率可视化,支持拖拽和悬停高亮
  • 小团体检测:Louvain 社区检测 + 模块度 Q 兜底(Q<0.3 时不强行凑圈),基于真实 refermsg/chatusr 引用信号而非时间窗
  • 潜水成员检测:显示每个成员的最后发言时间(>180天红色 / >30天橙色),支持按消息数/最后发言/名字排序,快捷筛选 Top 3/10/50/全部
  • 💕 群内「我的 CP」:扫描引用消息(lt=49 <refermsg><chatusr>),列出跟我双向引用互动最多的成员 Top 3,挂在群画像顶部。比单纯 @ 或消息数更能识别"隐形聊友"
  • 👤 群友画像:点群成员榜里任意成员(不限好友),弹出 TA 的群内专属画像 —— 群内排名 / 消息占比 / 活跃天数 / 深夜发言比例、24h 时段分布、周分布、近一年月度趋势、消息类型分布、TA 的高频词、最近发言样本;是好友的还能一键跳私聊看「完整分析」
  • 🎬 群聊回放:按最近 N 条 / 按日期范围加载群消息,7 档倍速(实时 / 2× / 5× / 10× / 50× / 100× / 200×)按真实时间间隔回放,连续同发言人合并头像 + 日期分割线。支持全屏回放(Esc 退出)、智能节奏(冷场 >5 分钟直接跳过、发言密集按内容长度放慢到能读完)、快进步长可切 3 / 5 / 10 条;快捷键 空格 播放/暂停、→ 快进
  • 群聊搜索:支持按发言人筛选,结果可导出 TXT/CSV
  • 群聊活跃度对比:同时选中多个群对比消息量、成员数、日均消息、人均消息

群聊四件套 — 这个群的指纹

  • ⚡ 群号称卡(群的 MBTI):基于 hourly_dist / weekly_dist / type_dist / member_rank 规则派生 2-4 条标签 —— 深夜话唠 / 工作日正午群 / 晚八点饭后群 / 周末活跃 / 工作日只上班群 / 表情包战场 / 图包王国 / 链接集散地 / 语音派对 / 红包雨 / 消息洪流 / 静默多数派 / 潜水员联盟 等。零 LLM 零后端
  • 🕐 时钟指纹:7×24 小热图徽章,log 压缩着色,一眼识别「工作群作息 / 深夜局 / 周末亲友群」不同性格
  • 📊 群影响力指数:我发言后 30 分钟内有异发言者回应的比例 vs 群整体基线,Score = min(myRate/baseRate, 2) × 50。看你在哪个群更"有号召力"
  • 📖 AI 群年报:Spotify Wrapped 风格分页卡片 —— 年度概览 / 话痨榜 Top 3 / AI 精选 3 条金句(原文引用)/ 月度趋势柱状图 / 60-100 字 AI 叙事。每群每年可生成

群聊列表四维信息

  • 我的参与度:在每行副标展示「我 #N · X%」(在成员发言排行里的位置 + 消息占比)
  • 近期活跃度:旁边一个「30天 N 条」区分"已死"和"活跃"群
  • 活跃趋势箭头:最近 3 月 vs 前 3 月百分比变化,↑12% 绿 / ↓35% 红
  • 我最后发言时间:不同于群最后消息 —— 显示我自己在这个群潜水了多久

回复节奏分析(联系人深度画像)

  • 双向对比我 / 对方的回复速度(中位数、均值、秒回次数、慢回次数)
  • 按 24 小时分时段的平均回复速度柱状图
  • 消息间隔分布直方图:10秒 / 1分钟 / 10分钟 / 1小时 / 6小时 / 1天
  • 聊天密度曲线:按月统计消息间隔均值,自动判断升温 / 降温 / 平稳趋势

谁最像谁 — 联系人相似度分析

  • 基于消息类型分布、平均消息长度、表情偏好、互动方式等 18 维特征向量
  • 余弦相似度算法计算所有联系人间的聊天风格相似度
  • 展示共同高频词,发现说话最像的两个人

红包 / 转账全局总览

  • 全局 KPI:红包总数、转账总数、我发出、我收到
  • 月度收发趋势柱状图
  • 联系人红包转账排行,细分四个方向(发红包 / 收红包 / 发转账 / 收转账)

个人自画像

  • 汇总所有「我」方向的消息数据
  • 发出消息总数、平均字数、最活跃时段、联系过的人数
  • 最爱发消息的星期、最常联系的人
  • 24 小时个人发送分布

每日社交广度

  • 每天联系了多少个不同的人(不是消息数)
  • 年度曲线 + 日均 / 最广日统计,看到"社牛日"和"闭关日"

共同社交圈

  • 选择两个联系人,基于共同所在群聊推测他们的共同朋友圈
  • 列出共同群聊(小群优先)和推测的共同好友
  • 标记每个共同好友出现的群数,多群共现 = 关系更紧密

链接收藏夹

  • 自动扫描所有聊天中发过 / 收过的链接,按域名聚合
  • 支持搜索、按域名筛选、导出 CSV
  • 当作"个人书签库" — 那些在微信里分享过的好文章再也不会丢

消息撤回排行

  • 基于已有的撤回数据做"谁最爱撤回消息"排行 + 撤回率

词云交互

  • 悬浮显示词频 tooltip,点击固定详情卡(次数、排名、相对频率条)

全局统计

  • 关系热度分布五档:活跃 / 温热 / 渐冷 / 沉寂 / 零消息
  • 月度趋势、深夜聊天排行榜

纪念日

  • 自动检测生日(扫描"生日快乐"等关键词,按年份去重)
  • 友谊里程碑提醒(认识 100/365/1000/... 天)
  • 支持自定义纪念日(标题、日期、是否每年重复)
  • AI 首页「今天的纪念日」banner:客户端聚合 4 类当天命中(首条消息 MM-DD 对应的整周年 / 检测生日 / 0 天里程碑 / 自定义),Hero 上方小卡,单条点击直接开联系人,多条跳纪念日 tab,按日期关闭

全局搜索增强

  • 跨联系人全局关键词搜索(热门推荐词 + 搜索历史持久化)
  • 时间范围筛选(预设一周/一月/三月/一年 + 自定义日期)
  • 搜索结果排序(匹配数 / 最新时间 / 联系人消息量)
  • 统计摘要条 + Top 5 迷你柱状图
  • 即输即搜(2 字以上 500ms debounce 自动搜索)
  • 空结果建议(换关键词 / 清除时间筛选)

链接收藏夹增强

  • 来源筛选(全部 / 私聊 / 群聊)+ 方向筛选(我发出 / 我收到)
  • 时间范围筛选 + 联系人快捷选择(Top 30 按链接数排序)

其他

  • 认识时间线(垂直河流式,按年月展开,支持播放回忆动画)
  • 联系人对比(勾选 2-6 人,雷达图 + 柱状图 + 数据明细)
  • 社交体检报告(健康指数 + 洞察,支持分享为图片)
  • 全局字号调节(设置页 12-22px 滑块,Docker/macOS/Windows 全平台支持)
  • 时间范围筛选(预设 + 自定义)
  • 隐私屏蔽(联系人 / 群聊,仅本地生效)

使用技巧

完整说明见 docs/ux.md,高频用到的几项:

功能快捷键 / 入口做什么
命令面板⌘K / Ctrl+K搜索联系人 / 群聊 / AI 对话历史(支持拼音首字母,输入 zw 能搜到「张伟」);触发备份、诊断、刷新索引、切主题、反馈问题等动作;空查询显示最近打开
Tab 快捷切换⌘1 .. ⌘9首页 / 今日简报 / 统计 / 联系人 / 群聊 / 搜索 / 日历 / 纪念日 / Skills(定时任务、AI 画廊等 tab 走侧边栏点选,无 ⌘ 绑定)
🔒 锁屏保护设置 → 锁屏 PIN / ⌘L / Ctrl+L设 4-32 位 PIN 后手动或闲置超时(30min / 1h / 2h)自动锁屏;可配置 App 启动即锁。全屏毛玻璃遮罩 + PIN 输入框,PIN 以 bcrypt 哈希存 preferences.json
一键诊断设置 → 诊断数据目录健康 / 索引状态 / LLM 探活 / 磁盘占用;支持一键复制为 Markdown 贴 issue
AI 数据备份 / 恢复设置 → AI 数据备份VACUUM INTO 自洽快照;App 模式写下载目录 + 可在 Finder 定位,Docker 模式触发浏览器下载
多账号切换设置 → 数据目录·多账号切换把多个 decrypted/ 作为 profile 保存,热替换无需重启
AI 对话全局搜索⌘K 输入关键词跨所有联系人 / 时光机 / AI 首页的对话里做子串搜索,命中展示上下文片段
索引进度 + 取消初始化屏幕真实进度条 + ETA + 当前处理联系人;中途可取消
导出目录可配置设置 → 导出图片保存位置默认 ~/Downloads,可改成任意 Home 下目录;保存后 toast 里有「在 Finder 中显示」
启动自动探测—找不到数据目录时,Docker / App 各自展示针对性引导;只读盘会给出警告
一键反馈问题设置 → 诊断 → 反馈问题,或 ⌘K「反馈」自动附带诊断报告 + 环境信息;没 GitHub 账号可复制 md / 下载文件贴到任意地方
界面崩溃自救—ErrorBoundary 接住异常,不会白屏;可一键带 stack 反馈
设置页内搜索设置页顶部搜索框输入"下载"/"LLM" 等关键词过滤 section
自动检查新版本启动 5s 后后台 GitHub API 轮询有新版本弹 Release Notes Modal 展示 changelog;「我先用着」记住版本不再烦人
LLM 用量统计设置 → LLM 用量累计字符 / 估算 tokens,按 provider 分组
有趣发现统计页底部字数换算 / 最话痨一天 / 互动档位 / 陪伴时长 / 微信 MBTI / 首次相遇 / 沉默最久 / Ghost 月 / 表情包浓度 / 独白指数 / 最像我的朋友 / 我的人设 / 秘语雷达 / 词语年鉴 / 失眠陪聊榜
关系动态预测AI 首页 + 统计页底部4 档趋势 + 建议主动联系 Top 5 + AI 开场白草稿 + 12 月折线大图
导出中心侧边栏「导出」年度回顾 / 对话归档 / AI 历史 / 记忆图谱 × 8 种目标(Markdown / Notion / 飞书 / WebDAV / S3 / Dropbox / Google Drive / OneDrive)
数据库查询侧边栏「数据库」SQL 模板 + 自然语言问 AI 写 SQL + 结果画图 + SQL 历史收藏
真实头像所有聊天回放 / 日聊面板 / 搜索上下文对方和「我」都显示真实头像,无头像时降级彩色首字母圆圈
每日社交简报侧边栏「今日简报」Tab看昨天的社交摘要:总消息量 / 活跃联系人 / 高光片段 / 建议主动联系;每天懒生成 + 入库
AI 文生图设置 → AI 文生图配置豆包即梦 / OpenAI 兼容生图 API,用于群年报封面 / 高光插画 / 联系人 AI 头像
断联预警实验室 → ❄️ 断联预警静默 ≥ 30 天的老朋友 Top 30 + 三档分级 + 三张"之最"卡,提醒正在消失的连接
AI 虚拟群聊实验室 → 🎭 虚拟群聊任意 2-8 个联系人组虚拟群,AI 用每个人的分身画像扮演;批量 N 轮 + 气泡 TTS + 会话持久化
🎮 互动小说联系人详情页头部 → 紫色 BookOpen 按钮把 TA 当 NPC,写一段章节化、有选项、5 种结局的视觉小说;可读档回滚、Wrapped 风格回顾、长图导出
移动端配对设置 → 移动端配对(仅 PC 本机可开)生成 token + LAN IP → 手机 App 扫码验证;本机回环外只能 verify,不能改 token
SFT 工作台(v0.4.0)AI 工作台 → 模型训练准备与审核样本、连接 Mac / GPU Worker、预检训练、对比评测、导出 Adapter 和接入试聊

快速开始

第一步:解密微信数据库

把手机聊天记录同步到电脑后(微信 → 设置 → 通用 → 聊天记录迁移),需要使用与系统和微信版本兼容的工具解密。原 ylytdeng/wechat-decrypt 仓库目前不可用;社区项目 WeinanHu/wechat-decrypt 可供参考,但其输出与 WeLink 的兼容性尚未验证,请先检查工具来源、权限和使用说明。

解密后生成 decrypted/ 目录(含 contact/contact.db 和 message/message_N.db)。

第二步:启动 WeLink

Docker 模式(将 decrypted/ 放在仓库根目录内):

cd welink
docker compose up

访问 localhost:3418 开始使用。

完整 Docker 部署指南(环境变量 / Volume / 反代 HTTPS / 升级 / 多 profile / K8s 等)见 docs/docker.md。

macOS / Windows App(无需 Docker):前往 GitHub Releases 下载,启动后在设置页选择 decrypted/ 目录即可。

端口说明:详见下方端口与自定义章节。

没有数据?先试试 Demo

docker compose -f docker-compose.demo.yml up

或直接访问 https://demo.welink.click。

Demo 数据以阿森纳 2025/26 赛季一线队球员与教练组为联系人,消息内容充满更衣室气息。COYG! 🔴⚪


macOS App 安装说明

系统要求:macOS 12(Monterey)及以上

  1. 前往 GitHub Releases 下载最新 WeLink.dmg
  2. 拖入 /Applications,双击运行

提示「无法打开」? 右键 → 「打开」→ 再次点击「打开」。若仍无效:xattr -cr /Applications/WeLink.app

完整指南(配置路径 / 端口自定义 / 升级 / 多 profile / FAQ)见 docs/install-macos.md。从源码构建:make dmg。

Windows App 安装说明

系统要求:Windows 10 1903 及以上

  1. 下载 WeLink-windows-amd64.zip,解压后双击 WeLink.exe
  2. 如提示缺少 WebView2,从 Microsoft 官网 安装 Evergreen Bootstrapper
  3. SmartScreen 拦截时点「更多信息」→「仍要运行」

完整指南(%APPDATA%\WeLink 配置路径 / 端口自定义 / 升级 / 多 profile / FAQ)见 docs/install-windows.md。从源码构建:make exe。


端口与自定义

WeLink 启动时会占用以下端口:

运行方式后端端口前端端口说明
macOS / Windows App8080—内置 WebView,后端直接监听 8080,无需额外端口
Docker Compose8080(容器内)3418 → 容器 80浏览器访问 localhost:3418
本地开发80803418后端 go run .,前端 npm run dev

自定义端口

macOS / Windows App:在设置页修改端口,或编辑 preferences.json:

{ "port": "9090" }

也可以通过环境变量覆盖:

PORT=9090 ./WeLink

Docker Compose:修改 docker-compose.yml 的端口映射:

ports:
  - "5000:80"  # 改为 5000

本地开发:

  • 后端端口:编辑 config.yaml 的 server.port,或 PORT=9090 go run .
  • 前端端口:编辑 frontend/vite.config.ts 的 server.port

推荐运行配置

数据规模消息量推荐内存首次索引时间
轻量< 50 万条2 GB< 30 秒
中等50–200 万条4 GB1–3 分钟
重度200 万条以上8 GB+3–10 分钟

首次使用建议先选「近 6 个月」体验,确认无误后再切换到「全部数据」。


整体架构

                       ┌──────────────────────────────────────────┐
                       │             终端用户 (浏览器 / App)        │
                       └────────────────┬─────────────────────────┘
                                        │ HTTP / SSE
                                        ▼
          ┌───────────────────────────────────────────────────────┐
          │                      前端 (React)                     │
          │   Dashboard · AI 对话 · 设置 · 数据库 · 记忆库 · 播客   │
          └────────────────┬──────────────────────────────────────┘
                           │ REST + SSE
                           ▼
          ┌───────────────────────────────────────────────────────┐
          │              后端 (Go + Gin, 单 binary)               │
          │                                                       │
          │  ┌─────────┐  ┌────────┐  ┌──────┐  ┌──────┐  ┌────┐ │
          │  │ 统计分析 │  │ AI/LLM │  │ RAG  │  │ 记忆 │  │ TTS│ │
          │  │  服务   │  │ 多 provider│ FTS+向量│  提炼 │  代理│ │
          │  └─────────┘  └────┬───┘  └──┬───┘  └──────┘  └────┘ │
          │                    │         │                        │
          │              ┌─────▼─────────▼────┐                   │
          │              │   DB 管理器 (纯 Go) │                   │
          │              └─────┬─────────┬────┘                   │
          └────────────────────┼─────────┼────────────────────────┘
                               │         │
                      ┌────────▼───┐   ┌─▼──────────────┐
                      │ 解密后的    │   │ ai_analysis.db │
                      │ 微信 DB     │   │ AI 对话/记忆/  │
                      │ (contact/   │   │ 向量索引/播客   │
                      │  message)   │   │ 历史           │
                      └─────────────┘   └────────────────┘
                               ▲
                               │ 本地解密(不出机器)
                               │
                      ┌────────┴─────────────┐
                      │ wechat-decrypt       │
                      │ (从微信进程内存取 key) │
                      └──────────────────────┘

  外部可选集成(全部用户自备凭证)
  ─────────────────────────────────────────────────────────────────
  LLM:   OpenAI / Anthropic / Gemini / DeepSeek / 豆包 / Kimi / Ollama / Vertex / Bedrock
         / OpenRouter / SiliconFlow / DashScope / 混元 / 千帆 / GLM / MiniMax / Mistral
         / Groq / Together / Fireworks / Perplexity / Cohere / Yi / StepFun / Azure ... (共 25+)
  Image: 豆包即梦(火山方舟,OpenAI 兼容 /images/generations)
  导出:  Markdown / Notion / 飞书 / WebDAV / S3 / Dropbox / Google Drive / OneDrive
  MCP:   Claude Code / Claude Desktop / Cline / Continue / Windsurf / Zed / ... (独立 Go binary)
  TTS:   OpenAI / Azure / Edge-TTS (播客功能)
  移动:  PC 端配对 token + LAN IP → 手机扫码访问(Phase 1)

关键设计

  • 本地优先:微信数据库全程在本地机器解密、索引、检索;只有你明确触发 AI 对话时才会把相关片段发到你配置的 LLM 提供商
  • 单 binary 部署:后端 Go 源码编译成一个可执行文件,内嵌前端静态资源,Docker 镜像 < 50MB,也可打包成 macOS / Windows 桌面 App
  • 零 CGO:SQLite 用 modernc 纯 Go 实现,向量检索/FTS 全部走 Go,跨平台编译不依赖 C 工具链
  • MCP 集成:独立的 mcp-server binary 通过本地 HTTP 反向代理后端 API,让 Claude Code 等 MCP 客户端能直接用自然语言查询你的聊天数据

技术栈

层次技术
后端Go + Gin
前端React 18 + TypeScript + Tailwind CSS
数据库SQLite(modernc,纯 Go,无 CGO)
全文检索SQLite FTS5
向量检索余弦相似度(纯 Go,无外部依赖)
AI / LLM25+ provider 原生支持(OpenAI / Anthropic / Gemini / DeepSeek / 豆包 / Kimi / Vertex / Bedrock / Ollama / OpenRouter / Azure / 自定义 ……)
AI 文生图火山方舟(豆包)即梦,OpenAI 兼容 /images/generations;本地 hash 缓存
中文分词go-ego/gse
可观测性slog 结构化日志 + LLM / Embedding / RAG 调用 timing 埋点
部署Docker Compose · macOS App · Windows App · 移动端配对(Phase 1)

API 文档:启动后访问 localhost:3418/swagger/。架构细节与分层职责见 docs/architecture.md,更多技术文档见 docs/。


数据安全

基础分析在运行 WeLink 的设备上处理。使用云端 AI 或远程训练时,相关聊天片段或训练样本会发送到你选择的服务或训练环境;训练产物也可能记住私人内容。请仅处理有权使用的数据,并妥善保护数据库、密钥和模型。

感谢

感谢原 ylytdeng/wechat-decrypt 项目的开源贡献。微信数据库需要先通过兼容工具解密,WeLink 本身不提供自动解密。

开源协议

本项目采用 GNU Affero General Public License v3.0 (AGPL-3.0) 协议。

Star History

Star History Chart

Comments

Loading…

Similar plugins

dsh-better-wechat

by CH3SH-LC

本地优先的微信消息整理助手:把电脑微信聊天变成可检索、可筛选、可复盘的个人工作台。采集、解密与索引全部在本机完成,只有本次分析选中的消息文本会交给 DSH 里的模型;免打扰群可一键忽略。

Tools & CapabilitiesManifest valid

★ 6

MIT

Python

Oct 15, 2026

dsh plugin --profile web add dsh-better-wechat

by mirrors036

Windows WeChat 4.x chat export toolchain shipped as a skill: discovers SQLCipher shards, decrypts, exports and merges them; conversion, stats, AI relationship analysis and HTML reporting delegate to t

Tools & CapabilitiesManifest valid

★ 0

MIT

JavaScript

Nov 3, 2026

dsh plugin --profile web add dsh-plugin-wechat-analysis

by lemoncat7

Long-lived AI companions with isolated memory, WeChat channels, Skills, schedules, heartbeat concerns, and a dependency-aware task board.

Workflow & AutomationManifest valid

★ 3

↓ 1.5k/wk

MIT

TypeScript

Nov 2, 2026

dsh plugin --profile web add @lemoncat7/dsh-partner

by thawline

通到微信:DSH 里的 AI 伙伴和微信双向互通(读本地库收消息、UI 自动化发消息)。修改版,基于 Yuuyuko-uu/dsh-wechat-bridge。

Tools & CapabilitiesManifest valid

★ 14

↓ 300/wk

MIT

Python

Nov 5, 2026

dsh plugin --profile web add dsh-wechat-bridge

by Iambatman1928

Chat agent for a DeepSeek Harness session: characters and personas, several archive threads per character, an undoable/rewindable local transcript, and an event book.

Tools & CapabilitiesUI & ExperienceManifest valid

★ 0

MIT

JavaScript

Sep 25, 2026

dsh plugin --profile web add dsh-xingye

by Cyrene-xl

DeepSeek Harness 插件:增加「纯文本对话模式」agent 预设——整份替换系统提示词进行纯角色对话,只保留联网搜索与表情包。随包人设文本整理自开源项目 Cyrene-Agent(MIT)。

Development & InfrastructureManifest valid

★ 4

NOASSERTION

JavaScript

Oct 4, 2026

dsh plugin --profile web add dsh-cyrene-chat