dsh-token-saver:DeepSeek Harness 插件

前言

DeepSeek 类 agent 在长任务中,80% 以上的 prompt tokens 消耗在两类内容上:一是被一次性读取的大文件(如 1MB 的迁移 SQL),二是被反复搜索并回填的 grep 结果。这导致上下文窗口很快被填满,影响推理质量。

dsh-token-saver 是一个为 DeepSeek Harness (dsh) 设计的 Cordis 插件。由开发者 Shaw529 维护,采用 MIT 许可证。它的核心目标是在不破坏任务效果的前提下,通过挂载扩展点实现激进且无损的 token 节省。

核心功能

插件通过三个扩展点实现 token 优化:

  • tools/post-execute:进行无损头尾裁剪和 grep 折叠。默认保留头尾部分,中间用 metadata 替换,模型仍能感知内容被截断。
  • agent/pre-step:委托 dsh 官方的 ctx.compaction 机制,在压力阈值触发时自动进行上下文压缩。
  • 可选功能:支持 prompt-cache 段稳定排序,提升缓存命中率。

安装

确保已安装 DeepSeek Harness。在 harness home 目录下执行以下命令安装:

dsh plugin --profile web install dsh-token-saver

锁定版本安装:

dsh plugin --profile web install dsh-token-saver@0.1.0

前置条件:需要 Node.js 版本 >= 22.19.0。

配置

在 cordis.yml 中添加插件配置。以下是默认配置示例:

- name: 'dsh-token-saver'
  config:
    mode: balanced
    headBytes: 16384
    tailBytes: 8192
    grepMaxMatches: 30
    grepContextLines: 2
    grepHeadBytes: 8192
    grepTailBytes: 4096
    pressureThreshold: 0.5
    compactPressureThreshold: 0.5
    llmSummaryEnabled: false
    llmSummaryMaxInputTokens: 16000
    replaceBasicCompaction: false
    includeToolNames: []
    excludeToolNames: ['interaction.ask_user', 'interaction.confirm']
    cacheStableSections: ['agent-identity', 'user-instructions', 'tool-list']
    telemetry:
      onFold: |
        (event) => logger.info({ kind: 'fold', ...event })
      onCompact: |
        (event) => metrics.histogram('tokens.saved', event.savedTokens, ['engine', event.engine])

关键配置项说明

  • mode:模式选择器,默认为 conservative。
  • headBytes / tailBytes:工具结果保留的头尾字节数。
  • llmSummaryEnabled:启用 LLM 摘要引擎(推荐在 balanced 或 aggressive 模式下开启)。
  • excludeToolNames:黑名单,防止对某些交互类工具进行截断。

模式与效果

插件提供四种模式,通过 mode 字段配置:

模式 头尾裁剪 grep 折叠 触发 ctx.compaction 替换 dsh-compaction-basic LLM-summary
off ❌ ❌ ❌ ❌ ❌
conservative (默认) ✅ ✅ ❌ ❌ 可选
balanced ✅ ✅ ✅ ❌ 推荐
aggressive ✅ ✅ ✅ ✅ 推荐

保守模式:完全不替换 dsh 原生链路,仅对工具结果做无损头尾折叠,确保任务效果零损失。

在覆盖 8 个真实场景的基准测试中(基于 4 chars/token 规则估算),插件表现如下:

  • 保守模式:平均节省约 97.6% 的 tokens。
  • 平衡模式:平均节省约 98.5% 的 tokens。

节省率最高的场景是混合会话(12 个工具),原始 tokens 约 200 万,经平衡模式压缩后降至约 3.5 万。

注意事项

  • 兼容性:保守模式不会修改 dsh 原生链路,适合对稳定性要求极高的场景。
  • 运行环境:必须在 Node.js >= 22.19.0 环境下运行。
  • 生态背景:DSH 理念是“一切皆插件”,本插件为社区项目,与 DeepSeek 官方无官方从属关系。

结语

dsh-token-saver 通过在工具执行后和执行前介入,对工具输出结果进行智能压缩和折叠,能够显著降低长任务的 token 消耗。对于需要处理大文件或大量检索结果的 agent 任务,这是一个值得尝试的优化方案。

项目地址:GitHub

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