Files
Genarrative/server-rs/crates/module-ai
suzmii c1ad1a19f8
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
修复 api-server 未使用常量并给已清零的 Rust 包加 warning 门禁
删除 api-server src/llm/mod.rs 中零引用的测试常量 TEST_AGC_MODEL_DEFAULT_ID,全仓仅定义处命中,无调用方与专属用例。

server-rs workspace 根新增 [workspace.lints.rust] warnings = "deny",27 个成员 crate 各自新增 [lints] workspace = true。

4 个被 exclude 的独立 crate(agent-runtime-core、agent-runtime-orchestration、editor-adapter-api、platform-agent)各自新增 [lints.rust] warnings = "deny"。

apps/desktop-shell/src-tauri 与 unity/godot/cocos 三个编辑器 bridge 各自新增 [lints.rust] warnings = "deny";未触碰 apps/ai-game-creator-shell/src-tauri 及其 vendor。

验证:server-rs --workspace --all-targets、desktop-shell、三个 bridge、4 个 exclude crate 全部 rc=0 且输出 0 条 warning;api-server llm:: 定向用例 30 passed / 0 failed。

门禁自证:api-server 与 editor-adapter-api 各插入未使用变量后 cargo check 均失败并报 -D warnings(-D unused-variables implied by -D warnings),撤销后同一命令转绿 rc=0。
2026-10-06 16:32:28 +08:00
..

module-ai 模块说明

日期:2026-04-21

1. package 职责

module-ai 是 AI 编排模块 crate,当前已经落地首版领域基座,负责:

  1. 统一 AI 任务类型、任务状态、阶段状态与任务快照
  2. 统一流式文本片段、阶段输出、结果引用与最终结果聚合
  3. 为 api-server 与后续 platform-llm 接线提供稳定的模块领域服务接口
  4. 为 spacetime-module 映射 ai_task / ai_task_stage / ai_text_chunk / ai_result_reference 提供稳定类型基础

2. 当前阶段说明

当前提交已完成:

  1. module-ai 的 Cargo.toml
  2. DDD 分层文件与内部子模块:
    • src/domain.rs
    • src/domain/types.rs
    • src/domain/stages.rs
    • src/domain/ids.rs
    • src/commands.rs
    • src/commands/inputs.rs
    • src/commands/validation.rs
    • src/application.rs
    • src/application/service.rs
    • src/application/store.rs
    • src/application/result.rs
    • src/events.rs
    • src/errors.rs
  3. 首版核心类型:
    • AiTaskKind
    • AiTaskStatus
    • AiTaskStageKind
    • AiTaskSnapshot
    • AiTextChunkSnapshot
    • AiResultReferenceSnapshot
  4. 默认阶段蓝图与 ID 前缀
  5. InMemoryAiTaskStore
  6. AiTaskService
  7. 面向 SpacetimeDB 的输入类型与 ID helper:
    • AiTaskStartInput
    • AiTaskStageStartInput
    • AiTextChunkAppendInput
    • AiResultReferenceInput
    • AiTaskFinishInput
    • AiTaskCancelInput
    • AiTaskFailureInput
  8. src/tests.rs 中的基础单元测试

首版详细设计见:

  1. ../../../docs/【玩法创作】平台入口与玩法链路-2026-05-15.md
  2. ../../../docs/【后端架构】server-rs与SpacetimeDB数据契约-2026-05-15.md
  3. ../../../docs/【玩法创作】平台入口与玩法链路-2026-05-15.md
  4. ../../../docs/【后端架构】server-rs与SpacetimeDB数据契约-2026-05-15.md
  5. ../../../docs/【后端架构】server-rs与SpacetimeDB数据契约-2026-05-15.md

3. 当前仍未进入的范围

当前刻意未进入:

  1. 真实供应商 SDK 与模型请求
  2. SSE 协议输出
  3. 任务订阅 projection 与清理调度
  4. 业务模块自己的 prompt 组装实现

这些后续分别由:

  1. platform-llm
  2. api-server
  3. spacetime-module + spacetime-client
  4. module-story / module-npc / module-custom-world / module-quest / module-runtime-item

继续接入。

4. 边界约束

  1. module-ai 只负责生成型流程的模块级编排领域模型与最小服务,不直接承接供应商 HTTP 适配。
  2. 真实模型接入通过 platform-llm 完成,任务真相状态最终应下沉到 spacetime-module。
  3. api-server 负责 REST / SSE 对外协议,module-ai 不返回 HTTP DTO。