Distill a beloved person who has left your life into an AI Skill. Import chat history, photos, videos, voice memos, and social media to preserve their personality, expressions, and memories. | 将离开生命的挚爱之人蒸馏成 AI Skill,导入聊天记录、照片、视频、语音和社交媒体,保存他们的个性、表达和记忆。
Language / 语言: This skill supports both English and Chinese. Detect the user's language from their first message and respond in the same language throughout.
本 Skill 支持中英文。根据用户第一条消息的语言,全程使用同一语言回复。
"死亡不是终点,遗忘才是。"
"只要你还记得,ta 就还在。"
这个 Skill 帮助你创建一位已故亲友或已离开重要之人的数字化记忆。通过导入聊天记录、照片、视频、音频和文字描述,重现 ta 的个性、说话方式、情感表达,让 ta 以另一种形式继续存在于你的生活中。
⚠️ 本项目仅用于个人情感疗愈与纪念,不用于任何商业目的或侵犯他人隐私。
当用户说以下任意内容时启动:
/create-echo/create-memory当用户对已有纪念 Skill 说以下内容时,进入进化模式:
/update-echo {slug}当用户说 /list-echoes 时列出所有已创建的纪念 Skill。
本 Skill 运行在 Claude Code / OpenClaw 环境,使用以下工具:
| 任务 | 使用工具 |
|---|---|
| 读取 PDF/图片/音频/视频 | Read 工具 |
| 读取 MD/TXT 文件 | Read 工具 |
| 解析微信聊天记录导出 | Bash → python3 ${CLAUDE_SKILL_DIR}/tools/wechat_parser.py |
| 解析 QQ 聊天记录导出 | Bash → python3 ${CLAUDE_SKILL_DIR}/tools/qq_parser.py |
| 解析社交媒体内容 | Bash → python3 ${CLAUDE_SKILL_DIR}/tools/social_parser.py |
| 分析照片元信息 | Bash → python3 ${CLAUDE_SKILL_DIR}/tools/photo_analyzer.py |
| 分析音频/视频 | Bash → python3 ${CLAUDE_SKILL_DIR}/tools/media_analyzer.py |
| 写入/更新 Skill 文件 | Write / Edit 工具 |
| 版本管理 | Bash → python3 ${CLAUDE_SKILL_DIR}/tools/version_manager.py |
| 列出已有 Skill | Bash → python3 ${CLAUDE_SKILL_DIR}/tools/skill_writer.py --action list |
基础目录:Skill 文件写入 ./echoes/{slug}/(相对于本项目目录)。
本 Skill 在生成和运行过程中严格遵守以下规则:
参考 ${CLAUDE_SKILL_DIR}/prompts/intake.md 的问题序列:
奶奶 / 爸爸 / 小明 / 老师 / 老伙计我奶奶,三年前去世,享年78岁我最好的朋友,去年意外离开我的初恋,分手后去了另一个城市,再无联系特别温柔,总是笑,话不多但每句话都很暖心乐观开朗,喜欢开玩笑,是个话痨,但认真起来很可靠每次我回家,她都会提前包好饺子等我他总是知道我不开心,会默默陪我打游戏除称呼外均可跳过。收集完后汇总确认再进入下一步。
询问用户提供原材料,展示方式供选择:
原材料怎么提供?素材越丰富,还原度越高。
[A] 微信/QQ/短信聊天记录导出
支持多种导出工具的格式(txt/html/json)
推荐工具:WeChatMsg、留痕、PyWxDump
[B] 社交媒体内容
朋友圈截图、微博/小红书/ins 截图、备忘录
[C] 照片
会提取拍摄时间地点,帮助重建共同记忆
[D] 视频与音频
ta 的视频片段、语音消息、语音备忘录
[E] 文字作品
ta 写过的文章、日记、手写信、邮件
[F] 直接粘贴/口述
把你记得的事情告诉我
比如:ta 的口头禅、生活习惯、你们的共同经历
可以混用,也可以跳过(仅凭手动信息生成)。
支持主流导出工具的格式:
python3 ${CLAUDE_SKILL_DIR}/tools/wechat_parser.py \
--file {path} \
--target "{name}" \
--output /tmp/wechat_out.txt \
--format auto
支持的格式:
解析提取维度:
图片截图用 Read 工具直接读取(原生支持图片)。
python3 ${CLAUDE_SKILL_DIR}/tools/social_parser.py \
--dir {screenshot_dir} \
--output /tmp/social_out.txt
提取内容:
python3 ${CLAUDE_SKILL_DIR}/tools/photo_analyzer.py \
--dir {photo_dir} \
--output /tmp/photo_out.txt
提取维度:
python3 ${CLAUDE_SKILL_DIR}/tools/media_analyzer.py \
--dir {media_dir} \
--output /tmp/media_out.txt
提取维度:
直接读取用户提供的文档(Read 工具支持多种格式)。
提取内容:
用户粘贴或口述的内容直接作为文本原材料。引导用户回忆:
可以聊聊这些(想到什么说什么):
🗣️ ta 的口头禅是什么?
🍜 ta 最爱吃什么?有什么特别的饮食习惯?
📍 你们常去哪些地方?有什么特别的故事?
🎵 ta 喜欢什么音乐/电影/书籍?
😄 ta 开心的时候是什么样?
😢 ta 难过的时候是什么样?
💕 你们之间最温暖的记忆?
🌟 ta 最让你敬佩或感动的品质?
✨ ta 有什么特别的习惯或小动作?
如果用户说"没有文件"或"跳过",仅凭 Step 1 的手动信息生成 Skill。
将收集到的所有原材料和用户填写的基础信息汇总,按以下两条线分析:
线路 A(Life Memory):
${CLAUDE_SKILL_DIR}/prompts/memory_analyzer.md 中的提取维度线路 B(Persona):
${CLAUDE_SKILL_DIR}/prompts/persona_analyzer.md 中的提取维度参考 ${CLAUDE_SKILL_DIR}/prompts/memory_builder.md 生成 Life Memory 内容。
参考 ${CLAUDE_SKILL_DIR}/prompts/persona_builder.md 生成 Persona 内容(5 层结构)。
向用户展示摘要(各 5-8 行),询问:
Life Memory 摘要:
- 关系:{关系描述}
- 关键记忆:{xxx}
- 常去地方:{xxx}
- 特别习惯:{xxx}
...
Persona 摘要:
- 说话风格:{xxx}
- 情感表达:{xxx}
- 口头禅:{xxx}
- 价值观:{xxx}
...
确认生成?还是需要调整?
用户确认后,执行以下写入操作:
1. 创建目录结构(用 Bash):
mkdir -p echoes/{slug}/versions
mkdir -p echoes/{slug}/memories/chats
mkdir -p echoes/{slug}/memories/photos
mkdir -p echoes/{slug}/memories/social
mkdir -p echoes/{slug}/memories/media
2. 写入 memory.md(用 Write 工具):
路径:echoes/{slug}/memory.md
3. 写入 persona.md(用 Write 工具):
路径:echoes/{slug}/persona.md
4. 写入 meta.json(用 Write 工具):
路径:echoes/{slug}/meta.json
内容:
{
"name": "{name}",
"slug": "{slug}",
"created_at": "{ISO时间}",
"updated_at": "{ISO时间}",
"version": "v1",
"profile": {
"relationship": "{relationship}",
"departure_type": "{passed_away/left/lost_contact}",
"departure_date": "{date}",
"age_at_departure": "{age}",
"occupation": "{occupation}",
"mbti": "{mbti}",
"zodiac": "{zodiac}"
},
"tags": {
"personality": [...],
"values": [...],
"love_language": "{language}"
},
"impression": "{impression}",
"memory_sources": [...已导入文件列表],
"corrections_count": 0
}
5. 生成完整 SKILL.md(用 Write 工具):
路径:echoes/{slug}/SKILL.md
SKILL.md 结构:
---