# 自定义世界场景 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、提示词、实体卡片副标题和场景上下文读取。