在 DSH 的插件生态中,为不同场景动态注入提示词是常见需求。传统做法通常将提示词写入会话上下文,这会导致上下文污染,即注入内容永久存在于对话历史中,影响后续推理的准确性和 Token 消耗。dsh-universal-worldbook 解决了这一问题,它提供酒馆风格的通用世界书,能够在请求级进行提示词注入,且注入内容仅存在于当前请求中,不污染上下文。
核心功能¶
- 请求级注入与无污染:注入操作发生在
llm/stream请求重写阶段,内容仅存在于出站请求副本,绝不附加到 Session,旧注入不进入后续轮上下文。注入位置恒定为 D0 前部,缓存在 D2 之前全部命中。 - 灵活的触发机制:支持常驻触发、关键词匹配和正则匹配。提供酒馆同款过滤器逻辑(与所有/与任意/非所有/非任何),主关键词之间恒为或逻辑。扫描深度可调(1~5)。
- lore_lookup 工具:支持索引式条目声明子条目存在。主 Agent 可调用该工具按需查询子条目详情。查询结果逐轮剥离(从 D0 前的 tool-call/tool-result 中剔除),不污染后续上下文。
- D1 回合追踪器:用于锚定“上一回合最终正文”。
- 界面与数据管理:提供酒馆风格 UI,支持拖拽排序、自动保存、JSON 导入导出、作用域开关和命中预览。数据存储于
DSH_HOME/WorldBook/,兼容酒馆世界书,代码与数据分离。
安装与启用¶
网页版安装命令如下:
dsh plugin --profile web add github:TritiumWang/dsh-universal-worldbook
桌面版安装命令如下:
dsh plugin --profile desktop add github:TritiumWang/dsh-universal-worldbook
典型用法¶
- 工具调用查询:配置“索引式”条目声明子条目存在,并在 Agent 配置中注册
lore_lookup工具,Agent 即可根据上下文调用该工具获取详情。 - 扫描深度调整:通过扫描深度滑块调整匹配扫描深度(1~5),以控制匹配逻辑的扫描范围。
- 提示词自定义:通过通用头/尾提示词块自定义提示词内容。
适用场景与注意¶
- 隐私与权限:该插件仅本地读写
DSH_HOME/WorldBook,无网络外发。隐私设置包括cloud=false,offlineMode=true,retention=none。 - 诊断功能:可通过环境变量
DSH_UWB_TRACE=1导出出站上下文快照,DSH_UWB_JOURNAL=1记录注入台账,DSH_UWB_DEBUG=1记录 debug 日志。 - 数据持久化:升级插件时数据与代码分离,不会丢失。
dsh-universal-worldbook 为 DSH 用户提供了轻量级、无污染的提示词管理方案,通过工具调用机制实现了上下文的动态隔离。