🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

上下文压缩器 kusesad-1122/dsh-context-compactor

DeepSeek Harness
kusesad-112280 天前有提交已提供中文文档扫描:含敏感能力

对话将满时自动总结压缩,避免超长报错

28.9/100
综合分
3
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

该插件未发布到 npm,按作者文档从 GitHub 源安装即可(静态检查只覆盖 npm 路径,不代表插件不可用)。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add kusesad-1122/dsh-context-compactor
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · ui
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/09/25·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 80 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安装兼容性检查需源码安装

仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包@dsh-external/dsh-context-compactor(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/23 21:28:03

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 11 处,展示前 11 条)
  • 写入本地文件
    lib/index.js:599
    writeFileSync('D:/deepseek/dsh-context-compactor/cc-trigger.log',
  • 写入本地文件
    lib/index.js:805
    mkdirSync(dirname(file), { recursive: true })
  • 写入本地文件
    lib/index.js:818
    writeFileSync(file, header + text + '\n', 'utf8')
  • 发起网络请求
    lib/client.js:269
    const response = await fetch('/dsh-context-compactor/enhance', {
  • 写入本地文件
    lib/index.live.js:599
    writeFileSync('D:/deepseek/dsh-context-compactor/cc-trigger.log',
  • 写入本地文件
    lib/index.live.js:805
    mkdirSync(dirname(file), { recursive: true })
  • 写入本地文件
    lib/index.live.js:818
    writeFileSync(file, header + text + '\n', 'utf8')
  • 发起网络请求
    src/client/index.cjs:266
    const response = await fetch('/dsh-context-compactor/enhance', {
  • 写入本地文件
    src/index.js:599
    writeFileSync('D:/deepseek/dsh-context-compactor/cc-trigger.log',
  • 写入本地文件
    src/index.js:805
    mkdirSync(dirname(file), { recursive: true })
  • 写入本地文件
    src/index.js:818
    writeFileSync(file, header + text + '\n', 'utf8')
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-commands@deepseek-ai/dsh-compaction@deepseek-ai/dsh-compaction-basic@deepseek-ai/dsh-compaction-tool-result-pruner@deepseek-ai/dsh-llm@deepseek-ai/dsh-session@deepseek-ai/dsh-token-meter
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 自动总结压缩对话
  • 压缩后校验token下降
  • 溢出自动恢复
展开完整介绍(151 字)↓

DSH 上下文压缩/总结插件:80% 自动全局详细总结压缩(保留核心任务/决策/待解决问题/重要文件位置,删除调试细节与已解决错误),压缩后验保证 totalTokens 必须真实下降,context-overflow 自动恢复,/compact + /context-status,输入框上方一键按钮

README

由 DeepSeek 最新模型翻译生成
dsh-context-compactor 开箱即用的 上下文压缩 / 上下文总结 插件。它把 DSH 官方 dsh-compaction-basic 压缩引擎 + 工具结果裁剪器一次性装配进 profile,解决「对话满了不会自动压缩、模型直接报 maximum context length 导致本轮失败」的问题。 功能 1. 80% 自动触发(总结最优先 + 压缩后验) - 通过 ctx.tokenMeter 估算当前会话 token 用量; - 达到模型窗口 80%(thresholdRatio 默认 0.8)时,下一步前自动先做详细总结:把全部较早历史用 LLM 压缩成一份详尽中文 checkpoint,替换旧消息,只保留最近 retainRatio(默认 16%)的原样尾巴; - 本引擎的监听器以 prepend 注册,会抢在任何 preset 默认压缩引擎之前执行,保证“总结最优先”且用的是详细版总结; - 压缩前后都有会话日志事件(compaction/start、compaction/summary、compaction/end)。
展开完整文档(README 剩余 1 节)
dsh-context-compactor

开箱即用的 上下文压缩 / 上下文总结 插件。它把 DSH 官方 dsh-compaction-basic 压缩引擎 + 工具结果裁剪器一次性装配进 profile,解决「对话满了不会自动压缩、模型直接报 maximum context length 导致本轮失败」的问题。

功能

1. 80% 自动触发(总结最优先 + 压缩后验)

- 通过 ctx.tokenMeter 估算当前会话 token 用量;
- 达到模型窗口 80%(thresholdRatio 默认 0.8)时,下一步前自动先做详细总结:把全部较早历史用 LLM 压缩成一份详尽中文 checkpoint,替换旧消息,只保留最近 retainRatio(默认 16%)的原样尾巴;
- 本引擎的监听器以 prepend 注册,会抢在任何 preset 默认压缩引擎之前执行,保证“总结最优先”且用的是详细版总结;
- 压缩前后都有会话日志事件(compaction/start、compaction/summary、compaction/end)。

1.5 硬性保证:压缩必须真的变小

- 每次压缩都会做 before/after 校验:压缩后 totalTokens 必须严格小于压缩前;
- 自动压缩:
- 目标 = 低于 80% 阈值(所以 80% → 必须 .md(默认开启,可关 saveSummaryFile: false);
- 总结调用生成上限默认 maxTokens: 12288(详细预算,可调大)。

3. context-overflow 自动恢复(专治 context length 报错)

- provider 明确报上下文超限时,先详细总结压缩,再自动 retry 本轮请求;
- 默认最多连续恢复 maxOverflowRetries 次。

4. 超大工具结果裁剪(辅助手段,不替代总结)

- 超过 pruneThresholdChars(默认 8192 字符)的工具输出,保留头 + 标记 + 尾;
- 只裁剪工具结果文本,对话历史一律走详细总结,绝不粗暴截断。

5. 输入框上方的「压缩总结」+「提示增强」按钮

- 浏览器半边通过 dsh.client 清单自动发现,注册到 conversation.input.dock (输入框正上方,与 goal/todo 工具条同一排);
- 工具条实时显示上下文用量百分比(contextPressure 投影),到 80% 自动高亮提醒;
- 左侧按钮「压缩总结」:点击通过 remote.commands.execute(sessionId, '/compact') 立即触发全局详细总结压缩,按钮会显示「压缩总结中…」并在条上回显结果;
- 右侧按钮「提示增强」:这是合并自 LLM-Prompt-Enhancer 的功能,点击读取输入框草稿,调用 DSH 当前模型增强为更清晰的提示词,自动写回输入框(无需额外 Groq Key);按钮显示「增强中…」并在条上回显结果;
- agent 运行中按钮自动禁用;全新空白会话不显示。

6. 手动命令

| 命令 | 作用 |
| /compact | 立即【全局详细总结】并把全部较早历史压缩成一个 checkpoint |
| /enhance-prompt | 用当前模型增强提示词(支持直接跟文本或 JSON {"text":"..."}) |
| /context-status | 查看 token 用量、窗口、80% 阈值、风险与总结保存路径 |

默认配置

enabled: true
auto: true # 开启 80% 压力压缩 + overflow 自动恢复 thresholdRatio: 0.8 # 用量达到窗口 80% 触发【详细总结】压缩 retainRatio: 0.16 # 保留最近 16% 的原样对话 maxTokens: 12288 # 总结调用生成上限(详细预算) compactionRetries: 1 # 一次压力压缩后仍超阈值时的追加尝试 maxOverflowRetries: 2 # context-overflow 恢复重试上限 saveSummaryFile: true # 总结额外落盘到 ~/.dsh/storages/dsh-context-compactor/summaries/ pruneToolResults: true # 只裁剪超大工具结果;对话历史一律走总结 pruneThresholdChars: 8192 pruneHeadChars: 4096 pruneTailChars: 1024 registerCommands: true

也可以给指定模型写精确覆盖策略:

modelPolicies:
- provider: deepseek
model: deepseek-chat
thresholdRatio: 0.7
retainRatio: 0.2
maxOverflowRetries: 3

工作原理(与官方架构一致)

DSH 的 dsh-web-app 会禁用宿主层的压缩后端,压缩由每个 agent preset 决定。
本插件不跟宿主层抢位置:它监听 agent/created(并补扫已存活 agent),对没有压缩引擎的 agent 在其 agent scope 内用独立 isolate 挂载 compaction-basic 和 tool-result-pruner——等价于官方 standard preset 里的

- id: compaction
name: cordis:group
group: true
isolate: { compaction: true, toolResultPruner: true }
config:
- id: compaction-basic
name: '@deepseek-ai/dsh-compaction-basic'
- id: command-compact
name: '@deepseek-ai/dsh-command-compact'
- id: tool-result-pruner
name: '@deepseek-ai/dsh-compaction-tool-result-pruner'

因此:

- 每个 agent 一个独立槽位,不会抢占全局服务名;
- 即使 preset 自带默认引擎,本引擎的 prepend 监听器也会在自动压缩中先执行,保证“详细总结优先”;
- 引擎生命周期跟随 agent,agent 销毁即回收。

安装

1. 构建(host: src → lib/index.js;client: src/client → lib/client.js) bash scripts/build.sh

2. 加入 profile(写入 dependencies + bundles,重启后自动装配) profile 包名:@dsh-external/dsh-context-compactor 根入口 index.js 同时兼容「按包根 index.js 导入」的 loader 约定。
浏览器按钮无需额外配置:clientModules 会通过 dsh.client 清单 +
exports["./client"] 自动发现并伺服 lib/client.js。

3. 热装配(当前进程立即生效) dev_install_package / dev_inject_plugin 指向本目录若遇到 loader 模块缓存中毒,重启 DSH 即可(bundle 路径不依赖热装配)。

装配后刷新页面,输入框上方会出现「压缩总结」工具条;输入 /context-status 可查看用量与阈值。

说明

- 总结调用会优先复用当前会话实际路由的 provider/model;也可用 summarizationProvider + summarizationModel 指定专门的总结模型。
- 单条消息本身就超过模型窗口时,任何表面压缩都无法修复——这种情况需要换更大窗口的模型或拆小输入。
预览分享卡片长什么样 ↓kusesad-1122/dsh-context-compactor
分享 · DeepSeek Harness Hub
kusesad-1122/dsh-context-compactor

对话将满时自动总结压缩,避免超长报错

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部