前言¶
在 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 爲中文長文創作場景提供了針對性的前提防丟機制。通過自動錨點提取與手動清單維護,它能在上下文壓縮後主動提示模型可能丟失的關鍵設定,降低長對話中的邏輯崩塌風險。