Skip to content

Releases: kusesad-1122/dsh-context-compactor

dsh-context-compactor v0.5.7

Choose a tag to compare

@kusesad-1122 kusesad-1122 released this 16 Aug 11:12

dsh-context-compactor v0.5.7

修复:任务中“动不动就自动压缩”(未到 80% 也压)

根因:上下文窗口判定错误。session.requestHeader().config.maxTokens(256000)是输出 token 上限,却被当成了上下文窗口,导致:

  • 真实窗口(适配器上报 contextWindow: 1000000 = 1M)被忽略;
  • 阈值被算成 256000×80% = 204800;
  • 28~33 万的会话因此“超阈值”,每次任务 pre-step 都触发一次自动压缩——而按 1M 算这些会话只占 28%~33%。

修复

  1. 窗口判定优先级改为:显式覆盖 → 适配器上报的真实窗口(1M) → (最后兜底)头部输出上限。阈值回到 80 万 → 28~33 万的会话不再自动压。
  2. 新增自动压缩冷却:同一会话 5 分钟内不重复自动压(除非确实超出真实窗口),杜绝任务中反复压缩。
  3. 手动 /compact 不受冷却影响,随时可点。

预期行为(回到你要的规则)

  • 上下文用量 ≥ 80%(约 80 万 tokens) 才自动压缩;
  • 想压缩时点“压缩总结”手动压,立即生效、不限次数。

自检

  • 引擎挂载正常;300k 会话在新阈值下不再触发自动压缩(触发日志无新增)。

dsh-context-compactor v0.5.6

Choose a tag to compare

@kusesad-1122 kusesad-1122 released this 16 Aug 09:40

dsh-context-compactor v0.5.6

修复:所有会话点击“压缩总结”都提示“当前会话没有可用的压缩引擎”

  • 根因(两个):
    1. 引擎构造器 bug:DetailedCompactionEngine 构造函数在 super() 之前就访问 his._contextWindowOverrides,JS 派生类直接抛 ReferenceError: Must call super constructor...。导致每个会话的引擎挂载都失败 —— 这就是“没有可用引擎”的元凶。
    2. 宿主层若已装配 oolResultPruner / compaction 服务,重复挂载会报“服务已注册”。
  • 修复:
    • 把 his 访问全部挪到 super() 之后;
    • 改为宿主级单引擎(apply 时挂载一次,服务所有会话,不再依赖 agent/created 事件、不再 per-agent isolate);
    • 已有宿主 oolResultPruner / compaction 服务时直接复用,避免冲突。
  • 自检结果(真实运行 /compact):
    • 空会话:No compactable history yet.
    • 非空闲会话:压缩暂时不可用:已有一个压缩在进行,或 agent 当前不空闲。(正常业务提示)
    • 成功会话1:Compacted 33 history items (~22535 tokens).
    • 成功会话2:已【全局详细总结】并压缩 51 条历史(约 41992 tokens)。
  • 不再出现“没有可用的压缩引擎”。

请重启 DSH 使 v0.5.6 干净装载。

dsh-context-compactor v0.5.4

Choose a tag to compare

@kusesad-1122 kusesad-1122 released this 16 Aug 08:15

dsh-context-compactor v0.5.4

修复:点击“压缩”提示“当前会话没有可用的压缩引擎”

  • 根因:v0.5.3 给所有 agent 用了同一个稳定 isolate 标签,导致第一个 agent 挂上 compaction 服务后,其余 agent 的引擎都因“服务已注册”挂载失败,只剩 1 个会话有引擎。
  • 修复:恢复每个 agent 独立 isolate,让每个会话都有自己的压缩引擎;
  • 增强:/compact 增加“任意已挂载引擎”兜底(引擎是 agent 无关的,可服务任意会话),不会再出现“没有可用引擎”。
  • 实测:某会话成功压缩 216 条历史(约 14 万 tokens)。

注意:当前进程里历史热激活叠加了多个引擎实例,请重启 DSH 让 v0.5.4 干净装载。

dsh-context-compactor v0.5.3

Choose a tag to compare

@kusesad-1122 kusesad-1122 released this 16 Aug 06:55

