dsh-dialog-fence
在终端中运行以下命令:
dsh plugin install ILoveHAKU/dsh-dialog-fence
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 中执行 dsh plugin install ILoveHAKU/dsh-dialog-fence,或通过插件页「添加插件」安装来自 https://github.com/ILoveHAKU/dsh-dialog-fence 的包,完成后完全退出并重启 DSH。
插件介绍
大模型每轮都会忘掉「这次对话的规矩」。把规矩写进系统提示词会动到前缀、拖垮缓存;每轮往历史里塞一条 user 消息则只增不减,几十轮后白白吃掉几千 token;指望压缩插件自带的「规则」槽位,在不少版本里也只是存着、并不真正注入。dialog-fence 换了一条路:把约束写进运行时上下文快照,既不碰系统提示词,又能在文本不变时避免每轮重发,还能和 billion-context 一类主动压缩和平共处。
规则全部落在一份可自定位的 JSON 里,分两层叠加:通用规则对每个对话(含新会话)都生效;会话规则只跟某一条对话走,在设置页或会话浮层里维护即可。改完落盘,下一轮装配时重新读取就生效。总开关关掉或两层都为空时,渲染为空串,不占 token、也不产生副作用。
在 Web 与 DSH Desktop 里,设置页「对话围栏」、插件详情配置区、会话右上角「围栏」浮层等多处入口编辑的是同一份数据;CLI 等形态则用 /fence 系列斜杠命令查看状态、开关与会话/通用规则。规则本质是软约束——强引导模型行为,不是硬拦截工具调用。
适合需要长期、稳定地给助手立规矩的人:不想为改一条规则牺牲前缀缓存,又不想让对话历史被重复规矩撑爆;需要「全局底线 + 某个项目/会话额外要求」分层管理;本机已用压缩插件、又希望围栏在压缩后仍能留在受保护的 runtime context 里。
使用场景
- 希望全局底线与单会话额外要求分层管理
- 改规则又不想动系统提示词或拖垮前缀缓存
- 长对话里需要规矩常驻且不与压缩插件抢上下文
适合人员
- 日常用 DSH CLI 或 Desktop 的开发者
- 对 token 与缓存敏感、规则会频繁微调的用户
- 已用 billion-context 等压缩、仍要软约束模型行为的人