前言¶
在 DeepSeek Harness(DSH)的长会话流程中,上下文压缩(compaction/summary)是维持对话连贯的必要手段,但压缩后的摘要往往丢失了关键的前提设定。当模型在后续推理中不知道”师门已灭门”或”第九重天不可踏足”时,故事逻辑会崩塌。上游插件 ICCuse/dsh-premise-guard 主要针对 ASCII 锚点(如路径、键值),对中文内容支持不足。dsh-premise-guard-cn 在此基础上做了中文优先适配,增加了手动锚点清单与工具支持,用于在压缩后自动检测并注入前提告警。
核心功能¶
该插件主要包含以下能力:
中文优先的自动锚点提取¶
插件内置了一套针对中文的锚点提取规则,优先识别以下内容作为前提锚点:
- 中文引号(双引号、书名号、直角引号)内的短语;
- 顿号分隔的术语链或箭头术语链(如”炼体→炼气”);
- 编号锚点(如 W12、A07);
- 仓内中文相对路径(如”设定/人物卡/林晚.md”);
- 数字与数量(如”12章”、”300—500里”);
- 长中文串(长度 ≥12 字);
- 保留原版对 ASCII 模式的兜底支持(路径、键值、错误码)。
判定规则为汉字数量 ≥4,并会过滤停用词。
手动锚点清单¶
插件允许通过文件维护一份手动锚点清单。清单文件默认位于 <工作区>/.dsh-meow/anchors.md。如果被压缩区间中出现过清单中的锚点,但未出现在摘要中,插件会将其标记为【标注】优先报警。
工具与命令¶
premise_anchor工具:模型可直接调用的工具,支持list、add、remove操作,用于维护当前工作区的锚点清单。/anchor命令:用户命令,用于操作默认清单($DSH_HOME/anchors.md)。若需操作工作区清单,请使用premise_anchor工具或直接编辑文件。
自动告警注入¶
插件仅在 compaction/summary 事件后触发检查。它会比对被压缩区间与摘要文本,发现关键锚点丢失时,会在下一步自动注入一条中文告警,提示模型核对日志。
安装与启用¶
在终端执行以下命令安装插件:
dsh plugin --profile web add "github:111111AAA111111/dsh-premise-guard-cn"
安装后需要重启 DSH 进程,插件才会随 bundle 在启动时加载。
典型用法¶
维护锚点清单¶
在工作区根目录创建或编辑 .dsh-meow/anchors.md 文件,按行添加前提锚点:
# 关键前提锚点清单
- “主角的师门在灭门之夜全军覆没”
- 炼体→炼气→炼神
道基一成,方向不可改
增删行后,下一次上下文压缩立即生效。
使用命令或工具¶
- 使用
/anchor命令管理默认清单。 - 在对话中让模型调用
premise_anchor工具进行增删查。
查看告警¶
当压缩摘要丢失锚点时,系统会输出如下告警:
⚠️ 前提告警【前提守卫 premise-guard-cn】:刚才的上下文压缩(seqs 12-40)生成的摘要丢失了以下关键锚点:
- 【标注】“主角的师门在灭门之夜全军覆没”
- 修炼共分九重天,第九重从未有人真正踏足
若这些前提仍然重要,用 session 事件工具从日志读回被压缩区间核对;若摘要已用等价表述保留,或前提已不再影响当前工作,忽略本提醒。
适用场景与注意¶
- 适用场景:主要面向中文小说、长篇创作或设定复杂的项目。
- 触发时机:只在
compaction/summary事件后检查。 - 匹配机制:命中片段为字面匹配(子串),非语义判断。如果摘要用等价表述保留了前提,插件仍可能误报,告警文案已提示模型自行判断。
- 边界说明:清单与告警均为工具线索,不替代项目的正式笔记与来源裁定。
- 许可:MIT。基于
ICCuse/dsh-premise-guard修改,保留原作者署名。
总结¶
dsh-premise-guard-cn 为中文长文创作场景提供了针对性的前提防丢机制。通过自动锚点提取与手动清单维护,它能在上下文压缩后主动提示模型可能丢失的关键设定,降低长对话中的逻辑崩塌风险。