memorial-skill
Health Warn
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 4 days ago
- Low visibility — Only 6 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
This tool creates an AI-powered digital memorial for deceased loved ones by analyzing their WeChat or QQ chat logs, text messages, and voice notes to simulate their personality and speaking style for interactive conversations.
Security Assessment
Risk: Medium
The tool processes highly sensitive personal data, including private chat histories and intimate voice recordings. The automated code scan of 12 files found no dangerous patterns, no hardcoded secrets, and no dangerous permissions. However, because the core function involves feeding personal communication logs into an AI model, the privacy implications are significant depending on how and where that data is processed and stored. No malicious execution or network exploitation was detected.
Quality Assessment
The project is active, with its last push occurring just 4 days ago. It is released under the standard MIT license and includes a detailed, bilingual README. However, community visibility and adoption are currently very low, with only 6 GitHub stars. As a relatively new and niche tool, it lacks the broad public scrutiny and testing that establish long-term reliability.
Verdict
Use with caution — the code itself is safe, but the tool requires handling highly sensitive personal data, so users must be fully aware of how and where their private chat logs are being processed by the AI.
纪念.skill — 为逝去的亲人建立 AI 纪念档案 | Memorial Skill — AI remembrance archives for loved ones who have passed
纪念.skill
"你不在了,但我还记得你端着茶杯的样子。"
把微信聊天记录和语音消息,变成一个可以对话的数字生命。
只需要你微信里跟 ta 的聊天记录(文字和语音都行),
AI 会学习 ta 的说话方式、性格、故事——
然后你可以跟 ta 继续聊天,
用文字,或者用 ta 自己的声音。
效果演示
文字对话
你 ❯ 爷爷,我今天升职了
爷爷 ❯ 嗯,好。你妈知道了吗?
别光顾着高兴,升了职责任更大,做人要实在一点。
吃亏是福,记住了。
——以他的性格做出的推测,不代表本人。
你 ❯ 给我讲讲你年轻时候的事
爷爷 ❯ 那时候条件差,不像你们现在……
我进铁路系统那年才十八岁,什么都不会,
就跟着师傅学,一干就是四十多年。
你问我苦不苦,那时候不觉得,
现在想想确实苦,但值得。
语音对话
你 ❯ 用爷爷的声音说"吃亏是福,年轻人不要怕吃亏"
爷爷 ❯ 🔊 [播放 10 秒音频——用爷爷自己的声音说出这句话]
声音是从微信语音消息里学来的,音色是 ta 本人的。
怎么用
最简单的方式:把微信聊天记录给 AI,就行了。
你 ❯ /create-memorial
AI ❯ 你想为谁建立纪念档案?
你 ❯ 我爷爷。微信家庭群里有他的聊天记录和语音消息。
AI ❯ 好的。我来从微信里提取他的数据……
找到了——「相亲相爱一家人」群,你爷爷发了 350 条语音、3 条文字。
正在分析他的说话方式和性格……
正在训练他的声音模型……
✓ 完成。你现在可以跟他聊天了。
之后就像跟真人聊天一样——他会用自己的方式回答你。
它是怎么做到的
微信聊天记录 + 语音消息
↓
AI 分析 ta 的说话方式、性格、经历、价值观
↓
生成人格档案(ta 会怎么说话、怎么反应)
↓
训练声音模型(ta 的音色)
↓
你可以跟 ta 对话了(文字 + 语音)
输入
你需要提供的东西,按价值排序:
| 材料 | 价值 | 说明 |
|---|---|---|
| 微信/QQ 语音消息 | ★★★ | 最珍贵——既能分析性格,又能训练声音 |
| 微信/QQ 文字聊天 | ★★★ | 口头禅、表达习惯、关心方式 |
| 照片 | ★★ | 时间线、常去的地方 |
| 家人口述 | ★★ | 别人眼中的 ta |
| 信件/日记 | ★★ | 价值观、内心世界 |
| 直接讲故事 | ★ | 你记得的任何事 |
最低门槛:只需要微信聊天记录,粘贴进来就能建档。
最佳效果:微信语音 + 文字聊天 → 文字对话 + 声音对话全部解锁。
输出
| 能力 | 基础版 | 语音增强版 |
|---|---|---|
| 跟 ta 文字聊天 | ✓ | ✓ |
| 问 ta 对一件事的看法 | ✓ | ✓ |
| 讲 ta 的故事 | ✓ | ✓ |
| 帮写悼词/纪念文章 | ✓ | ✓ |
| 生成家人访谈问题 | ✓ | ✓ |
| 听到 ta 的声音 | ✓ |
⚠️ 这是基于记忆的追忆,不代表本人。ta 的回答是 AI 根据材料推测的"ta 可能会这么说"。
如果 ta 还在
趁现在就开始建档是更好的选择。
由本人亲口讲述,比事后重建准确十倍。系统内置了一套访谈问题,帮你引导 ta 讲出那些从未说过的故事。
建好的档案,在 ta 离开后自动转为纪念档案,无需重建。
安装
本项目分两档,按需选择:
| 基础版(文字+图片) | 语音增强版(+声音克隆) | |
|---|---|---|
| 功能 | 纪念档案、聊天分析、照片时间线 | 全部 + 用亲人声音说话 |
| 硬件 | 任意电脑 | 需要 NVIDIA 显卡 |
| 安装时间 | 5 分钟 | 30 分钟 |
基础版安装(5 分钟):
# 安装到 Claude Code skills 目录
mkdir -p .claude/skills
git clone https://github.com/Terry-cyx/memorial-skill .claude/skills/create-memorial
# 安装依赖(可选依赖失败不影响基础功能)
pip install -r .claude/skills/create-memorial/requirements.txt
语音增强版需要额外安装 PyTorch CUDA、GPT-SoVITS、微信 3.9.x 等,详见 INSTALL.md。
使用
在 Claude Code 中输入:
/create-memorial
按提示回答三个问题——称呼与关系、基本背景、性格印象——然后选择数据来源。
所有字段均可跳过,仅凭口述也能生成基础档案,之后随时补充。
完成后用 /{slug} 调用纪念档案,开始追忆。
管理命令
| 命令 | 说明 |
|---|---|
/list-memorials |
列出所有纪念档案 |
/{slug} |
调用完整档案(追忆 + 人格) |
/{slug}-remembrance |
仅追忆模式(生命故事、时间轴) |
/{slug}-persona |
仅人格模式(他们会怎么说、怎么做) |
/{slug}-interview |
生成家人访谈问题 |
/memorial-rollback {slug} {version} |
回滚到历史版本 |
/delete-memorial {slug} |
删除 |
效果示例
输入:
爷爷,1938年生,湖南人,北京铁路工人,退休后种菜,沉默寡言,"吃亏是福"
场景一:追忆故事
你 ❯ 给我讲讲爷爷年轻时候的事
纪念档案 ❯ 他好像很少主动讲那段时间。
但奶奶说过,文革的时候他把家里的书用油纸包好埋在菜园地下——
后来改革开放,一本一本挖出来,还能看。
他就说了一句话:"书不能烧,知识不能断。"
场景二:人格追问
你 ❯ 如果我现在告诉他考上大学了,他会说什么?
纪念档案 ❯ 他大概不会说什么。
可能夹两筷子菜给你,然后去菜园待一下午。
回来眼睛是红的,问他怎么了,他说"风迷眼了"。
—— 这是以他的性格做出的推测,不代表他本人。
场景三:帮写悼词
你 ❯ 我想写一篇悼词,你帮我把他这一生整理一下
纪念档案 ❯ 王建国,1938年生于湖南,2023年辞世,享年85岁。
在北京工作了65年,菜园种了25年。
他不说"我爱你",但每天早上给奶奶倒水,几十年从未间断。
他的口头禅是"吃亏是福"……
场景四:整理家人访谈
你 ❯ 我想问问奶奶关于爷爷的事,帮我列几个问题
纪念档案 ❯ 给奶奶(配偶)的访谈问题:
1. 你们是怎么认识的?
2. 他表达爱意的方式是什么——说出来,还是做出来?
3. 你们有没有特别的习惯或仪式?
4. 他最让你感动的一件事是什么?……
场景五:生前建档(ta 还在)
你 ❯ 我奶奶还在,我想趁现在给她建一份档案
纪念档案 ❯ 太好了,趁她还在亲口讲是最珍贵的。
我来生成一套问她本人的问题。
她现在方便长时间聊吗,还是每次聊一小段?
你 ❯ 她年纪大了,每次聊一会儿就累
纪念档案 ❯ 好,我把问题分成5个模块,每次聊一个:
模块1:从哪里来(童年、家庭、成长)
模块2:走过了什么(转折、困难、骄傲的事)
模块3:在乎什么(价值观、信念、格言)
模块4:关于家人(想对你们说的话)
模块5:留下什么(这一生的总结)
先从第一个模块开始吗?
功能特性
生成的档案结构
每份纪念档案由两部分组成,共同驱动追忆输出:
| 部分 | 内容 |
|---|---|
| Part A — 追忆档案 | 生命时间轴、人生角色、价值观与信念、日常习惯、标志性故事、关系网络、遗憾与遗言、遗产与影响 |
| Part B — 人格档案 | 5+1 层结构:伦理约束 → 身份锚点 → 语言风格 → 情感模式 → 关系行为 → 时代背景层 |
运行逻辑:收到问题 → 追忆档案提供素材 → 人格档案决定"ta会怎么回应" → 用追忆语气输出
时代背景层(memorial-skill 特有)
老一辈人的性格深受历史塑造。这一层根据出生年代,将历史事件映射到具体行为:
| 年代 | 历史背景 | 典型行为影响 |
|---|---|---|
| 1930–1945 年出生 | 抗日战争、国共内战 | 节俭、生存意识强、政治谨慎 |
| 1945–1965 年出生 | 三年困难、文化大革命 | 不浪费食物、不谈政治、重视集体 |
| 1965–1985 年出生 | 改革开放 | 实用主义、拼搏意识、追求稳定 |
支持的性格标签
说话方式:沉默寡言 · 话多 · 刀子嘴豆腐心 · 内敛不善言辞 · 喜欢讲道理 · 方言腔调
情感表达:行动型爱 · 语言型爱 · 沉默型关心 · 严格背后的骄傲 · 隔代宠爱
处世方式:原则性强 · 吃亏是福 · 节俭 · 热心肠 · 不求回报 · 好面子 · 固执
关系风格:一家之主型 · 默默支撑型 · 严父/慈母型 · 隔代放纵型
进化机制
- 追加材料 → 新的聊天记录/照片/口述 → 自动分析增量 → 追加到对应维度,不覆盖已有内容
- 对话纠正 → 说「他不会这样说」→ 写入 Correction 记录,立即生效
- 版本管理 → 每次更新自动备份,支持回滚到任意历史版本(最多保留 10 个)
声音克隆 — 听到 ta 的声音
纪念档案不只是文字。如果你有亲人的微信/QQ 语音消息,系统可以训练一个声音模型——输入任意文字,输出用 ta 的声音说出来的音频。
效果
你 ❯ 用爷爷的声音说"吃亏是福,年轻人不要怕吃亏"
纪念档案 ❯ 🔊 [生成 10 秒音频,用爷爷的音色说出这句话]
需要多少语音
| 语音量 | 效果 |
|---|---|
| < 30 秒 | 音色基本可辨认(零样本模式) |
| 1-3 分钟 | 音色匹配良好 |
| 5-10 分钟 | 高度相似,语调自然 |
| 10 分钟以上 | 极佳,短句几乎无法分辨 |
微信家族群里几十条语音消息通常就够了。
方言支持
支持。 即使亲人平时说方言,也可以训练声音模型。
系统会用方言语音训练音色(SoVITS 模型只学习声音特征,不依赖语言),合成时用目标人的音色输出普通话语音。效果:声音像 ta,但说的是普通话。
后续版本计划支持方言内容输出(即让合成语音也说方言),敬请期待。
技术方案
基于 GPT-SoVITS,本地训练+推理,数据不出设备。
微信/QQ 语音消息 → 预处理(转格式+降噪)→ 训练声音模型 → 输入文字 → 亲人声音
需要 NVIDIA 显卡(推荐 RTX 3060 12GB 以上),训练约 20-30 分钟。
项目结构
本项目遵循 AgentSkills 开放标准:
create-memorial/
├── SKILL.md # skill 入口(官方 frontmatter)
├── prompts/ # Prompt 模板
│ ├── intake.md # 对话式信息采集(3问)
│ ├── remembrance_analyzer.md # 人生轨迹提取(8维度)
│ ├── remembrance_builder.md # remembrance.md 生成模板
│ ├── persona_analyzer.md # 人格提取(含时代背景层、标签翻译表)
│ ├── persona_builder.md # persona.md 5+1层结构模板
│ ├── merger.md # 增量追加逻辑(不覆盖)
│ └── correction_handler.md # 对话纠错处理
├── tools/ # Python 工具
│ ├── wechat_parser.py # 微信聊天记录解析
│ ├── qq_parser.py # QQ 聊天记录解析(txt/mht)
│ ├── audio_transcriber.py # 音频转录(Whisper)
│ ├── photo_analyzer.py # 照片 EXIF 时间线提取
│ ├── interview_guide.py # 访谈问题生成(含本人/家人两种模式)
│ ├── voice_preprocessor.py # 语音预处理(silk→WAV + 降噪)
│ ├── voice_trainer.py # 声音模型一键训练(GPT-SoVITS)
│ ├── voice_synthesizer.py # 语音合成(文字→亲人声音)
│ ├── skill_writer.py # 档案文件管理
│ └── version_manager.py # 版本备份与回滚
├── tools/wechat_voice_extractor.py # 微信语音一键提取(解密+搜索+导出)
├── tests/
│ └── test_tools.py # 自动化测试(8 个测试)
├── memorials/ # 生成的纪念档案(gitignored)
│ └── example_grandpa/ # 完整示例(虚构爷爷王建国)
│ ├── SKILL.md / remembrance.md / persona.md / meta.json
│ ├── voice/ # 声音模型目录结构示例
│ └── materials/ # 原始材料目录结构示例
├── docs/PRD.md
├── requirements.txt
└── LICENSE
两种建档时机
| 生前建档(ta 还在) | 身后建档(ta 已离开) | |
|---|---|---|
| 数据质量 | 最高——本人亲口讲述,一手信息 | 依赖记忆与留存材料 |
| 核实与纠错 | 实时纠正,本人确认 | 无法再纠错,需家人共同校验 |
| 情感氛围 | 温暖、主动、像留遗产 | 带着思念、像拼图 |
| 推荐时机 | 父母/祖父母年岁渐长时 | 随时,只要还有材料和记忆 |
| 本人参与 | 核心数据来源 | 不适用 |
如果 ta 还在,现在就是最好的时候。
一键完整流程(命令行)
如果你更喜欢直接用命令行而不是对话:
# ① 提取微信语音(微信 3.9.x 需在运行)
python tools/wechat_voice_extractor.py --group "家庭群" --person "目标人名" --outdir ./voices_raw/
# ② 预处理:silk → WAV + 降噪
python tools/voice_preprocessor.py --dir ./voices_raw/ --outdir ./voices_processed/
# ③ 音频转文字(用于纪念档案的文字部分)
python tools/audio_transcriber.py --dir ./voices_processed/ --speaker "目标人" --format chat --output transcripts.md
# ④ 创建档案目录
python tools/skill_writer.py --action create --name "称呼" --slug my_memorial
# ⑤ 一键训练声音模型(自动检测方言 + 选择策略)
python tools/voice_trainer.py --action full --slug my_memorial --audio-dir ./voices_processed/
# ⑥ 测试声音合成
python tools/voice_synthesizer.py --slug my_memorial --text "想让 ta 说的话"
# ⑦ 查看状态
python tools/voice_trainer.py --action status --slug my_memorial
python tools/voice_synthesizer.py --slug my_memorial --action check
运行测试
python tests/test_tools.py
测试覆盖:档案管理、版本回滚、微信/QQ 解析、音频预处理、访谈生成、语音合成。
注意事项
- 原材料质量决定档案深度:聊天记录 + 家人口述 > 仅个人描述
- 建议优先收集:日常消息(最能反映真实语言习惯)> 关键时刻的对话 > 单向描述
- 家人访谈是 memorial-skill 特有的重要来源——用
/interview命令生成定制问题 - 档案可以随时补充,不必一次完成。记忆会随时间浮现,慢慢加
- 本 Skill 不鼓励以档案代替正常的哀伤过程。如果你发现自己难以走出,请寻求专业支持
致谢
本项目的架构设计深受以下两个优秀的开源项目启发:
- 同事.skill — 将同事蒸馏为 AI Skill,双轨架构(Work Skill + Persona)和 5 层人格模型的原创设计
- 前任.skill — 将前任重建为 AI Skill,关系记忆提取和情感疗愈场景的开创者
memorial-skill 继承了它们的双轨分析框架、提示词驱动架构和增量进化机制,并在此基础上增加了时代背景层、生前建档模式和声音克隆能力。感谢两位作者的开源精神。
他们留下的,不只是照片和聊天记录。
是一种说话的方式,一个习惯,一句总在关键时刻出现的话。
这份档案,只是帮你把这些放在一个不会消失的地方。
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found