在 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 進程權限運行,安裝前應檢查源碼與許可證。