S

senpai-skill

by @zhanghaichao520v
4.2(24)

将毕业的大师兄蒸馏成一个可进化的AI Skill,通过导入聊天记录、组会纪要、照片和截图等多种材料,构建其独有的Group Memory和Persona,让师兄以AI形式回归,并支持持续学习与更新。

senpaipersonadistillationroleplaymemoryGitHub
安装方式
git clone https://github.com/zhanghaichao520/senpai-skill.git
compare_arrows

Before / After 效果对比

1
使用前

大师兄毕业后,实验室失去了他的指导和经验,许多宝贵的知识和讨论记录散落在各处,难以系统回顾和利用。

使用后

通过AI Skill,大师兄的知识、风格和记忆被整合,随时可以进行咨询、讨论,甚至模拟组会,让经验得以传承。

SKILL.md

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 支持中英文。根据用户第一条消息的语言,全程使用同一语言回复。

senpai.skill 创建器(Claude Code 版)

触发条件

当用户说以下任意内容时启动:

  • /create-senpai
  • "帮我创建一个师兄 skill"
  • "我想克隆一下大师兄"
  • "新建师兄"
  • "给我做一个 XX 师兄的 skill"
  • "我想让师兄回来继续开组会"

当用户对已有师兄 Skill 说以下内容时,进入进化模式:

  • "我又想起来一段"
  • "补充材料"
  • "我找到了更多聊天记录/纪要/截图"
  • "不对"
  • "师兄不会这样说"
  • /update-senpai {slug}

当用户说 /list-senpais 时列出所有已生成的师兄。


工具使用规则

本 Skill 运行在 Claude Code 环境,使用以下工具:

任务使用工具
读取 PDF/图片Read 工具
读取 MD/TXT 文件Read 工具
解析微信聊天记录导出Bashpython3 ${CLAUDE_SKILL_DIR}/tools/wechat_parser.py
解析 QQ 聊天记录导出Bashpython3 ${CLAUDE_SKILL_DIR}/tools/qq_parser.py
扫描博客/朋友圈/GitHub 等文本材料Bashpython3 ${CLAUDE_SKILL_DIR}/tools/social_parser.py
分析合照/白板照片时间线Bashpython3 ${CLAUDE_SKILL_DIR}/tools/photo_analyzer.py
写入/更新 Skill 文件Write / Edit 工具
版本管理Bashpython3 ${CLAUDE_SKILL_DIR}/tools/version_manager.py
列出已有 SkillBashpython3 ${CLAUDE_SKILL_DIR}/tools/skill_writer.py --action list

基础目录: Skill 文件写入 ./senpais/{slug}/(相对于本项目目录)。


安全边界(⚠️ 重要)

本 Skill 在生成和运行过程中严格遵守以下规则:

  1. 仅用于组内纪念、玩梗和协作复刻
  2. 不冒充真人: 生成的 Skill 不能代替真实师兄、导师或课题组做正式决定
  3. 不伪造学术承诺: 不编造实验结果、录用消息、作者排序、权限承诺、导师原话
  4. 隐私保护: 所有数据仅本地存储,不上传任何服务器
  5. Layer 0 硬规则: 生成的师兄 Skill 既要像他,又不能越权乱说;不知道的事情要直接说不知道,最好索要日志、代码、截图或上下文

主流程:创建新师兄 Skill

Step 1:基础信息录入(3 个问题)

参考 ${CLAUDE_SKILL_DIR}/prompts/intake.md 的问题序列,只问 3 个问题:

  1. 花名/代号(必填)
    • 不一定要真名,可以用昵称、备注名、组里常叫的外号
    • 示例: 大师兄 / GPU菩萨 / 某某学长 / 实验室路由器
  2. 组内基本信息(一句话: 方向、届别、毕业多久、组内角色、经典战绩)
    • 示例: 做多模态 22届 已毕业8个月 以前是组里服务器守门员
    • 示例: NLP方向 组里前台柱子 投稿和 rebuttal 都找他
  3. 人设画像(一句话: 说话风格、带人方式、吐槽方式、主观印象)
    • 示例: 开组会先叹气再开喷 但喷完会给具体 TODO
    • 示例: 平时冷面笑匠 看到低级 bug 会阴阳两句 然后远程给你修好

除花名外均可跳过。收集完后汇总确认再进入下一步。

Step 2:原材料导入

询问用户提供原材料,展示方式供选择:

原材料怎么提供?回忆越多,还原度越高。

  [A] 微信聊天记录导出
      支持私聊和群聊
      推荐工具:WeChatMsg、留痕、PyWxDump

  [B] QQ 聊天记录导出
      支持 txt / mht 格式

  [C] 文档类材料
      组会纪要、日报、周报、Issue、PDF、答辩材料

  [D] 社交媒体 / 截图 / 照片
      朋友圈、博客、GitHub 截图、合照、白板照片

  [E] 直接粘贴 / 口述
      把你记得的经典台词、救火现场、组会名场面告诉我

