dsh-premise-guard
其他 活跃维护

dsh-premise-guard

ICCuse/dsh-premise-guard

压缩后前提漂移防护插件,检测到摘要丢弃关键前提锚点时自动向模型注入单次提醒,告知遗漏内容,避免后续输出偏离原始上下文,轻量适配无需额外配置,可直接嵌入推理链路使用。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
TypeScript
主要语言
MIT
开源协议
26 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:ICCuse/dsh-premise-guard
git clone https://github.com/ICCuse/dsh-premise-guard.git
git clone git@github.com:ICCuse/dsh-premise-guard.git
README.md main

@deepseek-ai/dsh-premise-guard

中文 | English

Post-compaction premise-drift guard. After a compaction/summary event, it extracts distinctive literal anchors (file paths, quoted literals, key=value pairs, error codes) from the shadowed span's text, checks whether the committed summary still contains them, and — when a critical anchor vanished — injects a one-shot notice into the next step telling the model what it may have lost and how to recover it from the append-only log.

Why

Recall-oriented designs (recallable-compaction, session-query tools) make shadowed content reachable when suspected. Nothing says "you just dropped a key fact". This guard turns the compaction summary into a checked handoff: the model learns the moment a path, value, or error string it was relying on is no longer in the summarized context.

How it works

Hook Role
session/event (compaction/summary) Re-derives the shadowed span's text from shadowedSeqs (the log keeps every byte), extracts anchors, and compares against event.data.summary.
agent/pre-step Injects one notice (plugin source) naming up to maxAnchors vanished anchors and the shadowed seq range, once per alarm; a new user prompt skips delivery.

Anchor extraction is deterministic and pure — no LLM calls, no new storage.

Config

Field Default Meaning
maxAnchors 5 Vanished anchors named in one notice.
minAnchorLength 6 Anchors shorter than this are never critical.
maxNoticeChars 400 Notice text cap.

All three must be integers >= 1; misconfiguration throws at plugin load.

Install

Not on npm yet - install from this repository:

npm install github:ICCuse/dsh-premise-guard
# or: pnpm add github:ICCuse/dsh-premise-guard

Then mount the bundle (declared in package.json 'dsh.bundle'):

- id: dsh-premise-guard
  name: 'dsh-premise-guard'

Or, once published, 'dsh plugin --profile web add dsh-premise-guard'.