机制上与上下文压缩领域最响的两条公开路线同源:代码骨架闸门沿用 Headroom(Apache-2.0)的骨架化思路,其公开头条为「编程 agent 少 20% token、JSON 载荷少 60–95% token,答案不变」;估计器通道沿用 TokenPilot(arXiv:2606.17016)的缓存感知上下文管理思路,该论文报告长会话 agent 成本最高降低 60%。这两个数字都是来源方自己的口径,此处照引;本插件不自带 benchmark,不自称任何降幅。在此之上为 DeepSeek Harness 提供:在同一设置区选择压缩 Profile、调整 Auto Compact 触发水位并开关代码骨架压缩;基于 DeepSeek V4 官方 tokenizer 的精确计量与同修订计数校验;非支持模型自动 fail-open,保留原始工具结果。回合内支持骨架化信息压缩、低原文取回率;turn 尾部支持尾部意图摘要(turn-tail intent summary)且仅以内容替代方式实现;上下文内容安全,全程在官方 jsonl 压缩内。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-context-compression-improved
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:drscrewdriver/dsh-context-compression-improved
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
dsh-context-compression-improved
dsh-context-compression-selector 的改进版 fork——面向 DeepSeek Harness 的可审计工具结果上下文压缩选择器,新增正交的*代码骨架压缩门。
English · 日本語 · 한국어 · Français · Deutsch · Italiano · Русский · Español · 更新日志 · 安装教程
[!NOTE] *本fork 在上游 0.1.0 之上新增:
- 正交的代码骨架压缩门(
codeSkeleton.enabled,默认关闭):超大源码类工具结果首次曝光时,可先保留导入与声明的骨架——省略函数体并保留错误行——再进入常规 reducer。- 同一选择器设置区内新增该门的开关,独立于所有压缩 Profile。
- 接入 CI 的 ESLint 基线、
test:watchTDD 环路,以及英/中日韩四语文档。
[!IMPORTANT] 本项目仅支持 DeepSeek 模型。无损测量与有损压缩依赖内置的 DeepSeek 官方 tokenizer(
deepseek-v4-flash、deepseek-v4-pro、deepseek-v4-flash-vision-exp)。其余模型一律 fail-open 并保留原始工具结果。完整安全模型见上游 README。
[!TIP] 推荐接入方式:用 API key 以自定义 Responses API 连接 DeepSeek。 建议走自定义 OpenAI 兼容端点(
/v1/responses)而不是官方账号的 Messages API 路由:前者不经过 Anthropic 风格的消息序列化,不会因为 message 格式而出现问题,可避开tool_use/tool_result配对校验限制(官方路由 resume-replay 时的 400 插件侧无法修复);也便于按时间切换节点后接续会话。
- 支持的 DSH 宿主:
0.1.0-rc.20.1.0-rc.30.1.0-rc.60.1.0-rc.70.1.0-rc.80.1.1-rc.10.1.1-rc.20.1.2-rc.10.1.5-rc.10.1.5-rc.20.1.5-rc.30.1.7-rc.10.1.7-rc.20.2.0-rc.10.2.0-rc.20.2.1-rc.10.2.1-rc.20.2.1-rc.30.2.1-rc.40.2.1-rc.5(覆盖 0.1.0 / 0.1.1 / 0.1.2 / 0.1.5 / 0.1.7 / 0.2.0 / 0.2.1 七条线共 20 个 rc)
它是什么
长时运行的 agent 任务会积累大量工具输出。本社区插件在不修改 DeepSeek Harness 核心的前提下,提供可选、可审计的工具结果上下文压缩策略:
- Fresh:在模型收到之前,预压缩新近超限的工具结果段。
- Aggregate:当 Fresh 压缩后仍超出预算时再次预压缩。
- History / micro-compact:在保护近期工作上下文的前提下替换符合条件的旧工具结果。
- TailTrim:仅在 Custom 下可选的尾窗收缩路径。
- Native:把 Harness 原生头中尾裁剪保留为一个显式 Profile。
- 代码骨架(新增,正交门)——见下节。
每个决策都会留痕:阶段、reducer、触发原因、跳过原因,以及可得时的精确 token 数。
代码骨架门(新增)
开启后,超大源码类新工具结果(例如大型 read_file)会先尝试骨架化压缩:保留导入与类型/函数/类声明,省略函数体并加占位标记,被省略函数体内的错误行予以保留。若骨架无法生成或无法通过验证,则回退到原有的头部裁剪——这道门不会让上下文变得更差。
特性:
- 正交:独立于所选 Profile(
balanced、savings、cache-strict、adaptive、custom、off、native),所有 Profile 都能拿到这道门。 - 默认关闭:
codeSkeleton: { enabled: false },需要显式开启。 - 测量前置:需要精确 DeepSeek tokenizer;不可用时 fail-open。
- 会话冻结:与所有选择器设置一致,修改只影响新观察的会话。
- 严格解析:
codeSkeleton必须恰好是{ enabled: boolean };畸形输入在运行时侧抛错、浏览器侧显示不可读。
设置界面
在同一设置区内选择压缩 Profile、调整 Auto Compact 触发水位,并开关代码骨架压缩。开关即改即存,刷新后显示已保存状态。

