Skip to content

world - WorldEngine 群聊环境判定器

字数
343 字
阅读时间
2 分钟

概述

world 模块实现 WorldEngine 群聊环境判定器,为群聊场景提供智能发言策略和旁白判定。基于规则判断,无需调用大模型,后续可替换为 LLM 版本。

核心特性:

  • 智能发言选择 - 五级优先系统:@提及 → 剧情关联 → 关系权重 → 关键词 → 轮换
  • 旁白判定 - 自动判断是否需要旁白叙述(剧情转折/周期/场景切换)
  • 置信度系统 - 每个判定结果带置信度(0.5-0.95)
  • 可扩展 - 支持后续替换为 LLM 版本

核心模块

判定引擎 (engine.md)

WorldEngine 提供两个核心方法:

  • decide() - 五级优先发言选择
  • should_narrate() - 旁白触发判定

与 SpeakerScheduler 集成

WorldEngine 已集成到 SpeakerScheduler,作为第 6 种发言策略 world_engine

python
config = GroupConfig(speaker_strategy="world_engine")

当使用此策略时,SpeakerScheduler.decide_next_speaker() 内部调用 WorldEngine.decide()

目录结构

nbot/world/
├── __init__.py    # 模块入口
└── engine.py      # WorldEngine 实现

与其他模块的关系

模块关系
groupSpeakerSchedulerworld_engine 策略委托 WorldEngine.decide()
plot判定时参考 active_plot_node 的参与者和级别
character判定时使用角色间关系数据(affection、trust、familiarity)
events群聊流程发射 group.speaker.selected 事件

页面历史