前言¶
DeepSeek Harness(DSH)的核心理念是“一切皆插件”,这使得开发者可以灵活地扩展功能。在长会话或复杂工具调用的场景中,输入 Token 的消耗往往是显眼的成本项。dsh-token-frugal 插件旨在从源头压缩工具输出,通过分级节省策略和会话记忆匹配,在不影响核心能力的前提下降低输入 Token 成本。
插件定位¶
- 名称:dsh-token-frugal
- 作者:xuzihao66
- 许可证:MIT
- 一句话:通过源侧工具输出压缩、分级节省策略和会话记忆匹配,降低 DeepSeek Harness 长会话的输入 Token 成本。
核心功能¶
插件在 Harness 的事件流中扩展了五个关键点:
-
工具结果压缩 (
tools/post-execute)
对每个已接受的工具结果在记录前进行压缩。处理流程为:先进行无损的结构感知转换,再根据预算进行头部/尾部省略,并标记恢复路径。 -
代理工具目录管理 (
agent/created)
利用ctx.tools.restrict()隐藏配置的工具,将其限制在代理的特定上下文中。插件记录工具移除/添加块,并将变更内容写入工作区记忆文档。 -
工作区记忆匹配 (
agent/inbox/claimed)
在处理新消息时,将其与工作区记忆文档进行匹配。通过agent.inject()注入最佳片段,触发agent/inbox/spliced事件,而非重写历史记录。 -
分级节省控制面板 (
conversation.composer.dock)
在对话编辑器下方提供一个控制面板。节省策略分为三个等级:- 初等:无损,仅清理空白与控制符。
- 中等:折叠重复行与递增计数,内容可无损还原。
- 高等:截断超长结果并改写,存在信息取舍。
每个等级对应一个开关,且改动立即生效,无需重启会话。
-
节省统计页面 (
settings.section)
在设置中提供一个统计页面,报告实际节省的 Token 和指标。价格估算沿用 Harness 的 4 字符 ≈ 1 Token 启发式规则。
使用方法¶
启用插件后,控制面板会显示在对话框下方,展示已开启的节省项数量。点击面板可展开三个等级的分类,通过开关控制具体策略。切换开关会立即应用到当前会话,并持久化保存配置。
查看详细统计,请前往“设置” -> “省 Token 统计”。该页面展示当前进程和历史累计的节省数据,包括被移除的字符数、节省比例以及按工具分类的明细。
技术细节¶
- 持久化存储:插件的状态与模式配置保存在
dsh-token-frugal.state.json文件中,位于配置文件旁。 - 价格估算:统计页面使用与 Harness 相同的启发式规则(4 字符 ≈ 1 token)进行估算。
- 通信机制:插件通过 HTTP 路由在 Client 和 Host 之间通信。
- 版本更新:当前版本为 2.2.0。v2.0.5 修复了
source.kind为空导致显示异常的问题;v2.0.4 引入了分级面板和统计页面。
注意事项¶
- 目录统计:工具目录的节省数值是按每次请求计算的,而非累计总和。
- 历史记录:当未找到配置文件时,历史累计数据仅保留在内存中。
- 权限范围:插件以当前 DSH 进程权限运行,安装前建议检查源码与许可证。
总结¶
dsh-token-frugal 提供了一套完整的工具输出压缩与记忆检索方案。通过可视化的分级控制和实时的统计反馈,它帮助开发者在不牺牲核心功能的前提下,有效控制长会话的 Token 成本。