监控界面
压缩运行时,插件提供节省量的实时视图:压缩监控悬浮面板——净节省/毛节省/抵消/上下文占用/缓存命中率/成本估算/回合末意图摘要状态,面板内可直接对当前会话恢复或停用——以及会话的上下文趋势图。

压缩会话的上下文趋势:逐步骤/轮次的 token 组成与耗时叠加,剪刀标记指示裁剪/折叠落点。

统计口径与持久化
节省统计分三个口径,语义不同、互不替代:
- 存量(当前生效)——当前上下文面上仍在生效的净节省,随压缩内容进出面而涨落;
- 累计(按 N 次 call)——每个请求边界对存量的采样求和,回答"历史上总共省了多少",跨宿主重启保留;
- 省钱估计——累计按缓存命中/未命中分权折算官方牌价(仅 deepseek-official 官方路由可解,其余只显示 token 口径)。
统计经 SQLite 持久化(~/.dsh/storages/dsh-context-compression/stats.sqlite),跨宿主重启保留;驱动缺席或写失败时可见降级(面板标注,统计退回内存口径)。历史会话可从磁盘行为记录回填统计(宿主 sessionQuery 服务优先,缺席时只读解析会话日志,绝不写会话文件)。记录只含计数/序号/会话标识与组件枚举名,原文与自由文本绝不入库;删除该文件即可完全重置统计。
/ccip 命令提供面板实时控制:rows stock|total|money on|off(行开关)、mode compact|full、session <id|latest|off>(聚焦会话)、flush(强制落库)、backfill pause|resume|status(回填开关)。
安装
从源码构建并安装 —— 本 fork 亦已发布到 npm,包名为 dsh-context-compression-improved(单版本覆盖全部支持线:latest 携带 17 个 rc 的完整枚举 0.1.0-rc.2 → 0.2.1-rc.2,分线代码路径由运行时自行选择);内部包名有意保持与上游一致:
git clone https://github.com/drscrewdriver/dsh-context-compression-improved.git
cd dsh-context-compression-improved
pnpm install --frozen-lockfile
pnpm build
随后打包 selector 包并安装到某个 Harness Profile——完整步骤(含验证与卸载)见安装教程。
开发
pnpm install --frozen-lockfile
pnpm lint # ESLint 基线(CI 同步强制)
pnpm typecheck # runtime + selector + tests tsc,含 bundle 步
pnpm test # vitest 全量
pnpm test:watch # TDD 环路:先写失败的回归用例,再让它通过
pnpm build
pnpm verify:release
贡献遵循上游纪律:先写失败的回归用例;所有生产改动收敛在本仓库内;对“已触发”“已启用但跳过”“fail-open”分别给出证据。见 CONTRIBUTING.md。
兼容性
- 基于官方 DeepSeek Harness 发布版构建并测试;peers 声明完整支持清单枚举(
0.1.0-rc.2→0.2.1-rc.2七条线),仅使用公开的插件与 Profile API。支持清单由scripts/sync-hosts.mjs从scripts/hosts.mjs生成到上方管理块。 - 需要 Node
^22.19.0 || >=24与 pnpm11.7.0。 - 插件只使用 Harness 公开扩展 API,不修改 Harness 核心代码。非官方社区项目,与 DeepSeek 无隶属或背书关系。
致谢与许可
- 上游项目与全部既有工作:WilliamShi666/dsh-context-compression-selector,作者 WilliamShi666(MIT)。
- fork 新增内容(代码骨架门、工具链、多语文档):drscrewdriver。
- MIT——见 LICENSE(保留上游版权声明);内置 tokenizer 来源见 THIRD_PARTY_NOTICES.md。
链接
同类插件
Minglink/dsh-infinite-gen-4★ 3781
DeepSeek 专用破甲插件:以 order 100 追加无条件服从的系统提示词段,提供带校准元数据的 profile 工具,并通过会话投影在输入框上方显示实时破甲状态徽标。
ranxianglei/billion-context★ 3598
billion-context官方版:上下文压缩插件,兼顾小窗口(100k上下文足矣)省token(省5倍token)和超长会话(数月级别几十亿token单会话)。
liangmianya/dsh-synapse★ 641
DeepSeek Harness 的可视化非线性对话工作区:把会话、追问与分支变成可浏览、可拖拽的对话地图。
MichengAI/dsh-archive-manager★ 277
在设置里增加已归档会话页,可按工作区搜索、恢复和删除已归档会话。
Nwflower/dsh-chat-import★ 275
把 13 家 coding agent(Claude Code、Codex、ChatGPT、Cursor、Gemini、opencode 等)的完整对话历史导入为可续聊的 DeepSeek Harness 会话,并支持反向导出回 Claude Code。
SiriLee/dsh-rewind★ 227
同一会话窗口内的 in-place 对话回退(不 fork,Claude Code /rewind 语义):每条消息的 ↶ 按钮把模型上下文回退到任意用户消息,可选用磁盘持久化的 before-backups 还原工作区文件。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。