Back to home

111111AAA111111

dsh-premise-guard-cn

用于创作小说时预防长上下文压缩导致的关键内容丢失;上下文压缩丢失关键锚点(中文引号/书名号/术语链/编号/设定短语)时自动报警,支持手动锚点清单与 premise_anchor 工具。fork of ICCuse/dsh-premise-guard (MIT)。

Stars
0
Language
JavaScript
Created
Aug 15, 2026
Updated
Aug 15, 2026

Introduction

dsh-premise-guard-cn · 前提守卫

面向中文小说/长文创作项目的前提防丢插件(DeepSeek Harness):上下文压缩时,若摘要丢失了关键前提锚点,自动注入一条中文告警。

fork of ICCuse/dsh-premise-guard(MIT)。上游只认 ASCII 锚点(代码路径、报错码、key=value、点号命令),对中文内容基本空转;本版把锚点提取改成中文优先,并增加手动标注清单

解决的问题

  • 长会话被压缩后,模型自己不知道"丢了什么"。本插件在压缩摘要生成时比对被压缩区间与摘要文本,发现关键锚点消失,就在下一步注入告警,指回日志。
  • 中文项目里真正致命的是设定前提:"主角的师门在灭门之夜全军覆没""第九重天从未有人真正踏足"。原版抓不到这类中文锚点,本版能。

功能

1. 中文优先的自动锚点提取

模式示例
中文引号/书名号/直角引号内短语“门规第三条:不得夜出山门”、《青崖手记》、「十年前的那场大火」
顿号/箭头术语链筑基、结丹、元婴;炼体→炼气→炼神
编号锚点W12、A07、P3
仓内中文相对路径设定/人物卡/林晚.md
数字与数量12章、300—500里
长中文串(≥12 字)门派每十年开启一次的秘境入口就在后山断崖之下
原版 ASCII 模式(保留兜底)路径、键值、错误码、点号 token

判定规则:汉字 ≥4 即视为关键锚点;内置中英文停用词表过滤虚词。

2. 手动锚点清单(标注入口)

清单文件默认 <工作区>/.dsh-meow/anchors.md,每行一条;# 开头为注释;行首 - 可省。被压缩区间里出现过、却未出现在压缩摘要中的清单锚点,会以【标注】优先报警(不出现则不报警,不会刷屏)。

3. 工具与命令

  • premise_anchor 工具(模型可调用):list / add / remove,维护当前工作区清单;
  • /anchor 命令(用户):操作默认清单($DSH_HOME/anchors.md),工作区清单请用工具或直接编辑文件。

4. 告警样例

⚠️ 前提告警【前提守卫 premise-guard-cn】:刚才的上下文压缩(seqs 12-40)生成的摘要丢失了以下关键锚点:
- 【标注】“主角的师门在灭门之夜全军覆没”
- 修炼共分九重天,第九重从未有人真正踏足
若这些前提仍然重要,用 session 事件工具从日志读回被压缩区间核对;若摘要已用等价表述保留,或前提已不再影响当前工作,忽略本提醒。

安装

dsh plugin --profile web add "github:111111AAA111111/dsh-premise-guard-cn"
# 或本地目录安装:
dsh plugin --profile web add "file:/path/to/dsh-premise-guard-cn"

重启 DSH 后生效(重启前安装无效,插件随 bundle 在启动时加载)。

配置

在 profile 的 cordis.patch.yml 中覆盖(字段均可选):

- insert:
    - id: premise-guard-cn
      name: 'dsh-premise-guard-cn'
      config:
        anchorsFile: ''      # 手动锚点清单路径;空=自动回退 <cwd>/.dsh-meow/anchors.md → $DSH_HOME/anchors.md
        maxAnchors: 5        # 一次告警最多列出的锚点数
        minAnchorLength: 4   # 自动锚点最短长度
        maxNoticeChars: 700  # 告警文本最大长度

锚点清单写法

# 关键前提锚点清单(# 开头为注释行)
- “主角的师门在灭门之夜全军覆没”
- 炼体→炼气→炼神
道基一成,方向不可改

增删行后下一次压缩立即生效,无需重启。更多示例见 docs/anchors.example.md

与上游的差异

ICCuse/dsh-premise-guard本版
自动锚点仅 ASCII(引号/路径/键值/错误码)中文六类模式 + 原 ASCII 模式
手动标注锚点清单 + premise_anchor 工具 + /anchor 命令
告警语言中文中文(标注锚点带【标注】前缀)
其它事件、注入、一次性告警机制与上游一致

边界说明

  • 只在 compaction/summary 事件后检查;命中片段是字面匹配(子串),不是语义判断——摘要用等价表述保留的前提可能误报,告警文案已提示模型自行判断。
  • 清单与告警都是工具线索,不替代项目的正式笔记与来源裁定。

许可

MIT。基于 ICCuse/dsh-premise-guard(MIT)修改,保留原项目署名。