前言¶
在 DeepSeek Harness(DSH)里跑智能体时,上下文往往最先被工具输出撑满:一次读大文件、grep 整段 dump、或冗长的命令日志,可能一次性塞进几万字节,而模型后续多轮对话都会背着这些 token。常见做法是手动截断或换更小的查询,但要在每次工具返回后稳定处理,更适合做成 DSH 插件,挂在工具执行链路上统一裁剪。
下面介绍社区插件 dsh-token-saver(维护者 LoveDoLove,GitHub 仓库 LoveDoLove/dsh-token-saver)。它在 DSH 工具执行边界拦截 oversized 输出:保留头尾、折叠 grep、可选 RTK 压缩与上下文压力处理,并支持在 DSH Web 里配置与查看节省统计。插件目录页:skillhub.cn/plugins/LoveDoLove/dsh-token-saver(社区目录,与 DeepSeek / 幻方无官方从属关系)。
这是什么¶
DSH Token Saver 是面向 DeepSeek Harness 的可配置 token 效率插件:在工具结果进入会话前缩小读文件、grep、命令日志等体积,并可选地做上下文压力处理、prompt shaping、本地应答与 LLM 摘要压缩。默认只开启相对保守的裁剪与 grep 折叠;RTK、Caveman/Ponytail、本地响应、LLM 摘要等均为独立开关,默认关闭。
工作原理概览¶
插件挂在 DSH 工具执行管道上,README 中的流程可概括为:
- Post-execute hook:工具返回后,对过长结果做头尾保留或折叠(grep 保留匹配行;若启用 RTK,则对支持的命令输出做结构化压缩)。
- Context-pressure handling:在
balanced/aggressive模式下,上下文压力超过阈值时可触发进一步压缩。 - LLM-summary compaction:在
balanced/aggressive下可选,用 LLM 摘要替换大块输出(需配置callLlm)。 - Prompt-cache stability:重排 system prompt 区段,使可缓存区段顺序稳定。
所有路径均为 fail-open:优化出错时保留原始内容;标记为错误的工具结果不会被工具输出过滤器压缩。
核心功能¶
以下能力与 README 功能表一致;「默认」列含义以仓库文档为准。
| 能力 | 说明 | 默认 |
|---|---|---|
| Tool-output trimming | 过长工具结果保留头部与尾部 | 除 off 外均开启 |
| Grep folding | 折叠大体积 grep,保留有用上下文 | 除 off 外均开启 |
| Context-pressure handling | 跟踪上下文压力,较高模式可触发压缩 | conservative 关;balanced/aggressive 开 |
| RTK integration | 通过 RTK 压缩支持的命令输出 | 关 |
| Caveman / Ponytail prompt shaping | 可配置的简洁或最小改动任务风格 | 关 |
| Local responses | 对部分探测形态本地应答,不调用 LLM | 关 |
| LLM-summary compaction | 可选 LLM 摘要压缩 | 关(仅在 balanced/aggressive 有效) |
| Prompt-cache stability | 稳定 system prompt 区段顺序 | 除 off 外应用 |
| Web settings | DSH Web Settings → Token Saver 配置 | 可用 |
模式总开关 mode 取值为 off、conservative、balanced、aggressive:默认 conservative 只做裁剪/折叠并保留 DSH 常规模压缩路径;aggressive 会启用更激进的压缩行为(默认可能替换内置 compaction provider),启用前建议通读配置说明。
安装与启用¶
官方 Quick install 与 Install 小节给出的命令如下(web profile 以 README 为准):
dsh plugin --profile web add github:LoveDoLove/dsh-token-saver
若安装过程要求批准 build script,按 DSH/pnpm 打印的说明批准后重试,并按本机要求 reload 或重启对应 DSH profile。README 建议以 GitHub 仓库与 Releases 为版本来源;需要固定版本时可安装当前文档记载的 v1.0.4:
dsh plugin --profile web add github:LoveDoLove/dsh-token-saver#v1.0.4
Release v1.0.4 亦提供预构建包 dsh-token-saver-1.0.4.tgz,可在无本地构建环境时作为本地包安装。package.json 标明运行环境为 Node >=22.19.0,许可证为 MIT。
配置示例¶
除 Web 面板外,可通过 DSH bundle 配置。README 示例:
dsh-token-saver:
mode: conservative # off | conservative | balanced | aggressive
rtkEnabled: false
cavemanLevel: off # off | lite | full | ultra | wenyan-lite | wenyan | wenyan-ultra
ponytailLevel: off # off | lite | full | ultra
localResponsesEnabled: false
localResponses: [quota, prefix, title, suggestion, filepath]
llmSummaryEnabled: false
常用项(默认值见 README「Key options」表):
headBytes/tailBytes:默认各16384/8192;结果长度不超过headBytes + tailBytes + 256时不改动。grepMaxMatches/grepContextLines:默认30/2。grepHeadBytes/grepTailBytes:默认8192/4096。pressureThreshold:默认0.5。includeToolNames/excludeToolNames:限定或排除参与裁剪的工具名。cacheStableSections:需要固定在前的 system prompt 区段 id,利于 prompt cache。
具体行为与已安装的 DSH 版本相关,以当前构建的设置面板与配置默认为准。
统计与可观测性¶
DSH Web 设置页展示实时节省遥测;累计数据写入 ~/.dsh/token-saver/stats.json(或 $DSH_HOME/token-saver/stats.json),主机重启后仪表盘仍可读到历史合计。指标包括 Saved(压缩减少的字节)、Saved ratio、Calls(产生至少一块裁剪的压缩调用次数)、Blocks(实际被压缩的文本块数)。同一输出可能在 post-execute 与 LLM/stream 路径各压缩一次,故 calls 与 blocks 含义不同;Saved 字节为各次 pass 累加。v1.0.2 起支持持久化累计,更早版本重启后仪表盘会归零。
适用场景与注意¶
适合谁:长期在 DSH Web profile 下开发智能体、频繁读文件与 grep、上下文经常触顶的团队或个人;希望默认保守、再按需打开 RTK 或 LLM 摘要的场景。
安全与权限:插件与当前 DSH 进程同权限运行;安装前请阅读仓库源码与 MIT 许可证,确认 build script 与依赖符合本机策略。错误类工具输出不会被压缩;可选能力均需显式打开。
生态位置:DSH 强调「一切皆插件」;skillhub.cn 为社区插件目录,不等同于官方应用商店。
结尾¶
DSH Token Saver 把 token 节省放在工具返回这一层:默认裁剪与 grep 折叠即可减轻上下文压力,更高模式与 RTK、LLM 摘要、prompt shaping 可按需叠加。安装与版本以 README 为准;进一步了解可看目录页 LoveDoLove/dsh-token-saver 与 GitHub LoveDoLove/dsh-token-saver。