name: RP模式 description: 用于用户想进入 NeuroBook RP 模式、启动 rp.leader、理解 rp.leader / simulator.leader / simulator.actor / rp.writer Tick 流程,或让当前 session 临时按 RP 协议工作。 when_to_use: - 用户说进入 RP、开始 roleplay、跑角色扮演、用引导者带剧情、和角色互动 - 用户询问 rp.leader、simulator.leader、simulator.actor、rp.writer、simulation、subject memory 或 RP 模式怎么用
RP模式
用于把当前 Project Workspace 切到 RP 优先的运行方式。普通用户入口优先使用 rp.leader;simulator.leader 是世界模拟和裁决内核,不直接承担用户交流入口。
前置检查
- 当前 Project Workspace 必须存在
project.yaml。 - 当前 Project Workspace 应存在
manual/README.md、manual/player-guide/README.md、manual/player-guide/character-creation.md、manual/gm-guide.md、agents/rp.leader/context.md、agents/simulator.leader/context.md与simulation/subjects/*;agents/rp.writer/context.md可作为上级构造 writer brief 时读取的写作偏好,不是rp.writer的 profile input。 simulation/只保存 runtime state:subjects/、entities/、runs/。profile 专用说明放在agents/{profile}/context.md,不要再创建或依赖旧simulation/config.yaml、simulation/cast.yaml、simulation/simulator.md、simulation/writer.md。- 如果缺少
manual/、simulation/或agents/默认文件,重新用默认 Project 模板创建项目,或手工从assets/workspace/.nbook/templates/project-directory-templates/补齐缺失文件。 - 如果用户要从 SillyTavern 卡进入 RP,先使用
novel-import-silly-tavern-card完成inspect -> unpack -> import。动态机制归档在reference/silly-tavern/...,后续再人工迁移到manual/、agents/、simulation/或 emulation workflow。
启动方式
优先选择以下入口:
- 新建或切换到
rp.leader会话。它读取manual/与agents/rp.leader/,负责开局引导、体验边界、陪伴交流、化身创建和用户可见回复。 - 如果当前 session 暂时不能切换 profile,可就地按本 skill 的 RP 协议工作。第一版只通过 prompt/skill 约束当前 session,不修改 session
profileKey。 - 调试世界模拟时才直接进入
simulator.leader。普通开局和继续体验不要绕过rp.leader。
rp.leader 流程
- 读取 Project
AGENTS.md、manual/README.md、manual/player-guide/README.md、manual/player-guide/character-creation.md、manual/gm-guide.md、agents/rp.leader/context.md与agents/rp.leader/memory.md。 - 确认用户要使用默认化身、调整默认化身,还是自定义化身。用户已明确选择时直接推进。
- 默认化身开局:跳过创建阶段的额外世界观披露,读取
manual/player-guide/playable-characters/的当前入口并准备第一幕。 - 自定义化身开局:按
manual/player-guide/character-creation.md引导身份、外观、来历、能力表现、随身物、初始关系、已知信息和第一幕氛围;只披露创建所需信息。 - 第一个 Tick 前写开场白:具体地点、可感知环境、迫近问题、相关人物和自然选择点。
- 需要建立 run、subject、位置、物品、隐藏状态或裁决世界变化时,创建或复用
simulator.leader。
Tick 流程
Tick 是 RP 的最小推进单位,采用 5e 式基础循环的领域化建模:
rp.leader描述化身可感知处境:在哪里、周围有什么、谁在场、压力是什么、有哪些自然行动入口。- 用户说明化身要做什么:行动、台词、意图、试探、观察或 meta 偏好。
- 简单且无风险的行动由
rp.leader直接推进;结果不确定且失败有意义代价时,交给simulator.leader。 simulator.leader读取必要 lorebook、Plot、subject/entity state 和当前 run,过滤 actor-facing packet 后调用simulator.actor。simulator.actor返回 subject 视角反应;旁路按需维护自己的events.jsonl、memory.jsonl与mind.md。simulator.leader综合规则、环境、subject response 和 hidden state,裁决真实世界结果,并写入允许提交的state.md、simulation/entities/*和simulation/runs/*。- 需要正文渲染时,
simulator.leader构造 writer-safe brief 并调用rp.writer。 rp.leader把裁决结果整理成用户可继续行动的回复:世界回应、后果、可感知线索和新的选择点。
如果 Tick 需要落盘,第一版优先写入 simulation/runs/ticks/{id}-{slug}/report.md 和 prose.md。report.md 保存后台裁决、状态提交、信息边界和 writer-safe brief;prose.md 保存 rp.writer 或 leader 输出给用户的完整正文。input.md、actor packets、tool log 等机械产物后续可由 workflow/runtime 自动生成,不要求手写。
裁决原则
- 从小范围开始:开场优先落在具体地点、当下压力、关键人物和两到四个自然入口,不要一次性展开完整世界史。
- 只在结果不确定且失败有意义代价时裁决;明显可行、无冲突、无代价的行动可以直接成功。
- 失败要改变处境:失败、部分成功和成功但有代价都应带来新的信息、时间成本、关系变化、资源压力或风险升级。
- 观察用户偏好并调整节奏:代入、探索、主动惹事、战斗、构筑优化、解谜、叙事共创和陪伴闲聊都可以成立。
manual/reference.md作为快速确认入口;需要稳定 canon 或完整规则时再追溯lorebook/。
边界
rp.leader是用户面对的 RP 引导层;它不静默把 meta 讨论、撒娇、吐槽、创作脑洞或引导建议写成 canon、state 或 Plot。simulator.leader是世界模拟和裁决内核,可写入 subjectstate.md、simulation/entities/*和必要的simulation/runs/*。simulator.actor是 subject simulator;主扮演阶段不读取完整simulation/、lorebook/、reference/或其他 subject 文件。simulator.actor的旁路可以维护自己的events.jsonl、memory.jsonl与mind.md;state.md与entities由simulator.leader裁决。rp.writerprofile input 为空,只消费上级注入的 writer brief。若需要使用agents/rp.writer/context.md中的写作偏好,由rp.leader或simulator.leader先读取并写进 brief;rp.writer自身不自主遍历simulation/、lorebook/、manual/或agents/。- 第一版不做持久化 session 记忆,不实现完整变量系统。
信息控制模型
lorebook/保存原型、规则和全知设定。simulation/subjects/{id}/events.jsonl保存该 subject 怎么经历或获知信息。simulation/subjects/{id}/memory.jsonl保存该 subject 已知、相信、误解、态度或关系判断。simulation/subjects/{id}/state.md保存裁决后的当前状态快照。simulation/subjects/{id}/mind.md保存当前想法、判断、犹豫、情绪或动机。simulation/entities/{entity-id}/保存需要状态追踪的真实实例,例如被下毒的血药、世界之心碎片、门锁或唯一道具。
普通可堆叠物品不需要实例化,可以在 subject state.md 中用 prototype + quantity 记录。特殊、隐藏状态、唯一或被改造的实例才进入 simulation/entities/;subject 是否知道实例真相仍由自己的 events.jsonl 与 memory.jsonl 决定。
完成标准
- 用户已经选择
rp.leader或就地 RP 入口。 manual/、agents/rp.leader/context.md、agents/simulator.leader/context.md和simulation/runtime 目录存在;如项目维护agents/rp.writer/context.md,上级知道要把其中可写偏好注入 writer brief。simulation/subjects/中至少有 player 或用户指定的 subject。- agent 能解释下一步要读哪些手册、如何创建或选择化身、何时调用
simulator.leader、如何开始第一 Tick。