【免费下载链接】Soul-of-Waifu
🌌 Give a soul to your favorite characters. Soul of Waifu is a desktop roleplay & AI companion app featuring Live2D/VRM avatars, voice chat & local LLM. Evolve together across immersive chat, RPG adventures, and your desktop.
Soul of Waifu是一款开源的桌面角色扮演与 AI 伙伴应用,其中的Soul Stage模式能把普通聊天变成一场由AI 游戏主持人(Game Master)全程主持的桌游 RPG:确定性骰子检定、连队友都不知道的隐藏剧情、随选择实时变化的战役板,以及自带记忆的动态 NPC。本文带你从入门到进阶,完整玩转这三套核心玩法。
什么是 Soul Stage:AI 主持人如何运转
Soul Stage 与普通 AI 聊天的最大区别在于:主持人是一个独立于角色的 AI 层。它不写对话、不演戏,只负责"导演"——
- WorldState 世界状态引擎:严格追踪场景位置、一天中的时间、天气氛围、已确立的关键事实;
- 两阶段生成:先由"策划(Planner)"输出结构化 JSON 计划(事件、NPC 增减、场景切换、骰子检定),再由"叙述者(Narrator)"把它写成沉浸式文字;
- 规则引擎兜底:掷骰、资源增减(生命值/精力/压力)、剧情推进全部由代码确定性执行,而不是听信模型"随口一说"。
核心逻辑全部集中在 soul_stage_engine.py,界面交互则在 soul_stage_page.py。
快速上手:3 步开启第一场冒险
- 组建队伍:在主界面选择角色卡片(支持导入 Character Card),至少加入一名伙伴;
- 创建场景:进入 Soul Stage 大厅,点击 "+ New Scene",填写世界观设定(魔法规则、当前张力等),并勾选是否开启Dice Rolls(骰子检定);
- 开始冒险:描述你的第一个行动——"我推开酒馆的门"——故事立刻开始。背景图和环境音会随场景自动切换,无需手动设置。
骰子检定:结果由规则决定,而不是 AI 的心情
在场景设置中勾选 "🎲 Enable Dice Rolls" 后,主持人只在结果真正不确定且两种走向都精彩时才发起检定,日常对话不会被骰子打断。
- 骰子类型:
d20/2d6/3d6,技能检定默认用 d20; - 难度值 DC:5=极简单,10=容易,12–14=中等,16–18=困难,20+=极难,由主持人根据剧情设定;
- 技能加成:你在角色身上设定的技能(如 stealth +2)会自动作为永久基准加成;情境加减分(受伤 -3、占据高地 +2)单独计算;
- 结果分级:掷骰后按"成功/失败 + 优势幅度"分为四档——干脆利落的成功、险胜、险胜之差、严重失败——叙述者会把它写成具体剧情,从不在文字里直接暴露骰子数字。
聊天区会出现一张带颜色高亮的骰子卡片:绿色=成功、红色=失败、金色=氛围掷骰,掷骰动画让每一次检定都像真的在转骰子。规则细节可参考 RPGRules 实现。
隐藏剧情:Story Arcs 如何让秘密真正"藏住"
Soul Stage 的Story Arcs(剧情弧)是 GM 私有的,角色和 NPC永远看不到这个区块——这是"隐藏"二字的根本保障。
每条 Arc 有四个阶段:
| 阶段 | 含义 |
|---|---|
locked | 锁死,对所有人不存在,连 GM 提示中都不参与 |
available | 线索已出现,等待玩家行动触发 |
active | 已揭露,进入主剧情 |
resolved | 已收束 |
配合Lore Cards(设定卡)的触发词机制:只有当玩家提到卡片里的关键词(比如某个名字、地点)时,对应设定才会被注入提示词。于是"酒馆老板其实是叛军"这条情报可以在几十轮对话里滴水不漏地藏在 GM 层,直到你恰好问起——这正是它比"纯聊天式跑团"更耐玩的地方。编辑入口在 World State 面板的 Lore Cards / Story Arcs 标签页(soul_stage_page.py)。
战役板:目标清单与"压力时钟"
Campaign Board是一块面向玩家可见的实时目标面板,包含两类条目:
- Objectives(目标):带状态(进行中/已完成/失败)与进度的任务,例如"取得地下城的钥匙 0/1";
- Clocks(压力时钟):每格最多 20 格的进度条,用来表现张力积累——"守卫警觉度 2/5"、"信任值 1/4"、"仪式倒计时 3/6"。你的每个选择都会动态拨动这些时钟,时钟走满即触发剧情转折。
主持人每轮都会把战役板状态序列化进提示词,因此它不会"忘记"上轮你刚被守卫发现。时钟与目标的代码定义见 CampaignBoard 类。
让冒险"活起来"的其他细节
- 关系图谱:信任值(-100~100)与角色印象(如"视你为船长")逐轮更新并注入每个 NPC 的提示词,几十轮之后仇怨和羁绊都不会丢;
- 动态 NPC + 长期记忆:NPC 按原型(旅店老板、守卫、学者……)生成头像并驻留舞台,离场后记忆存入向量库,再登场时能"想起"你们的旧事(NPCMemoryRegistry);
- 背包与状态 HUD:装备、HP、精力、压力、中毒/疲惫/眩晕等状态实时显示,带持续时间的状态会逐轮自动消退;
- 场景文件夹:把多个场景组织成整套战役(按世界观、难度归档),支持导入/导出分享。
开始你的冒险
项目为开源免费,Windows 下双击 start.bat 即可启动(依赖清单见 requirements.txt),入口文件为 main.py。更完整的功能列表参考 README.md。一个人、一张桌、一位不会遗忘的主持人——今晚就可以开团。
【免费下载链接】Soul-of-Waifu
🌌 Give a soul to your favorite characters. Soul of Waifu is a desktop roleplay & AI companion app featuring Live2D/VRM avatars, voice chat & local LLM. Evolve together across immersive chat, RPG adventures, and your desktop.
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考