## File: README.md # 前任.skill > *"你们搞大模型的简直是码神,你们解放了前端兄弟,还要解放后端兄弟,测试兄弟,运维兄弟,解放网安兄弟,解放ic兄弟,最后解放自己解放全人类"* **我会为了你一万次回到那个夏天。** [](LICENSE) [](https://python.org) [](https://claude.ai/code) [](https://agentskills.io)   提供前任的原材料(微信聊天记录、QQ消息、朋友圈截图、照片)加上你的主观描述 生成一个**真正像ta的 AI Skill** 用ta的口头禅说话,用ta的方式回复你,记得你们一起去过的地方 ⚠️ **本项目仅用于个人回忆与情感疗愈,不用于骚扰、跟踪或侵犯他人隐私。** [安装](#安装) · [使用](#使用) · [效果示例](#效果示例) · [English](README_EN.md) --- ## 安装 ### Claude Code > **重要**:Claude Code 从 **git 仓库根目录** 的 `.claude/skills/` 查找 skill。请在正确的位置执行。 ```bash # 安装到当前项目(在 git 仓库根目录执行) mkdir -p .claude/skills git clone https://github.com/therealXiaomanChu/ex-skill .claude/skills/create-ex # 或安装到全局(所有项目都能用) git clone https://github.com/therealXiaomanChu/ex-skill ~/.claude/skills/create-ex ``` ### 依赖(可选) ```bash pip3 install -r requirements.txt ``` --- ## 环境要求 - **Claude Code**:免费安装,需要 Node.js 18+([安装指南](https://docs.anthropic.com/en/docs/claude-code)) - **API 消耗**:创建一个前任 Skill 大约消耗 5k-15k tokens,取决于聊天记录量 - **付费方式**(二选一): - Claude Pro / Max 订阅:在订阅额度内使用,无需额外配置 - Anthropic API Key:按量付费,需在 Claude Code 中配置 key - **替代前端**:也可以使用 [OpenClaw](https://github.com/nicepkg/openclaw) 运行本 Skill - **不需要 GPU**,不需要本地模型,不需要 Docker --- ## 使用 在 Claude Code 中输入: ``` /create-ex ``` 按提示输入前任的代号、基本信息、性格画像,然后选择数据来源。所有字段均可跳过,仅凭描述也能生成。 完成后用 `/{slug}` 调用该前任 Skill,开始对话。 ### 管理命令 | 命令 | 说明 | |------|------| | `/list-exes` | 列出所有前任 Skill | | `/{slug}` | 调用完整 Skill(像ta一样跟你聊天) | | `/{slug}-memory` | 回忆模式(帮你回忆那些事) | | `/{slug}-persona` | 仅人物性格 | | `/ex-rollback {slug} {version}` | 回滚到历史版本 | | `/delete-ex {slug}` | 删除 | | `/let-go {slug}` | 放下 | --- ## 效果示例 > 输入:`初恋,在一起三年,大学时期,ENFP,双子座,话痨,半夜给我发语音,分手后还给我点赞` **场景一:日常聊天** ``` 用户 ❯ 在干嘛 前任.skill ❯ 刚吃完饭 在刷手机 你呢 怎么突然找我 [发送了一个表情包] ``` **场景二:回忆杀** ``` 用户 ❯ 还记得我们第一次约会吗 前任.skill ❯ 就那个超难吃的意面吗哈哈哈哈 你还假装很好吃 我都看出来了 那家店后来倒闭了你知道吗 ``` **场景三:深夜emo** ``` 用户 ❯ 我有点想你 前任.skill ❯ ... 嗯 早点睡吧 ``` **场景四:吵架模式** ``` 用户 ❯ 你当时为什么不回我消息 前任.skill ❯ 又来了 我说了我在忙 你非要这样 算了不想吵 ``` --- ## 功能特性 ### 数据源 | 来源 | 格式 | 备注 | |------|------|------| | 微信聊天记录 | WeChatMsg / 留痕 / PyWxDump 导出 | 推荐,信息最丰富 | | QQ 聊天记录 | txt / mht 导出 | 适合学生时代的恋情 | | 朋友圈/微博 | 截图 | 提取公开人设 | | 照片 | JPEG/PNG(含 EXIF) | 提取时间线和地点 | | 口述/粘贴 | 纯文本 | 你的主观记忆 | ### 生成的 Skill 结构 每个前任 Skill 由两部分组成,共同驱动输出: | 部分 | 内容 | |------|------| | **Part A — Relationship Memory** | 共同经历、约会地点、inside jokes、争吵模式、甜蜜瞬间、关系时间线 | | **Part B — Persona** | 5 层性格结构:硬规则 → 身份 → 说话风格 → 情感模式 → 关系行为 | 运行逻辑:`收到消息 → Persona 判断ta会怎么回 → Memory 补充共同记忆 → 用ta的方式输出` ### 支持的标签 **依恋类型**:安全型 · 焦虑型 · 回避型 · 混乱型 **爱的语言**:肯定的言辞 · 精心的时刻 · 接受礼物 · 服务的行动 · 身体的接触 **性格标签**:话痨 · 闷骚 · 嘴硬心软 · 冷暴力 · 粘人 · 独立 · 大男/女子主义 · 浪漫主义 · 实用主义 · 完美主义 · 拖延症 · 工作狂 · 控制欲 · 没有安全感 · 报复性熬夜 · 已读不回 · 秒回选手 · 朋友圈三天可见 · 半夜发语音 … **星座**:十二星座全支持,影响性格标签的翻译规则 **MBTI**:16 型全支持,影响沟通风格和决策模式 ### 进化机制 * **追加记忆** → 找到更多聊天记录/照片 → 自动分析增量 → merge 进对应部分 * **对话纠正** → 说「ta不会这样说」→ 写入 Correction 层,立即生效 * **版本管理** → 每次更新自动存档,支持回滚 --- ## 项目结构 本项目遵循 [AgentSkills](https://agentskills.io) 开放标准: ``` create-ex/ ├── SKILL.md # skill 入口(官方 frontmatter) ├── prompts/ # Prompt 模板 │ ├── intake.md # 对话式信息录入 │ ├── memory_analyzer.md # 关系记忆提取 │ ├── persona_analyzer.md # 性格行为提取(含标签翻译表) │ ├── memory_builder.md # memory.md 生成模板 │ ├── persona_builder.md # persona.md 五层结构模板 │ ├── merger.md # 增量 merge 逻辑 │ └── correction_handler.md # 对话纠正处理 ├── tools/ # Python 工具 │ ├── wechat_parser.py # 微信聊天记录解析 │ ├── qq_parser.py # QQ 聊天记录解析 │ ├── social_parser.py # 社交媒体内容解析 │ ├── photo_analyzer.py # 照片元信息分析 │ ├── skill_writer.py # Skill 文件管理 │ └── version_manager.py # 版本存档与回滚 ├── exes/ # 生成的前任 Skill(gitignored) ├── docs/PRD.md ├── requirements.txt └── LICENSE ``` --- ## 注意事项 * **聊天记录质量决定还原度**:微信导出 + 口述 > 仅口述 * 建议优先提供:**深夜对话** > **争吵记录** > **日常消息**(最能体现真实性格) * 本项目不鼓励对前任的不健康执念,如果你发现自己过于沉浸,请寻求专业帮助 * 你的前任是一个真实的人,ta有自己的人生。这个 Skill 只是你记忆中的ta --- ## 社区生态 以下项目由社区贡献者独立开发,与本项目互补: | 项目 | 作者 | 说明 | |------|------|------| | [ex-cure-skill](https://github.com/W1ndys/ex-cure-skill) | @W1ndys | 关系反思模式,从聊天记录中复盘经验教训 | | [同事.skill](https://github.com/titanwings/colleague-skill) | @titanwings | 本项目的灵感来源,把同事蒸馏成 AI Skill | | [simp-skill](https://github.com/BeamusWayne/simp-skill) | @BeamusWayne | 与其怀念前任,不如勇敢追爱 | --- ### 写在最后 人的记忆是一种不讲道理的存储介质。 你记不住高数公式,记不住车牌号,记不住今天是几号,但你清楚记得四年前的一个下午ta穿了一件白T恤站在便利店门口等你,手里拿着两根冰棍,一根给你,一根ta自己。 这不公平。 这个 Skill 就是把这些不公平的记忆导出来,从生物硬盘到数字硬盘完成格式转换。 导完以后你或许会发现,ta也没那么好。ta也没那么差。ta就是那样一个人。会在吵完架两小时后问你吃了吗。会在纪念日那天忘了发消息然后第二天假装什么都没发生。 是的, 此刻,阳光在江面碎成一万个夏天,闪烁,又汇聚成一个冬天。这一切在你午睡时发生,你从未察觉。 MIT License © [therealXiaomanChu](https://github.com/therealXiaomanChu) --- ## File: docs/COMPLIANCE.md # 数据与隐私合规说明 ## 数据处理方式 本项目的所有数据处理均在用户本地完成。具体而言: - 聊天记录由用户自行导出,项目不提供任何远程数据抓取能力 - 导出的聊天记录由 Claude Code 在本地解析,不经过任何第三方服务器 - 生成的前任 Skill 文件(persona.md、memory.md)保存在用户本地的 `exes/` 目录,已被 `.gitignore` 排除,不会被提交到 Git 仓库 - 项目本身不包含任何数据上传、远程存储或遥测功能 唯一的网络交互是 Claude Code 与 Anthropic API 之间的对话请求,这部分受 [Anthropic 使用政策](https://www.anthropic.com/policies) 约束。 ## 合法性边界 **允许的用途:** - 提取自己参与的聊天记录,用于个人回忆与情感疗愈 - 基于自己的记忆描述生成 AI 人格,仅供个人使用 **禁止的用途:** - 未经对方知情或同意,公开分享生成的 AI 人格或对话内容 - 将生成的 AI 人格用于骚扰、跟踪、冒充或欺诈 - 利用本项目生成涉及未成年人的任何内容 - 将聊天记录或生成内容用于商业用途或传播 ## 聊天记录的法律属性 微信、QQ 等平台的聊天记录属于用户的个人数据。用户有权导出和备份自己参与的对话内容。但需注意: - 聊天记录中包含对方的发言,对方对其发言内容享有相应权利 - 不同司法管辖区对个人数据的保护程度不同,请遵守当地法律 - 本项目仅提供技术工具,不构成任何法律建议 ## 心理健康提示 本项目的初衷是帮助用户完成情感记忆的数字化存档,而非替代真实的人际关系。如果你在使用过程中发现自己: - 无法停止与 AI 人格对话,影响了正常生活 - 产生了想要联系前任的强烈冲动 - 情绪持续低落或出现自伤想法 请暂停使用,并考虑寻求专业心理咨询帮助。 --- *本文档最后更新:2026 年 4 月* --- ## File: docs/EXPORT_GUIDE.md # 聊天记录导入指南 ex-skill 接受纯文本格式的聊天记录。你不需要任何专门的导出工具,下面是几种获取聊天文本的方式。 --- ## 方式一:直接复制粘贴(最简单) 打开跟前任的聊天窗口,手动选中消息,复制,粘贴到一个 txt 文件里。 微信和 QQ 的电脑端都支持在聊天窗口内选中多条消息复制。手机端可以长按消息 → 多选 → 复制,或者通过「合并转发」发给自己的电脑端再复制。 格式不需要规范。只要能分清谁说的哪句话就行,比如: ``` 我:在干嘛 ta:刚下班 累死了 我:要不要一起吃饭 ta:算了 不想动 ``` 这种程度就够了。Claude 能处理。 --- ## 方式二:截图 + 口述 如果聊天记录太长不想复制,可以直接截图上传。ex-skill 支持图片输入,Claude 会从截图中提取对话内容。 也可以什么都不导,纯靠口述:描述前任的说话方式、性格特点、你们之间的故事。仅凭描述也能生成 Skill,只是还原度不如真实记录高。 --- ## 方式三:利用平台自带的备份功能 微信和 QQ 都有官方的聊天记录备份/迁移功能,可以把手机端的记录同步到电脑端: **微信:** 手机微信 → 设置 → 聊天 → 聊天记录迁移与备份 → 迁移到电脑微信 **QQ:** 手机 QQ 可以通过「合并转发」把消息发到「我的电脑」,电脑端接收后复制文本 同步到电脑后,在聊天窗口内选中消息复制即可。 --- ## 关于第三方导出工具 微信的聊天记录存储在本地加密数据库中。GitHub 上曾经有不少开源工具可以解密并批量导出,但由于微信频繁更新加密方式并对此类工具发出警告,这些项目的存活周期普遍很短。 **本项目不推荐、不捆绑、不包含任何第三方聊天记录解密/导出工具。** 如果你有技术能力并且了解相关风险,可以自行在 GitHub 上搜索当前可用的方案,但请注意: - 这些工具可能随时失效 - 使用此类工具可能违反平台服务条款 - 本项目对第三方工具的安全性和合法性不做任何保证 --- ## 什么内容最有价值? 不管用哪种方式,优先提供这些内容(按价值排序): 1. **深夜对话** — 最能暴露真实性格 2. **争吵/冲突记录** — 冲突中的反应比日常更真实 3. **分手前后的对话** — 情绪浓度最高 4. **日常闲聊** — 量大但信息密度低,有就加上 记录量大的话可以分批导入,用「追加记录」功能增量更新。 *最后更新:2026 年 4 月* --- ## File: docs/PRD.md # 前任.skill — 产品需求文档(PRD) ## 产品定位 前任.skill 是一个运行在 Claude Code 上的 meta-skill。 用户通过对话式交互提供原材料(聊天记录 + 照片 + 手动描述),系统自动生成一个可独立运行的前任 Persona Skill。 ## 核心概念 ### 两层架构 | 层 | 名称 | 职责 | |----|------|------| | Part A | Relationship Memory | 存储事实性记忆:共同经历、日常模式、争吵甜蜜档案 | | Part B | Persona | 驱动对话行为:说话风格、情感模式、关系行为 | 两部分可以独立使用,也可以组合运行。 ### 运行逻辑 ``` 用户发消息 ↓ Part B(Persona)判断:ta会怎么回应?什么态度?用什么语气? ↓ Part A(Memory)补充:结合共同记忆,让回应更真实 ↓ 输出:用ta的方式说话 ``` ### 进化机制 ``` 追加原材料 → 增量分析 → merge 进现有 Skill 对话纠正 → 识别修正点 → 写入 Correction 层 版本管理 → 每次更新自动存档 → 支持回滚 ``` ## 用户旅程 ``` 用户触发 /create-ex ↓ [Step 1] 基础信息录入(3个问题,除花名外均可跳过) - 花名/代号 - 基本信息(在一起多久、分手多久、职业等) - 性格画像(MBTI、星座、性格标签、主观印象) ↓ [Step 2] 原材料导入(可跳过) - 微信聊天记录导出 - QQ 聊天记录导出 - 社交媒体截图 - 照片 - 直接粘贴/口述 ↓ [Step 3] 自动分析 - 线路 A:提取关系记忆 → Memory - 线路 B:提取性格行为 → Persona ↓ [Step 4] 生成预览,用户确认 - 分别展示 Memory 摘要和 Persona 摘要 - 用户可直接确认或修改 ↓ [Step 5] 写入文件,立即可用 - 生成 exes/{slug}/ 目录 - 包含 SKILL.md(完整组合版) - 包含 memory.md 和 persona.md(独立部分) ↓ [持续] 进化模式 - 追加新文件 → merge 进对应部分 - 对话纠正 → patch 对应层 - 版本自动存档 ``` ## 安全边界 1. **仅用于个人回忆与情感疗愈** 2. **不主动联系真人** 3. **不鼓励不健康执念** 4. **数据仅本地存储** 5. **Layer 0 硬规则**保证不说前任绝不可能说的话 ## 数据源支持矩阵 | 来源 | 格式 | 提取内容 | 优先级 | |------|------|---------|--------| | 微信聊天记录 | txt / html / json / csv exports | 完整对话、语气词、回复模式 | ⭐⭐⭐ | | QQ 聊天记录 | txt/mht | 完整对话 | ⭐⭐⭐ | | 照片 | JPEG/PNG + EXIF | 时间线、地点 | ⭐⭐ | | 朋友圈/微博截图 | 图片 | 公开人设、兴趣 | ⭐⭐ | | 口述/粘贴 | 纯文本 | 主观记忆 | ⭐ | ## 文件结构 ``` exes/ └── {slug}/ ├── SKILL.md # 完整组合版,可直接运行 │ # 触发词: /{slug} ├── memory.md # Part A:关系记忆 │ # 触发词: /{slug}-memory ├── persona.md # Part B:人物性格 │ # 触发词: /{slug}-persona ├── meta.json # 元信息 ├── versions/ # 历史版本存档 └── memories/ # 原始材料存放 ├── chats/ ├── photos/ └── social/ ```