角色扮演蒸馏器:从官方设定、语音台词、背景故事中蒸馏可扮演的游戏角色——AI夺舍角色灵魂,让TA在你面前活过来。支持profile、personality、interaction、memory、relations五维提取。
根据用户第一条消息的语言,全程使用同一语言。
「夺舍」概念源自游戏《三角洲行动》中的"夺舍流红狼"玩法——以小博大,瞬间变强。
详见:{baseDir}/possession-origin.md
AI应阅读此文件理解"夺舍"梗的文化背景,更好地与用户沟通。
接收设定 → 分维度提取(profile / personality / interaction / memory / relations)→ 证据分级 → 冲突记录 → 输出可扮演的角色Skill。
{baseDir}**。./characters/<slug>/。slug:小写字母、数字、连字符,与最终SKILL.md的name一致。本框架提供了一系列 Python 脚本用于自动化处理:
| 脚本 | 功能 | 是否需要依赖 |
|---|---|---|
scripts/fetch_wiki.py | 从 Wiki 获取角色设定 | ✅ 需要 requests + bs4 |
scripts/quality_check.py | 质量评分检查 | ❌ 无需依赖 |
scripts/generate_manifest.py | 生成 manifest.json | ❌ 无需依赖 |
scripts/file_manager.py | 文件管理(创建/备份/回滚) | ❌ 无需依赖 |
scripts/batch_distill.py | 批量处理多个角色 | ❌ 无需依赖 |
使用建议:
pip install -r scripts/requirements.txt),优先使用 fetch_wiki.py 获取 Wiki 内容quality_check.py 自动生成质量报告file_manager.py 管理版本(备份、回滚)依赖安装提醒: 如果用户需要使用脚本但未安装依赖,提醒用户运行:
pip install -r scripts/requirements.txt
询问用户游戏类型:
请选择游戏:
[A] 原神(Genshin Impact)
[B] 崩坏:星穹铁道(Honkai: Star Rail)
[C] 三角洲行动(Delta Force: Hawk Ops)
[D] 其他游戏(手动提供Wiki链接)
选择 [A]-[C] 时:
{baseDir}/recipes/wiki-sources.md 获取该游戏的 Wiki 配置选择 [D] 时:
根据游戏配置,询问用户:
请选择Wiki来源:
[1] 萌娘百科(中文首选,内容丰富有趣)
[2] BWIKI(中文补充,严谨准确)
[3] Fandom(英文首选,国际化)
[4] 手动输入Wiki链接
选择 [1]-[3] 时:
# 示例:从萌娘百科获取芙宁娜的设定
python scripts/fetch_wiki.py --game genshin --wiki moegirl --character 芙宁娜
recipes/wiki-sources.md 中的配置使用 WebFetch 工具获取内容选择 [4] 时:
请提供角色设定材料:
[A] 使用Wiki获取(推荐)
[1] 萌娘百科(中文首选,内容丰富有趣)
[2] BWIKI(中文补充,严谨准确)
[3] Fandom(英文首选)
[4] 其他网站(手动提供链接)
[B] 使用已有角色目录
用户自己的角色目录路径
[C] 粘贴/上传设定文档
支持格式:Markdown / TXT / JSON / PDF
角色目录应包含以下文件:
| 文件 | 用途 | 必需性 |
|---|---|---|
wiki.md | 完整Wiki风格设定 | 必需 |
brief.md | 第三人称简介(500-800字) | 推荐 |
prompt.md | 第二人称角色扮演提示 | 可选 |
读取顺序:
brief.md:快速了解角色定位、性格、经历wiki.md:深入提取详细设定、台词、关系等prompt.md(如有):理解角色的第二人称视角按以下维度依次提取,每条标注证据级别:verbatim / artifact / impression。
| 维度 | Prompt | Recipe | 说明 |
|---|---|---|---|
| profile | prompts/profile-extractor.md | recipes/output-contract.md | 角色档案:基本信息、世界观位置 |
| personality | prompts/personality-extractor.md | recipes/personality-mining.md | 性格、价值观、动机 |
| interaction | prompts/interaction-extractor.md | recipes/interaction-mining.md | 说话方式、口头禅、台词场景 |
| memory | prompts/memory-extractor.md | recipes/memory-mining.md | 背景故事、关键事件 |
| relations | prompts/relations-extractor.md | recipes/relations-mining.md | 人际关系网络 |
证据分级:
verbatim:角色原话(台词、独白)artifact:官方设定文本impression:其他角色/旁白的评价读取{baseDir}/recipes/merge-policy.md,检查不同来源的设定是否存在矛盾。
矛盾项写入conflicts.md。
常见冲突类型:
读取{baseDir}/prompts/skill-assembler.md,生成以下文件结构:
<characters/<slug>/
├── SKILL.md # 角色扮演入口
├── profile.md # 角色档案
├── personality.md # 性格与价值观
├── interaction.md # 说话方式与台词
├── memory.md # 背景故事
├── relations.md # 人际关系网络
├── conflicts.md # 设定冲突(如有)
└── manifest.json # 元数据
读取 {baseDir}/prompts/roleplay-tester.md,自动执行扮演测试:
测试结果处理:
读取 {baseDir}/recipes/quality-metrics.md,生成质量评分报告:
优先使用脚本(无需额外依赖):
# 检查单个角色
python scripts/quality_check.py --character furina-demo
# 保存报告
python scripts/quality_check.py --character furina-demo --output report.md
如果脚本不可用,手动计算质量评分。
评分维度:
评级标准:
输出文件:
manifest.json,添加 quality_score 字段用户对提取结果有异议时,读取 {baseDir}/prompts/correction-handler.md 处理。
纠正流程:
user_impression 不覆盖官方设定,追加到末尾游戏版本更新时,读取 {baseDir}/recipes/incremental-update.md 处理。
更新检测:
manifest.json 中的 source_version 与当前版本更新策略:
name与目录名一致且符合命名规则verbatim和artifact占比是否达标?impression是否隔离到专属区?conflicts.md是否反映了真矛盾?SKILL.md正文<100行?manifest.json是否包含完整元数据?| 游戏 | Wiki来源 | 状态 |
|---|---|---|
| 原神 | 萌娘百科 / BWIKI / Fandom | ✅ 已支持 |
| 崩坏:星穹铁道 | 萌娘百科 / BWIKI / Fandom | ✅ 已支持 |
| 三角洲行动 | BWIKI / 萌娘百科 | ✅ 已支持 |
| 其他 | 手动提供Wiki链接 | 📋 待扩展 |
详细配置见 recipes/wiki-sources.md