在 DeepSeek Harness(DSH)这类代理环境中,每个 llm/stream 都是一次真实上游调用。并发会话、平行子代理、重复工具流都会产生大量内容相近甚至完全相同的请求。dsh-call-shrink 在 Stream 层拦截这些请求,通过缓存、去重和批量归并,将 N 次调用压缩为 1 次。
插件简介¶
名称:dsh-call-shrink
一句话:把 N 次 LLM 调用压成 1 次 —— DeepSeek Harness(DSH)的极致调用压缩插件。
维护者:zhuzichen362
许可证:MIT
核心功能¶
极致归并
窗口 10 秒 · 条数无上限 · 不拆批 · 单次输出上限 1 亿 token。插件会在窗口内收集独立请求,将其合并为一次上游调用。
稳定指纹
通过规范化序列化(剔除 sessionId/signal/id/tool_call_id/source),跨会话也能命中相同的工具流,确保缓存和去重的准确性。
协议化合并
使用 [[TASK n]] / [[ANSWER n]] 分隔任务,要求模型输出 JSON 格式的应答。解析成功后按序拆回 N 路原始流;解析失败会自动降级。
失败熔断
连续 2 次合并失败后,插件会自动退化为单发模式,10 秒后复位。
实时面板
在会话头中会出现「调用压缩」状态点,展示今日用量/预算、单发+合并均摊、去重、缓存命中以及省下的调用数。
用量持久化
每日预算设为 500,跨重启记录用量。
一键开关/重置
通过 host.call RPC 操作 state / session-stats / set-enabled / reset。
安装与启用¶
使用官方安装命令添加插件:
dsh plugin --profile web add dsh-call-shrink
安装后重启 dsh web。桌面端请确保内置 dsh 更新到 0.1.0-rc.6 及以上。重启后,会话头会出现「调用压缩」状态点。
文件与配置¶
持久化文件
缓存与用量数据写入工作目录的 .dsh-shrink-cache. / .dsh-shrink-usage.,已列入 .gitignore。
RPC 操作示例
// 开启/关闭插件
host.call('set-enabled', true)
// 查看状态
host.call('state')
// 查看会话统计
host.call('session-stats')
// 重置统计
host.call('reset')
注意事项¶
- 批量归并改变了「并发独立请求各自一次调用」的形态,聚合上游输出依赖模型遵守协议;解析失败会自动降级,不会丢答案。
- 上游调用按 1/N 均摊计入参与合并的各会话。
- 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。