- Home
- Plugins
- Tools & Capabilities
- dsh-compact-suite
N
dsh-compact-suite
noirabaka/dsh-compact-suite
面向本地部署的 DSH 上下文压缩控制面:面板一键立即压缩、摘要改走指定模型(省掉本地卡的全长 prefill)、让触发阈值真正生效、引擎读数对齐卡片、暂停即完整还原。基线为 dsh-compaction-threshold 1.0.3(MIT)。
Install
dsh plugin --profile web add github:noirabaka/dsh-compact-suiteREADME
dsh-compact-suite
给 DSH 的上下文压缩加一个控制面板。
DSH 的上下文快满时,会自动把旧对话压成一小段摘要来腾地方。但什么时候压、用哪个模型压、留多少,这些你平时都管不了 —— 全由 DSH 自己决定。
这个插件就是把这几个开关交回你手里。
它能干什么
- 一键立即压缩 —— 点一下按钮,马上把旧对话压成摘要,不用等 DSH 决定。
- 什么时候压,你说了算 —— 拖滑块定触发点。原版没有这个入口。
- 用哪个模型压,你说了算 —— 摘要交给指定的模型,主模型不用从头读一遍历史。
- 留多少,你说了算 —— 压完保留多少最近对话,自动或手动。
- 随时反悔 —— 顶部开关一关,全部还原成 DSH 原样,不用重启。
安装
不用 git,不用 npm,两步。
第 1 步:下载安装包
点下面的链接,浏览器会把它存到你的下载文件夹:
第 2 步:装进 DSH
打开 DSH 的 设置 → 插件 → 安装,选中刚才下载的那个 .tgz 文件。
装完按 DSH 的提示刷新或重启一次。
以后要更新,去 Releases 页面 下载最新那个 .tgz,装法一样。
从源码安装(开发者)
git clone https://github.com/NoiraBaka/dsh-compact-suite.git
cd dsh-compact-suite
npm pack
然后用上面第 2 步同样的方式装生成的 .tgz。
面板在哪
输入框左边那排工具,点【压缩】。打开是个小面板:
- 压缩 —— 唯一那个按钮,按保留量压:把触发阈值临时降到保留量下限,下一条消息发出时引擎自己压一次,压完阈值自动还原。按钮变成「已就绪 · 发消息时压」,再点一次是取消。
为什么不是立刻压:引擎的手动入口把保留预算写死成
0(selectCompactableRange(…, 0)),唯一读保留量的路径是自动那条,而它只在agent/pre-step上跑。空闲会话没有 step 可挂,所以「立刻 + 守保留量」在公开 API 上表达不出来 —— 这个按钮要的是能表达的那一半。 想要「忽略保留量、压到底」,手打/compact就是,面板上不再放第二个按钮。 - 接管压缩阈值 —— 总开关。关掉 = 一切还原。
- 触发阈值 —— 滑块。越高,撑得越满才压。不影响「压缩」按钮 —— 那个按钮按自己的下限走。
- 保留量 —— 决定压完留多少。「压缩」按钮守它;「压到底」和溢出恢复不守。
- 摘要模型 —— 让哪个模型去做压缩这件事。
- 压缩记录 —— 本会话每次压缩:压前多少、压后多少、省了多少。
常见疑问
刚压完,"压后"那一栏写的是「计算中」,不是数字?
正常。压缩结束那一刻还没有可信的数字,等你发下一条消息后自动补上。 它不是在后台慢慢算,是在等下一次请求。
为什么原版没有压缩面板?
DSH 自带的压缩是全自动的,不给你留开关。这个插件补上了面板和按钮。
装了这个,会不会把 DSH 改坏?
不会。它只在你开着「接管压缩阈值」时生效;关掉开关、或卸载插件,DSH 恢复原样,不用重启。
开发
npm test
License
MIT
Related plugins
T
archify (deepseek-harness)
tt-a1i/archify
77.3k8 days agoTools & CapabilitiesMIT
T
WeKnora (dsh-weknora)
tencent/weknora
33.5k11 hours agoTools & Capabilities
T
weknora
tencent/weknora
20.2k2 months agoTools & Capabilities
T
BrowserSkill (dsh-plugin-browserskill)
tencent/browserskill
8.7k16 hours agoTools & CapabilitiesMIT