跳到主要内容

DSH 契约

core 支持 DSH >=0.2.0-rc.2 <0.3.0。大部分集成使用公开 Cordis 服务和插槽;唯一有意的例外是为了子智能体私有工具而使用的组合辅助 API,它由契约测试保护,升级 DSH 时必须专门复核。

所有角色扮演聊天共享一个以数据根目录为工作目录的 DSH workspace。聊天 id 为 session-<角色扮演会话 UUID>,角色扮演数据库才是事实来源;聊天丢失时可重建。归档或删除会话时,先停止并隐藏 DSH 聊天,再处理会话目录。

开场消息必须在创建 live agent 前作为完整第一回合写入。存储头必须使用 workspace 规范路径和 roleplay preset。不要在已构造的循环上追加开场,否则会造成回合编号冲突。

浏览器在实际操作时解析 uiWorkspace,不要仅为了打开聊天就把它加入 client inject;在初始组合没有该服务的 profile 中,这会使角色扮演面板无法渲染。

通过 ctx 注册服务、监听、HTTP 路由、定时器和客户端插槽;返回手动 disposer 的 API 用 ctx.effect。热重载后不得留下重复项。runChild 保持父子组合但给子智能体私有工具域;若 DSH 改动辅助 API,应迁移这一层,不能通过全局暴露工具来规避。

渲染器读取 narrate 工具结果里的 <roleplay-output>。协议标记、JSON 字段和事件顺序是兼容表面,不能本地化。世界创作审批只授权当前提议的修改;拒绝后文件必须保持不变,对话仍能继续提出修订方案。

扩展 DSH 版本范围前,检查导出和组合 API、开场恢复、命名、workspace 关联、归档/停止、审批、客户端插槽、渲染、压缩、取消和热重载,并实测“开局 → 游玩 → 回退 → 分支 → 重开”。