2.2 KiB
2.2 KiB
自定义世界场景 dangerLevel 字段移除落地说明(2026-04-25)
背景
自定义世界场景对象过去在开局归处、地标、草稿实体和生图上下文中携带 dangerLevel。该字段会让场景结构额外承载“危险等级”枚举,并在提示词中要求模型生成固定的 low|medium|high|extreme 值。当前场景设计更依赖 description、visualDescription、幕级事件和任务描述表达氛围,不再需要独立危险等级字段。
落地范围
- 场景数据结构删除
dangerLevel,包括开局归处、地标、共享草稿协议与前端表单映射。 - 自定义世界生成、修复和补全提示词不再要求模型输出
dangerLevel。 - 场景生图上下文只使用世界名、世界摘要、整体基调、玩家目标、场景名、场景描述和用户画面描述,不再拼接危险等级氛围。
- Rust API 与 SpacetimeDB 模块展示卡片不再从
dangerLevel读取副标题或场景上下文。 - 测试夹具移除
dangerLevel输入,避免新测试继续固化该字段。
兼容策略
- 旧存档或旧 LLM 返回中若仍包含
dangerLevel,前端和 Rust 归一化流程不再读取或回写该字段。 - 不新增替代字段;需要表达危险、压迫或安全感时,写入
description、visualDescription、mood、sceneTaskDescription或幕级描述。 server-node旧实现不作为兼容目标,本次仅清理当前前端、共享协议与server-rs链路。
编码落点
src/types/customWorld.ts:删除场景类型上的dangerLevel。src/prompts/customWorldPrompts.ts与server-rs/crates/api-server/src/prompt/foundation_draft.rs:删除所有生成/修复dangerLevel的模板与约束。src/services/customWorld.ts、src/services/customWorldCamp.ts、src/services/customWorldBuilder.ts:删除归一化和 fallback 写入。src/data/customWorldLibrary.ts、src/data/customWorldSceneGraph.ts、src/data/customWorldVisuals.ts:删除持久化、场景图谱和视觉上下文映射。server-rs/crates/api-server与server-rs/crates/spacetime-module:删除 Rust 侧默认 JSON、提示词、实体卡片副标题和场景上下文读取。