压缩后前提漂移守卫:摘要丢失关键字面锚点时注入一次性提醒。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:ICCuse/dsh-premise-guard
GitHub 来源的插件在安装时会在你的机器上执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
English | 中文
压缩后前提漂移守卫。每次 compaction/summary 事件发生后,从被压区间的文本里提取特征字面锚点(文件路径、引号字面量、key=value、错误码),检查提交的摘要是否仍包含它们——关键锚点消失时,向下一步注入一次性提醒,告诉模型它可能丢了什么、如何从 append-only 日志里找回。
为什么
召回类设计(recallable-compaction、session-query 工具)让被压内容在起疑时可达。但没有任何东西说"你刚丢了一个关键事实"。本守卫把压缩摘要变成一次被检查的交接:路径、数值或错误串不再在摘要上下文中时,模型立刻得知。
工作机制
| 钩子 | 作用 |
|---|---|
session/event(compaction/summary) |
用 shadowedSeqs 从日志重导出被压区间文本(日志保留每个字节),提取锚点,与 event.data.summary 对比。 |
agent/pre-step |
注入一次性提醒(插件源),点名最多 maxAnchors 个消失锚点与被压 seq 区间;新的用户提示会跳过投递。 |
锚点提取是确定性纯函数——无 LLM 调用、无新存储。
配置
| 字段 | 默认 | 含义 |
|---|---|---|
maxAnchors |
5 |
一条提醒中点名的消失锚点数。 |
minAnchorLength |
6 |
短于此长度的锚点永不视为关键。 |
maxNoticeChars |
400 |
提醒文本上限。 |
三者必须为 >= 1 的整数;配置错误在插件加载时直接抛错。
安装
尚未发布到 npm —— 直接从此仓库安装:
npm install github:ICCuse/dsh-premise-guard
# 或:pnpm add github:ICCuse/dsh-premise-guard
然后在 profile 组装中挂载(package.json 已声明 dsh.bundle):
- id: dsh-premise-guard
name: 'dsh-premise-guard'
发布后亦可 dsh plugin --profile web add dsh-premise-guard。
链接
同类插件
LoserFox/distill★ 15
自动对话蒸馏:后台 subagent 反省 + 技能 create/update。
omdsh-dev/dsh-mnemon★ 11
Mnemon 深度集成:本地三层记忆(Runtime Memory、可检索 Documents、受监督 Memory Spaces)。
modusensus/dsh-mneme★ 8
跨会话记忆:SQLite + 可人工编辑的 Markdown 镜像,后台自动巩固(去重/合并/冲突裁决),提供 6 个记忆工具。
nowledge-co/nowledge-mem-deepseek-harness★ 5
给所有 AI 工具和 Agent 共用的一层记忆:注入 Context Bundle、提示时检索、MCP 工具与回合结束 DSH 线程捕获。
Jesse-njx/dsh-memory★ 2
基于 DSH 无损会话日志的引用式记忆:蒸馏出的事实带 `(sessionId, eventRange)` 引用,可随时展开回原始日志片段。
PerryLink/dsh-memento★ 1
有界、分层、带审批门、可审计的跨会话记忆:`ctx.memory` 服务 + 零依赖 SQLite 存储 + `memory` 工具与冻结快照注入;写入必过审批门,模型可见内容可自会话日志重建。