Skip to content
dsh.fish
Bundle

dsh-compact-suite

面向本地部署的 DSH 上下文压缩控制面:面板一键立即压缩、摘要改走指定模型(省掉本地卡的全长 prefill)、让触发阈值真正生效、引擎读数对齐卡片、暂停即完整还原。基线为 dsh-compaction-threshold 1.0.3(MIT)。

Source
NoiraBaka
stars
1 stars
License
MIT
Updated
Updated 3 days ago

Readme

# dsh-compact-suite

给 DSH 的上下文压缩加一个控制面板。

DSH 的上下文快满时,会自动把旧对话压成一小段摘要来腾地方。但**什么时候压、用哪个模型压、留多少**,这些你平时都管不了 —— 全由 DSH 自己决定。

这个插件就是把这几个开关交回你手里。

## 它能干什么

- **一键立即压缩** —— 点一下按钮,马上把旧对话压成摘要,不用等 DSH 决定。
- **什么时候压,你说了算** —— 拖滑块定触发点。原版没有这个入口。
- **用哪个模型压,你说了算** —— 摘要交给指定的模型,主模型不用从头读一遍历史。
- **留多少,你说了算** —— 压完保留多少最近对话,自动或手动。
- **随时反悔** —— 顶部开关一关,全部还原成 DSH 原样,不用重启。

## 安装

不用 git,不用 npm,两步。

> **兼容性**:2.9.2 起要求 DSH **0.2.1-rc.1 或更新**。旧版 DSH(0.2.0-rc.2)用 2.8.9。
> 差别只有一条:`@deepseek-ai/schemastery` 从 peer 依赖改成了真依赖 —— 0.2.1 里它不再被别的包顺带装进 profile,插件在 `import` 阶段就会失败、整个宿主半不加载(面板显示「无法读取状态」)。

**第 1 步:下载安装包**

点下面的链接,浏览器会把它存到你的下载文件夹:

[dsh-compact-suite-2.9.2.tgz](https://github.com/NoiraBaka/dsh-compact-suite/releases/download/v2.9.2/dsh-compact-suite-2.9.2.tgz)

**第 2 步:装进 DSH**

打开 DSH 的 **设置 → 插件 → 安装**,选中刚才下载的那个 `.tgz` 文件。
装完按 DSH 的提示刷新或重启一次。

以后要更新,去 [Releases 页面](https://github.com/NoiraBaka/dsh-compact-suite/releases) 下载最新那个 `.tgz`,装法一样。

## 从源码安装(开发者)

```bash
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 恢复原样,不用重启。

## 开发

```bash
npm test
```

## License

MIT

Install

dsh plugin --profile web add github:NoiraBaka/dsh-compact-suite

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source