- [核心修复] 彻底修复多轮 Agent 对话上下文异常膨胀与 Session 历史重复追加 BUG (Issue #3382):
- 解除工具调用历史消息的思考链压缩阻断: 修复此前因
!has_tool_calls守卫过于严格,导致 OpenClaw 等工具调用密集的 Agent 场景下历史 Assistant 消息的长思考文本(reasoning_content)完全无法被压缩的问题。允许在保留合法工具调用及其thoughtSignature前提下,将历史长思考精简为占位符...,彻底释放数十万 Token 的冗余负担并确保 Google API 签名验证正常通过。 - 非保留窗口历史思考块规范占位化: 优化
openai/request.rs,针对非最近窗口的历史 Assistant 思考内容,生成极简占位块{ "text": "...", "thought": true },避免完全剥除思考块导致上游思维模型报错,同时避免重复回传成千上万 Token。 - Session 历史回放语义匹配与防重复翻倍: 增强
prepare_session_input的匹配算法,引入语义前缀匹配(忽略动态 ID 差异)与基于末项消息的滑动定位。增加兜底保护:当客户端携带全量历史但发生失配时,以客户端提交的完整序列为准,杜绝服务端历史与客户端历史二次硬拼(2x/4x)导致上下文笛卡尔积式爆炸。
- 解除工具调用历史消息的思考链压缩阻断: 修复此前因
- [新特性] 支持 OpenAI 兼容接口的视频多模态输入 (video_url / inlineData) (Issue #3381):
- OpenAI 消息内容块扩展支持 video_url: 针对 OpenAI 兼容接口(
/v1/chat/completions)扩展OpenAIContentBlock,增加video_url内容块解析与反序列化,彻底解决此前传入视频时报Invalid request: data did not match any variant of untagged enum OpenAIContent的问题。 - 全格式视频智能解析与 Gemini 原生多模态对齐: 引入专用视频处理模块(
proxy/video),全面支持 Base64 Data URL(如data:video/mp4;base64,...)、远程视频 URL(自动转换为fileData)、本地文件路径(file://或普通系统绝对路径自动读盘转内联)以及裸 Base64 格式;覆盖mp4、webm、mov、avi、wmv、mkv等主流格式的 MIME 归一化与尺寸超限预警,并在请求上下文分析中增加 Token 估算支持。
- OpenAI 消息内容块扩展支持 video_url: 针对 OpenAI 兼容接口(