huhu23333/dsh-reasoning-distill ↗★ 0
dsh-reasoning-distill
Distill over-long model reasoning into its useful core and replay the distilled version on every later request, with a per-session cost report. 适合需要降低长对话中深度思考模型Token消耗和费用的用户。
Install
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:huhu23333/dsh-reasoning-distillREADME
Read the full README ↗四、配置项
所有配置都在「设置 → 思考压缩」里。下面按面板的分组说明。
总开关与后端
| 选项 | 含义 |
|---|---|
启用思考压缩(enabled) | 总开关,默认关。没有选择后端时强制关闭并锁定。 |
助手消息改写后端(rewriteBackend) | 单选,只列出已安装的后端;再次点击已选中的那一项可以取消选择。 |
规则(分为"默认规则"和"逐模型规则")
逐模型规则是稀疏的:没写的字段继续跟随默认规则;没有单独列出的模型一律使用默认规则。
| 选项 | 含义 |
|---|---|
对主对话启用(enabled) | 该模型在主对话里是否压缩。 |
对可续接子代理启用(continuableSubagents) | 是否也压缩可续聊子代理(如队友)。默认开,因为它们会持续重发思考。 |
对一次性子代理启用(oneShotSubagents) | 是否压缩跑完即结束的一次性委派。默认关,因为它的最终回答之后没有任何请求会重放这次压缩。 |
最大生效深度(continuableMaxDepth / oneShotMaxDepth) | 两个子代理开关各自带一个深度上限:比该深度更深的子孙代理不再压缩,0 表示不限制。 |
触发阈值(thresholdTokens) | 一步思考估算超过多少 token 才触发,默认 4000。 |
最低节省(minSavedTokens) | 压缩结果至少要比原文省这么多 token 才采用,默认 600;未达到时原文保持不变,但这次蒸馏的开销照样计入。 |
附带工具调用结果(includeToolResults) | 交给蒸馏模型的上下文里是否附上该步工具调用的结果;工具调用本身始终附带。 |
压缩最终回答轮(includeFinalTurns) | 是否压缩没有工具调用的收尾步(最终回答)。 |
超时(timeoutMs) | 蒸馏必须在这个时间内完成;到点就放弃这次压缩(原文不动、不记账),下一步只等这么久。0 = 不设限,一直等到出结果。 |
背景块长度上限(maxInputChars) | 交给蒸馏模型的单个上下文块(例如一条工具结果)的字符上限,0 = 不限。 |
蒸馏结果长度上限(maxOutputChars) | 实际采用并重放的压缩结果字符上限,0 = 不限。 |
蒸馏服务商 / 蒸馏模型 / 思考强度(distiller.provider / model / effort) | 用哪个模型做压缩;思考强度选 off 表示不让蒸馏模型自己再思考。默认 deepseek-official/deepseek-flash + off。 |
三种会话都关掉时,该规则的其他项不会生效,面板会把它们锁住。
分支后端专用选项(只有选中 message-edit 时出现)
| 选项 | 含义 |
|---|---|
分支超时(branchTimeoutMs) | 宿主等待分支型后端建好分支的时限;超时就当什么都没发生,继续在原会话里跑。0 = 永不超时。 |
建分支后自动归档原会话(archiveSuperseded) | 分支继续的是同一件工作,所以新分支显示出来后,把被替换的原会话收进归档(仍可从归档找回)。默认开。 |
通用
| 选项 | 含义 |
|---|---|
有后台工作/子代理时不压缩(skipWhileBusy) | 默认开:只要该会话还有运行中的后台任务或子代理,就当作没触发(不蒸馏、不建分支)。关掉则照常压缩,只是被替换的原会话要等那份工作结束才会归档。 |
蒸馏提示词
| 选项 | 含义 |
|---|---|
蒸馏提示词(prompt) | 替换内置的压缩指令;留空 = 使用内置提示词(可点"预览内置提示词"查看)。 |
模型价格与峰谷时段
价格只影响报告里算出来的金额,不影响是否触发压缩。
| 选项 | 含义 |
|---|---|
模型价格(prices) | 按模型配置,每项三列:命中(cache hit)、未命中(miss)、输出(out),单位是"元 / 百万 token"。只有打开"使用峰谷两栏计价"(peakPricing)时才使用第二栏谷时价。内置 DeepSeek 模型出厂就带两栏价;其他模型默认没有条目、按 0 计算(它们的节省会显示为 0),需要时手动添加。 |
时段规则来源(peakSource) | builtin:北京时间工作日 9–12、14–18 为峰时,夜间、周末与节假日全天谷价。whale:读取已安装的 dsh-whale-widget 的时段与节假日常量,读不到时自动回退到内置规则。 |
节假日(holidays) | YYYY-MM-DD 列表,这些日期全天按谷价。可一键恢复内置节假日表。 |
报告里的几个数字
- 当前单次请求减量:当前生效的改写让这一次请求少带的估算 token,是存量而不是累计;改写被整段压缩淘汰后相应减少,全部淘汰归零。
- 历史累计节省:永不重置。
- 净收益 = 历史累计节省 − 蒸馏开销 − 缓存断裂开销。
- 最近一步未触发的原因:面板会直接给出(总开关关、未选择后端、规则关、未到阈值、这一步没有思考、有多个思考块、有后台工作在跑等)。