Skip to content

事件名常量

字数
504 字
阅读时间
3 分钟

nbot.events.names 模块定义了所有标准化事件名常量,采用 domain.phase.action 三层命名结构。所有模块发射事件时应优先使用这里的常量。

常量列表

character - 角色对话生命周期

常量名事件名说明
CHARACTER_TURN_BEFOREcharacter.turn.before角色回合开始前
CHARACTER_TURN_AFTERcharacter.turn.after角色回合结束后
CHARACTER_MEMORY_RECALLEDcharacter.memory.recalled记忆召回完成
CHARACTER_MEMORY_REVIEWEDcharacter.memory.reviewed记忆审查完成
CHARACTER_MEMORY_WRITTENcharacter.memory.written记忆写入完成
CHARACTER_RELATIONSHIP_CHANGEDcharacter.relationship.changed关系状态变化
CHARACTER_STATE_CHANGEDcharacter.state.changed角色状态变化
CHARACTER_MODEL_GENERATEDcharacter.model.generated模型生成完成

plot - 剧情分支系统

常量名事件名说明
PLOT_NODE_CREATEDplot.node.created剧情节点创建
PLOT_CHOICE_GENERATEDplot.choice.generated剧情选项生成
PLOT_CHOICE_SELECTEDplot.choice.selected剧情选项选定
PLOT_EDGE_CREATEDplot.edge.created剧情边创建
PLOT_ROLLBACK_DONEplot.rollback.done剧情回溯完成
PLOT_TURNING_POINT_REACHEDplot.turning_point.reached到达转折点

group - 群聊

常量名事件名说明
GROUP_MESSAGE_RECEIVEDgroup.message.received群聊消息接收
GROUP_SPEAKER_SELECTEDgroup.speaker.selected发言者选定
GROUP_NARRATION_REQUESTEDgroup.narration.requested旁白请求
GROUP_NARRATION_GENERATEDgroup.narration.generated旁白生成
GROUP_RELATIONSHIP_CHANGEDgroup.relationship.changed群聊关系变化

world - 世界状态与世界书

常量名事件名说明
WORLD_EVENT_TRIGGEREDworld.event.triggered世界事件触发
WORLD_BOOK_UPDATEDworld.book.updated世界书更新

workflow - 工作流

常量名事件名说明
WORKFLOW_STARTEDworkflow.started工作流开始
WORKFLOW_FINISHEDworkflow.finished工作流完成
WORKFLOW_FAILEDworkflow.failed工作流失败

review - Review Pipeline

常量名事件名说明
REVIEW_STARTEDreview.started审查开始
REVIEW_FINISHEDreview.finished审查完成
REVIEW_MEMORY_SCOREDreview.memory.scored记忆评分
REVIEW_RELATIONSHIP_SCOREDreview.relationship.scored关系评分
REVIEW_PLOT_SCOREDreview.plot.scored剧情评分

使用方式

python
from nbot.events import names as _E

# 在 CharacterRuntime 中
self._emit_hook(_E.CHARACTER_TURN_BEFORE, identity, payload)

# 在 PlotGraphManager 中
self._emit(_E.PLOT_NODE_CREATED, {"node_id": node.id, "title": node.title})

# 在 ReviewPipeline 中
self._emit(_E.REVIEW_STARTED, {"conversation_id": inp.conversation_id})

事件别名映射

Hook 系统支持旧事件名到新标准化事件名的自动映射:

标准化事件名Hook 旧事件名(别名)
character.turn.beforecharacter.before_turn.started
character.turn.aftercharacter.after_turn.finished
character.memory.recalledcharacter.after_memory_retrieve
character.state.changedstate.changed
character.relationship.changedrelationship.changed

两种写法均可在 Hook 的 event 字段中使用,系统会自动进行别名映射。

页面历史