dsh-context-compactor v0.5.3

修复:换模型提供商后「到不了 80% / 不压缩 / 无法生成总结」

  • 根因:modlens-qwen 等第三方 provider 向 DSH 上报 contextWindow=1,000,000,真实窗口只有 ~256k,导致阈值算成 80 万、会话永远“不到 80%”,自动压缩不触发,也自然不生成总结。
  • 修复:窗口解析顺序改为
    1. modelPolicies[].contextWindow(显式覆盖)
    2. 请求头 >=100k 的 maxTokens(视为真实窗口,如 256000)
    3. 适配器上报的 contextWindow(最后回退)
  • 新增 modelPolicies.contextWindow 配置项,方便按真实窗口手动指定。
  • 压力触发时保证会做一次总结压缩(不再“只裁剪工具结果就返回”)。
  • surface changed 冲突自动重新测量重试;isolate 用稳定标签,减少重复装载冲突。

dsh-context-compactor v0.5.1

Choose a tag to compare

@kusesad-1122 kusesad-1122 released this 16 Aug 05:35

dsh-context-compactor v0.5.1

修复

  • 「提示增强」按钮不再通过 /enhance-prompt 命令执行(避免增强结果出现在对话里)。
  • 改为调用专用 HTTP 接口 POST /dsh-context-compactor/enhance,增强结果直接写回输入框,不写入会话日志/对话。
  • 实测:输入草稿 → 返回增强文本 → 前端 setDraft 替换输入框内容。

功能

  • 输入框上方:「压缩总结」+「提示增强」双按钮
  • 80% 自动全局详细总结压缩 + 压缩后验硬保证
  • /compact、/enhance-prompt、/context-status

dsh-context-compactor v0.5.0

Choose a tag to compare

@kusesad-1122 kusesad-1122 released this 16 Aug 04:59

dsh-context-compactor v0.5.0

DSH 上下文压缩/总结 + 提示增强 合并插件(已合并 LLM-Prompt-Enhancer 的核心功能并适配 DSH UI)。

新增(v0.5.0)

  • 输入框上方「提示增强」按钮(位于「压缩总结」旁边)
  • /enhance-prompt 命令:用 DSH 当前模型(DeepSeek)增强输入框草稿,无需额外 Groq Key
  • 增强结果自动写回输入框,可在工具条看到状态反馈

既有功能

  • 80% 自动全局详细总结压缩(保留:核心任务/进度、决策及理由、待解决问题、重要文件/代码位置;删除:调试过程、已解决错误、客套话与重复;旧 checkpoint 全局合并)
  • 压缩后验硬保证:压缩后 totalTokens 必须真实下降,否则自动加深压缩
  • context-overflow 自动恢复重试
  • /compact、/context-status 命令
  • 总结双份保存(会话日志 + Markdown)

dsh-context-compactor v0.4.0

Choose a tag to compare

@kusesad-1122 kusesad-1122 released this 16 Aug 04:24

dsh-context-compactor v0.4.0

DSH(DeepSeek Harness)上下文压缩/总结插件:解决「对话一满不压缩直接 context length 崩掉」。

功能

  • 80% 自动触发全局详细总结压缩(prepend 优先于 preset 默认引擎)
  • 总结保留策略:核心任务与当前进度 / 关键决策及理由 / 待解决问题 / 重要文件或代码位置
  • 删除策略:详细调试过程、已解决错误、客套话与重复内容;旧 checkpoint 全局合并
  • 压缩后验硬保证:每次压缩校验 totalTokens 必须真实下降;未达标自动降保留尾巴 + 降总结预算反复压缩;仍不降则明确报错
  • context-overflow 自动恢复:先压缩再 retry
  • 工具结果裁剪(不替代总结)
  • 命令:/compact、/context-status
  • 输入框上方「压缩总结」按钮(实时用量百分比 + 一键压缩)
  • 总结双份保存:会话日志 checkpoint + ~/.dsh/storages/dsh-context-compactor/summaries/

安装

DSH profile 安装本插件包即可,或:
bash bash scripts/build.sh npm pack
详见 README。