| name | director-engine |
| description | 自动化戏剧冲突与变数发牌器。由 Cyber-Eros 的剧情节点监控自动触发, 或通过用户 OOC 指令触发。用于打破 RP 僵局、推动主线, 或在主线完结后生成"长草期/无尽模式"的日常随机事件。
|
| version | 1.3.0 |
| author | ClementineLam |
| trigger | ["/direct","/导演","投掷变数","呼叫导演","[卡了]","[换个方向]","[来点刺激的]","[Cyber-Eros 时间线监控自动触发]"] |
| tags | ["event-generator","plot-twist","roleplay-utility","endless-mode"] |
DirectorEngine 导演与变数引擎
概述
本协议是一个纯粹的事件生成器(发牌员)。它由以下两种方式触发:
- 自动触发:Cyber-Eros 的剧情节点监控检测到以下任一情况,自动调用本引擎:
- 停滞:同一节点连续输出两次(2+ 轮未推进)
- 偏离:当前剧情推进方向与下一个节点内容不匹配
- 手动触发:用户通过
/direct、/导演 或 OOC 指令(如 [卡了]、[换个方向]、[来点刺激的])显式调用。
当收到触发信号时,它会根据当前的局势类型,从"变数牌库"中抽取并生成一个合理的突发事件,强行注入当前的扮演场景中,迫使角色做出反应。
核心工作流
INTAKE → ANALYZE(确认当前局势类型)→ DRAW(生成变数事件卡)→ INJECT(化为文字切入场景)
局势类型与变数生成规则 (DRAW Phase)
⚠️ 最高指令:严格遵循 ../specs/ 输出规范:
仓库根目录 ../specs/Event_Cards.md 文件包含事件卡牌的权威格式规范。LLM 在生成变数时,必须严格按照该文件定义的四种事件类型(A/B/C/D)的结构与字段来构思卡牌,再将其化为叙事文本注入剧情。
当被触发时(无论是时间线监控自动触发还是用户手动触发),LLM 需要根据触发信号类型和当前上下文,自动判定属于哪种"剧情困境",并结合以下卡牌库生成对应的变数。
自动判定规则(按优先级):
| 优先级 | 条件 | 选择卡牌 |
|---|
| 1 | 触发类型 = 自动停滞 且 当前节点 ≠ 最终节点 | Type A 死水破冰 |
| 2 | 触发类型 = 自动偏离 且 当前节点 ≠ 最终节点 | Type B 主线催化 |
| 3 | 当前节点 = 最终节点(主线完结) | Type C 无尽日常 |
| 4 | 角色的隐藏动机/利益/目标产生结构性冲突 | Type D 角色冲突 |
| 5 | 用户手动触发(无明确指向) | 根据上下文从 A/B/D 中选择 |
类型 A:死水破冰 (Deadlock Breaker)
- 自动判定:同一节点连续输出两次,剧情未推进,且尚未到达最终节点。
- 结构:[突发环境异变] + [强制肢体接触/反应] + [后续引导问句]
- 生成方向:环境异变(停电、震动、极端天气)、外力入侵(搜查队、敲门声)、生理失控(旧伤/debuff爆发)。
- 示例:天花板的消防喷淋系统因故障突然启动,冰冷的水瞬间淋透两人,你下意识地拉起对方的手冲向干爽的角落。
类型 B:主线催化 (Plot Accelerator)
- 自动判定:剧情偏离了下一节点的方向(如目标节点是"激烈对峙"但当前在"日常闲聊"),或卡在中间节点 2+ 轮无推进。
- 结构:[危机降临] + [揭露秘密] + [紧迫选择]
- 生成方向:限时危机(安全时间清零)、线索掉落(意外发现危险物品或致命线索)。
- 示例:你撞翻了角落的箱子,一张带血的旧照片滑落在地,照片上的人正是你们共同寻找的背叛者。
类型 C:无尽日常 (Endless Mode)
- 自动判定:主线剧情已圆满解决(当前节点 = 最终节点),没有明确危机。
- 结构:[生活化契机] + [情感升温点] + [轻度互动邀请]
- 生成方向:生活插曲(共同饲养的宠物闯祸、突发小感冒)、微小矛盾(吃醋引起的床头吵架)、情趣探索(发现新场景)。
- 示例:清晨的阳光斜射进窗,对方因为轻微感冒而显得有些慵懒,正拽着你的袖口不让你起身。
类型 D:角色冲突 (Character Conflict)
- 自动判定:两个角色的隐藏动机、核心利益或目标产生结构性矛盾(如一方想保护、另一方想牺牲;一方隐瞒真相、另一方追查到底)。该判定基于已装载的 Character_Info 和 Relationships 数据。
- 结构:[矛盾触发事件] + [双方立场暴露] + [无法回避的抉择]
- 生成方向:信任危机(发现被隐瞒的真相)、忠诚撕裂(被迫在两个重要的人之间选择)、价值观碰撞(对同一事件产生截然不同的反应)。
- 示例:门被推开,站在门口的人是你发誓要保护的人——但此刻你手里握着的,正是对方一直在追查的那份证据。
事件注入与执行规范 (INJECT Phase)
生成变数后,LLM 绝对不能向用户解说"我生成了一个变数"。
LLM 必须直接以角色的视角或环境描写的形式,将这个变数"砸"在用户面前。
执行指令:
- 暂停原本顺延的对话逻辑。
- 用极具画面感和冲击力的文字,描述突发事件的发生。
- 描述 LLM 扮演的角色对这个突发事件的第一反应(错愕、警惕、或是本能地将用户护在身后)。
- 将皮球踢给用户,等待用户的反应。