上下文裁剪插件原理示意

DeepSeek API 断网那天,本地模型顶上——但会话上下文超出本地模型上限,云端压缩又用不了。解法:不需要压缩,直接裁剪。

缘起

DSH 的上下文压缩机制依赖大模型来概括精简上下文。云端模型不可用时,压缩机制就瘫了。

关键洞察来自一句提醒:"你需要的不是上下文压缩,而是上下文裁剪。不需要大模型参与,只需要剪掉超出限额的部分。"

插件核心逻辑

不靠大模型,纯脚本操作:

后续踩出的两个坑

坑一:头部预留(roomhead)吞掉一半上下文。 DSH v0.1.7-rc 为配合云端 API 引入了固定 64K 的头部预留,本地模型的 128K 上下文顿时只有一半能用——上下文还没填到 50% 就触发压缩。插件补了上下文计算调优功能。

坑二:内置 prune 会剪掉最后一组会话。 模型读进一个大文件 → 触发 prune → 刚读的代码被剪掉 → 模型再读同一个文件 → 死循环。插件又补了 prune 调优。

安装

dsh plugin --profile web add dsh-command-context-trim

一句话

本地模型跑 agent 时上下文超限?不需要云端模型做压缩,纯脚本裁剪就能解决——还比压缩省 token。