创意实验室(Labs)
侧边栏「实验室」Tab,集合了一组好玩、可截图分享的小工具。和"分析"路线不同,这一组以"卡片化、像 Spotify Wrapped 一样" 为目标——v0.2.0 一次新增 5 个。
每个 Lab 都支持白底分享图导出,footer 自带 welink.click + 当前日期。
入口
侧边栏 → 实验室 → 顶部 5 个 Tab:
- 🧬 聊天 DNA
- ✨ 高光瞬间
- 💭 灵魂提问
- 🌌 平行宇宙
- 🪐 关系星图
早先版本里的 AI 群聊模拟 仍在群聊详情里,不在实验室 Tab 内。
1. 聊天 DNA
类似 Spotify Wrapped 的年度个人卡:
- 总消息数 / 我发的占比 / 最常聊的人 Top 5
- 活跃时段(凌晨派?深夜派?)
- 最爱用的 emoji 与开场白
- 最长一句话 + 最长单日消息数
- 最早开始聊的人("你们已经聊了 N 年")
- 平均回复时延中位数
纯统计,不调 LLM——零 token 成本,离线也能出。
接口:GET /api/me/dna(10 分钟缓存,?refresh=1 强制重算;Reinitialize 切换时间范围后旧缓存自动失效)。
2. 高光瞬间
AI 从你和某位联系人的全部聊天记录里,挑出 5–8 段最有故事感的对话片段:表白、争吵、深夜聊人生、第一次见面、相互坦白、玩笑回忆 ……
每段配一张可截图的卡片,自带 LLM 生成的标题("那次差点崩掉的电话")和情绪标签。可分享。
接口:POST /api/contacts/highlights,body:{username, count?}。
3. 灵魂提问机
AI 出 5 道只有你们俩才答得上的默契测试题——基于你们真实聊过的内容,比如:
- "TA 最常吃的早餐是?"
- "你们第一次见面在哪?"
- "TA 提过最喜欢的电影是?"
每题 4 个选项,翻面看答案。可截图给对方做。
接口:POST /api/contacts/soul-quiz,body:{username}。
4. 平行宇宙对话
选一个联系人 + 输入一个"如果……"场景,AI 用 TA 的人设引擎生成一段虚构对话,SSE 流式逐字展开:
- 如果我们五年前就认识
- 如果我们是同事
- 如果我现在跟 TA 求婚
- 如果我们一起去东京旅行
- 如果我们重新认识一次
复用 AI 群聊模拟 的 persona 引擎,单人版。
接口:POST /api/ai/parallel-chat,body:{username, scenario, turns?, sample_count?, profile_id?},返回 SSE 流。
5. 关系星图
把所有联系人按"共同群聊"聚拢成一张力导向图——同一个圈子的人会自动靠拢成簇。让你一眼看出社交圈层结构。
实现说明:自写的 mini force-directed layout,零新增依赖(不引 d3-force / vis.js)。节点统一主题绿,圈层差异通过位置体现而非颜色。
接口:GET /api/me/relation-graph。
设计约束
- 统一主题绿:所有 Lab 主按钮、Hero 卡片头都用
#07c160,不再有早期五彩渐变 - 白底导出:分享图固定白底 + 中性灰 footer,不受
html.dark主题影响 - 错误友好:联系人不存在 / AI 未配置 / 流中断,都给明确提示
- 缓存策略:DNA 全局 10 分钟缓存;其它 Lab 每次实时算
隐私
5 个 Lab 全部本地处理(DNA / 关系星图)或仅把"必要的聊天片段"送入你自己配置的 LLM(高光 / 灵魂提问 / 平行宇宙)。不会上传到 WeLink 服务器(项目本身没有任何后端服务器)。