跳转至

组件地图

本页把主要运行时组件映射到各自职责,适合作为阅读后端或持久化页面之前的快速导览。

运行时组件地图

flowchart TD
    subgraph Frontend["前端"]
        Pages["页面<br/>simulations, worlds, media, prompts, configurations"]
        APIClient["API client modules"]
        Editors["编辑器<br/>world, simulation, prompt, media, config"]
    end

    subgraph Backend["FastAPI 后端"]
        Routers["Routers"]
        AppState["App state<br/>database, storage, prompt/workflow loaders, simulator"]
        Simulator["WorldSimulator"]
        Services["服务层<br/>LLM, embedding, image, TTS, STT, import/export"]
        CheckpointService["SimulationStateCheckpointService"]
    end

    subgraph Simulation["模拟组件"]
        Interpreter["InputInterpreter"]
        Validator["ActionValidator"]
        Character["CharacterSimulator"]
        Perspective["PerspectiveResolver"]
        Coordinator["SceneCoordinator"]
        Committer["StateCommitter"]
        Memory["MemorySummarizer"]
        Relationship["RelationshipUpdater"]
        Subjective["SubjectiveModelUpdater"]
        Emotion["EmotionUpdater"]
        Narrator["Narrator"]
        MediaSideEffects["TurnImageTrigger / TurnVoiceTrigger"]
    end

    subgraph Persistence["持久化"]
        DatabaseService["DatabaseService"]
        Stores["Typed Neo4j stores"]
        Storage["StorageService"]
        Neo4j["Neo4j"]
        Files["媒体文件"]
    end

    Pages --> APIClient --> Routers
    Routers --> AppState
    AppState --> Simulator
    AppState --> DatabaseService
    AppState --> Storage
    Simulator --> CheckpointService
    CheckpointService --> Stores
    Simulator --> Interpreter
    Simulator --> Validator
    Simulator --> Character
    Character --> Perspective
    Simulator --> Coordinator
    Simulator --> Committer
    Simulator --> Memory
    Memory --> Relationship
    Memory --> Subjective
    Memory --> Emotion
    Simulator --> Narrator
    Simulator --> MediaSideEffects
    Interpreter --> Services
    Validator --> Services
    Character --> Services
    Coordinator --> Services
    Committer --> Services
    Memory --> Services
    Narrator --> Services
    DatabaseService --> Stores --> Neo4j
    Storage --> Files

模拟组件

组件 读取 产出 事实边界
InputInterpreter 用户文本和当前模拟上下文 结构化候选用户动作或 OOC 检测 只是提案。
OOCHandler out-of-character 指令、已感知场景状态、现有 trigger 已评估的 OOC 条目:世界状态变更、针对某个 NPC 的动作指导,或 trigger 的 create/update/status/delete 指令 只是提案;仍会经过正常的 state commit 和 trigger 路径校验/应用。
ActionValidator 拟议动作和图状态 校验结果和返工反馈 只是提案。
CharacterSimulator 私有 CharacterPerspective 角色动作或反应提案 只是提案。
PerspectiveResolver 图中的感知候选 actor 作用域内可感知实体 私有上下文。
SceneCoordinator 有效动作计划和反应历史 已接受动作时间线或协调问题 只是提案。
StateCommitter 已接受动作 StateCommitProposal 操作 只有 store 应用后才成为事实。
MemorySummarizer 已提交回合、观察者、state commit 事件、记忆、intent 更新 memory store 应用后的派生事实。
RelationshipUpdater 记忆和视角证据 关系提案 store 应用后的派生事实。
SubjectiveModelUpdater 记忆和观察者上下文 私有主观断言提案 store 应用后的私有派生事实。
EmotionUpdater 记忆、动作、角色状态 私有情绪向量更新 store 应用后的私有派生事实。
Narrator 已接受或已提交回合上下文 NarrationProposal / 呈现文本 显示层,不是物理事实。
ActionSuggester 最近回合上下文 建议用户动作 仅 UI 辅助。
SemanticTriggerEvaluator 一批休眠 trigger 的 SemanticCondition 语句,加上最近的叙事/记忆 关于某个条件当前是否成立的 fact 或 pacing 判断 只是提案;trigger 只有在条件(语义或确定性)被确认后才会触发。

服务组件

服务 职责
LlmService 组合 prompt messages、调用 chat providers,并修复结构化输出。
EmbedService 调用 embedding providers,用于记忆和 intent 检索。
ImageService 向 ComfyUI-compatible 图像后端提交图像 prompt。
TurnImageTrigger 判断并执行回合或实体图像生成副作用。
TurnVoiceTrigger 为 turn presentation 片段执行已配置的 TTS 生成副作用。
StorageService 存储和读取内容寻址媒体与 JSON artifact。
AuditService 为生成、校验、协调、提交、时间和错误记录结构化审计事件。
SimulationStateCheckpointService 捕获和恢复完整的已持久化实体图,支撑 turn 的重新生成、回退,以及将来的 OOC 变更撤销。

配置流

供应商连接、模型配置、prompt 分配、workflow 分配和按组件绑定都存储在 Neo4j 中。模拟组件在运行时加载自己的配置。这意味着同一套代码路径可以为输入解释、角色提案、协调、叙事、图像 prompt 构建和媒体生成使用不同模型。