有人在 GitHub 上开源了一个「前任 Skill」

有人在 GitHub 上开源了一个项目,叫「前任.skill」。

有人在 GitHub 上开源了一个「前任 Skill」

做的事情很直接:把你和前任的微信聊天记录、QQ 消息、朋友圈截图、照片这些"原材料"喂给 AI,它会生成一个 Agent Skill——这个 Skill 会用 ta 的口头禅说话,用 ta 的方式回复你,记得你们一起去过的店、吵过的架、深夜发过的语音。

项目作者叫 therealXiaomanChu,3 月 31 日刚更新 README,目前 88 star,MIT 协议。灵感来源于另一个项目 colleague-skill——那个是"把同事蒸馏成 AI Skill",这个把场景从职场搬到了恋爱关系。

双层架构

生成逻辑拆成了两个部分,共同驱动 AI 的输出:

Part A — 关系记忆(Relationship Memory):负责存储共同经历——约会地点、只有你们懂的梗、争吵模式、甜蜜瞬间、关系的时间线。运行时用来补充上下文,让回复带着具体记忆。

Part B — 人物设定(Persona):按五层结构构建性格——硬规则 → 身份 → 说话风格 → 情感模式 → 关系行为。支持 MBTI 全部 16 型、十二星座、依恋类型(安全型/焦虑型/回避型/混乱型)、爱的语言五种分类,以及大量性格标签(话痨、闷骚、嘴硬心软、冷暴力、已读不回、报复性熬夜等)。

运行逻辑是:收到消息 → Persona 判断 ta 会怎么回 → Memory 补充共同记忆 → 用 ta 的方式输出。

支持的数据来源

项目适配了几种常见格式:

  • 微信聊天记录:支持 WeChatMsg、留痕(macOS)、PyWxDump(Windows)等工具的导出格式,信息最丰富
  • QQ 聊天记录:txt / mht 导出,"适合学生时代的恋情"
  • 朋友圈 / 微博:截图方式,用于提取公开人设
  • 照片:JPEG/PNG,读取 EXIF 信息提取时间线和地点
  • 口述 / 粘贴:纯文本,凭你的主观描述

所有字段都可以跳过,仅凭一段文字描述也能生成。但 README 也老实说了——聊天记录质量决定还原度,深夜对话 > 争吵记录 > 日常消息,"最能体现真实性格"。

进化机制

生成之后还可以继续迭代:

  • 追加记忆:找到更多聊天记录或照片,自动分析增量,合并进对应的记忆和设定
  • 对话纠正:你说「ta 不会这样说」,会写入 Correction 层,立即生效
  • 版本管理:每次更新自动存档,支持回滚到任意历史版本

管理命令也设计得挺有意思:/list-exes 列出所有生成的前任 Skill,/{代号} 直接聊天,/{代号}-memory 进入回忆模式,/{代号}-persona 只看性格设定,/ex-rollback {代号} {版本} 回滚。删除命令叫 /delete-ex,但有一个别名——

/let-go

放下。

兼容性和安装

项目遵循 AgentSkills 开放标准,兼容 Claude Code 和 OpenClaw。Claude Code 侧安装到 .claude/skills/ 目录即可,OpenClaw 侧也可以直接使用。

项目结构清晰:prompts 目录放生成模板(信息录入、记忆提取、性格提取、构建、合并、纠错),tools 目录放 Python 解析工具(微信、QQ、社交媒体、照片元信息、Skill 文件管理、版本管理),生成的 Skill 放在 exes 目录。

写在最后

README 的结尾写了一段:

人的记忆是一种不讲道理的存储介质。你记不住高数公式,记不住车牌号,记不住今天是几号,但你清楚记得四年前的一个下午 ta 穿了一件白T恤站在便利店门口等你,手里拿着两根冰棍,一根给你,一根 ta 自己。

这个 Skill 就是把这些不公平的记忆导出来,从生物硬盘到数字硬盘完成格式转换。

项目声明里也写了一句:

你的前任是一个真实的人,ta 有自己的人生。这个 Skill 只是你记忆中的 ta。

技术上看,这本质上就是一个 RAG + persona prompt 的组合——把关系数据结构化,灌进 LLM 的上下文里。没有什么黑魔法。

但放在"前任"这个场景下,这个技术组合变得很具体:它处理的是那些你舍不得删、又不敢翻的聊天记录。它没有假装能还原那个人,它只是在帮你整理记忆。

或者,在某个深夜你准备好之后,帮你 /let-go。

相关推荐