☰
dsh-our-free-model 长思考截断自动恢复机制一次讲清
2026/11/4 1:35:05 网站建设 项目流程

dsh-our-free-model 长思考截断自动恢复机制一次讲清

【免费下载链接】dsh-our-free-model在 dsh 里装上这个插件即可,无需登录、注册或填 API Key,就能使用包括 DeepSeek V4.1 Flash、Kimi K3 在内的前沿模型——完全免费,不限量。 All you do is install this plugin in dsh: no login, no sign-up, no API key — the frontier models are just there, DeepSeek V4.1 Flash and Kimi K3 among them. Completely free, with no usage cap.项目地址: https://gitcode.com/gh_mirrors/ds/dsh-our-free-model

免密免费车道跑深度思考时,模型可能在吐出正文前就被上游掐断流,用户只看到一次空响应。插件在适配器内为这种截断做了一次有界的自动恢复:把已收到的思考当检查点,就地再发一个请求换回正文。免费额度与恢复次数都记在本机,什么能救、救一次就停必须先讲死。

🧭 背景与定位:纯思考断流为什么最值得救

免费车道按会话统计速率,深度思考模型(如 MiMo、各家的 Deep 档)常先静默几十秒只产 reasoning token(思考 token,模型内部推理产生、不一定外显的字),不吐任何正文。若上游此刻无正常结束帧地关闭流,旧行为只有两条:整段无输出按 TRANSPORT 交给宿主重试,把五分钟重付一遍;或已有输出按 STREAM_CUT 判死(不可重试的截断码),用户只拿到失败。两条路都不给答案。自动恢复在两者之间补第三条:适配器内部只追加一次请求,宿主仍看到一个逻辑回合(用户视角的一次提问,区别于实际发出的 HTTP 次数)。

它替代了什么

它替代"整轮重发"和"手动点继续"。长思考断流不再让内核把同一回合重发三次;正文撞到输出上限(finish=length)也不再让宿主提示"发送继续",而是由continuationMessages把已出正文回灌成 assistant 轮自动续写一次(见 src/recovery.js)。

旧路是 TRANSPORT 重发或 STREAM_CUT 判死,恢复只在适配器内补一次请求。

🔄 核心机制:一次恢复请求的入口、判定与落地

入口:首段只拿到思考就断流

首轮请求(attempt 0)解码流时累积状态。只有canRecover命中才进恢复:收到非空 reasoning、无正文、无工具调用、无正常结束帧、检查点未超限、总时限仍有富余、且本轮尚未救过。另一条canRecoverSilentStop处理"发了 stop 却只有思考"的空停——宿主会把这种回合判成空响应,同样从检查点续写一次。

判定与落地:检查点怎么变成新请求

命中后,recoveryMessages保留原始会话,把收到的思考包成一段明确标注的检查点文本,附指令要求直接给结论、至多 800 词、不得重启分析、不得调用工具,用新的 request ID 在同一 session 发起 attempt 1。抢救段若仍冒出工具调用块,直接抛 STREAM_CUT,绝不转交宿主执行;只有正常收尾且产出非空白正文,才记recovered、以 stop 返回。真实 MiMo Deep 一次实测:首段 304 秒自然 EOF,恢复段 32 秒产出 4264 字符正文,共两次请求。

恢复段出现工具调用即抛 STREAM_CUT,成功仅当正常收尾且正文非空。

🎛️ 配置与边界参数:数字写死在 recovery.js

只能收紧,不能放宽

recoveryPolicy读取settings.streamRecovery(默认开启),所有数值只允许向下收窄:输出上限 8192 tokens、检查点上限 131072 字符,时限取RECOVERY_DEFAULTS的上限。写streamRecovery: false即整体关闭,恢复段彻底不发。

预算不足直接跳过

恢复预算取"剩余额度"与 8192 的较小值;低于MIN_BUDGET(512 tokens)时不发起,checkpointFits再用文本字节做保守容量检查(图片 token 不计入估算)。检查点只存在当前调用内存里,结束后释放,不写盘、不进日志。

输出 8192、检查点 131072、预算下限 512,均定义于 src/recovery.js。

🛑 边界与故障:不救的、救失败的、怎么收尾

场景行为落点
第一段已出正文或工具不追加,按原截断收尾STREAM_CUT
空停(stop 却只有思考)同样救一次续写段
恢复段冒出工具调用立即中止STREAM_CUT
恢复段仍无正文不判成功STREAM_CUT
用户取消不改写ABORTED
预算 <512 或检查点超限跳过恢复不发起
某段缺 usage只汇总已知值noUsage

失败统一落回 STREAM_CUT(不可重试),目的就是不让宿主把整条长思考回合再重发一遍;取消保持 ABORTED。统计上物理请求与逻辑回合分开记:同一条recoveryId下 attempt 0/1 各落一条样本,failedRequests数物理失败,logical.recovered才数"救回来"的回合(详见 docs/issue-12-recovery.md 与 scripts/recovery-test.mjs)。

救失败落 STREAM_CUT 阻止宿主重发,取消保持 ABORTED。

于是免费额度与恢复次数始终锁在本机——拿不准能救的那一次,默认动作是停下,而不是多烧一份免费思考。

【免费下载链接】dsh-our-free-model在 dsh 里装上这个插件即可,无需登录、注册或填 API Key,就能使用包括 DeepSeek V4.1 Flash、Kimi K3 在内的前沿模型——完全免费,不限量。 All you do is install this plugin in dsh: no login, no sign-up, no API key — the frontier models are just there, DeepSeek V4.1 Flash and Kimi K3 among them. Completely free, with no usage cap.项目地址: https://gitcode.com/gh_mirrors/ds/dsh-our-free-model

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询