v1.5.6 修复 DS4 长思考链截断 + 保留 max 思考深度
🎯 参考 freebuff2api-wokers#8
症状:deepseek-v4-flash 思考链稍长即自动截断,再次继续仍断(cc / Pi 客户端均复现,mimo 正常)。评论指出:推理任务会触发上游返回不同 agent(code-reviewer / base3 / base2),部分 agent 带单次 output 限制。
修复内容
1. 保留 reasoning_effort: max(不再降档)
- 旧实现把
max一律降为high(注释误以为 Luna 上限);官方 efforts 表:flash=[low, high, max]、pro=[high, max]——max 是合法档位; - 实测保留 max 后思考深度 30K → 45K 字符(智力提升),且完整返回(finish=stop,不截断)——这正是「思维链模式核心 = 模型智力提升」所需要的。
2. agent 兜底回退 base3 孪生
- 主 agent 被上游以
free_mode_invalid_agent_model(403)拒绝时,自动回退base3-free-*孪生(官方 free-agents.ts FREEBUFF_WEB_BASE3_AGENT_ID_BY_MODEL); - 应对「上游按用途/推理任务路由到不同 agent、部分带 output 限制」的场景;
-max扩展上下文 root 为预置配额、普通免费账号 403,不选作默认。
3. 路由模式不受影响:persona 替换(套件 applyPersona 语义)+ 首轮核心工具 + weak 近距引导 + flash 近距引导(用户指定文本)全部保留。
验证
- 单元:
normalizeReasoningFieldsmax 保留断言 +agent_fallbackmock(主 agent 403 → base3 成功)✓ - 真实上游:
effort=max + spec 路由→ reasoning=45K / 18K 字符,finish=stop 不截断 ✓ npm test/ typecheck / compose / docker build 全绿 ✓- 本地代理已启动(127.0.0.1:28299,路由开 + spec + 免费模型分散 + 断连自愈)
🐳 镜像
ghcr.io/hengxin666/freebuff-proxy:1.5.6(latest 同步),升级:docker compose pull && docker compose up -d(含远程部署)。