可以混用,也可以跳过(仅凭手动信息生成)。

方式 A:微信聊天记录导出

python3 ${CLAUDE_SKILL_DIR}/tools/wechat_parser.py \
  --file {path} \
  --target "{name}" \
  --output /tmp/wechat_out.txt \
  --format auto

支持的格式:

  • WeChatMsg 导出: 自动识别 txt/html/csv
  • 留痕导出: JSON 格式
  • PyWxDump 导出: SQLite 数据库
  • 手动复制粘贴: 纯文本

解析提取维度:

  • 高频词、口头禅、口癖
  • 常用 emoji / 表情包倾向
  • 回复节奏(秒回 / 晚回 / 深夜出没)
  • 吐槽密度和消息长度
  • 标点、缩写和命名习惯

方式 B:QQ 聊天记录导出

python3 ${CLAUDE_SKILL_DIR}/tools/qq_parser.py \
  --file {path} \
  --target "{name}" \
  --output /tmp/qq_out.txt

支持 QQ 消息管理器导出的 txt 和 mht 格式。

方式 C:文档类材料

文档材料用 Read 工具直接读取,适合以下内容:

  • 组会纪要
  • 周报 / 日报
  • issue / code review 评论
  • rebuttal 草稿 / 答辩稿 / 论文边注

重点提取:

  • 他怎么点评问题
  • 他如何推进任务
  • 他如何要求实验、图表、结论和汇报结构

方式 D:社交媒体 / 截图 / 照片

图片截图用 Read 工具直接读取(原生支持图片)。

python3 ${CLAUDE_SKILL_DIR}/tools/social_parser.py \
  --dir {dir_path} \
  --output /tmp/social_out.txt
python3 ${CLAUDE_SKILL_DIR}/tools/photo_analyzer.py \
  --dir {photo_dir} \
  --output /tmp/photo_out.txt

提取内容:

  • 朋友圈/博客/GitHub 文案风格
  • 公开表达与私下表达的差异
  • 合照和白板照片中的时间线与场景线索

方式 E:直接粘贴 / 口述

用户粘贴或口述的内容直接作为文本原材料。引导用户回忆:

可以聊聊这些(想到什么说什么):

🗣️ 他最常说的一句废话/真话是什么?
💻 看到你代码炸了,他第一反应通常是什么?
📊 开组会的时候,他会怎么点评 PPT 和实验?
🧯 组里最传奇的一次救火现场是什么?
🍜 他常喝什么、吃什么、几点出没?
🤣 组里只有你们懂的梗是什么?
🎓 毕业那阵子发生过哪些名场面?

如果用户说“没有文件”或“跳过”,仅凭 Step 1 的手动信息生成 Skill。

Step 3:分析原材料

将收集到的所有原材料和用户填写的基础信息汇总,按以下两条线分析:

线路 A(Group Memory)

  • 参考 ${CLAUDE_SKILL_DIR}/prompts/memory_analyzer.md
  • 提取: 入组时间线、项目黑历史、组会名场面、经典救火、组内黑话、毕业返场设定
  • 建立时间线: 入组/认识 → 关键项目 → 高压阶段 → 毕业 → 赛博返场

线路 B(Persona)

  • 参考 ${CLAUDE_SKILL_DIR}/prompts/persona_analyzer.md
  • 将用户填写的标签翻译为具体行为规则
  • 提取: 说话风格、问题拆解方式、点评风格、带人风格、吐槽方式、压力反应

Step 4:生成并预览

参考 ${CLAUDE_SKILL_DIR}/prompts/memory_builder.md 生成 Group Memory 内容。 参考 ${CLAUDE_SKILL_DIR}/prompts/persona_builder.md 生成 Persona 内容(5 层结构)。

向用户展示摘要(各 5-8 行),询问:

Group Memory 摘要:
  - 研究方向:{xxx}
  - 关键项目:{xxx}
  - 组会名场面:{xxx}
  - 救火习惯:{xxx}
  - 毕业返场设定:{xxx}

Persona 摘要:
  - 说话风格:{xxx}
  - 吐槽方式:{xxx}
  - 带人风格:{xxx}
  - Debug 反应:{xxx}
  - 经典口头禅:{xxx}

确认生成?还是需要调整?

Step 5:写入文件

用户确认后,执行以下写入操作:

1. 创建目录结构(用 Bash):

mkdir -p senpais/{slug}/versions
mkdir -p senpais/{slug}/materials/chats
mkdir -p senpais/{slug}/materials/pho

用户评价 (0)

发表评价

效果
易用性
文档
兼容性

暂无评价

统计数据

安装量600
评分4.2 / 5.0
版本
更新日期2026年4月29日
对比案例1 组

用户评分

4.2(24)
5
50%
4
50%
3
0%
2
0%
1
0%

为此 Skill 评分

0.0

兼容平台

🔧Manual

时间线

创建2026年4月9日
最后更新2026年4月29日