Skip to content

v0.2.2

Latest

Choose a tag to compare

@anze225-max anze225-max released this 23 Sep 15:15
· 1 commit to master since this release

修复:Codex 接入后工具不生效

Codex 给 gpt-5.6* / gpt-6* 系模型的内置元数据里设了 use_responses_lite,此时工具不在请求顶层的 tools 字段,而是包成 input 里的 additional_tools 项,外层再套一个名为 functions 的 namespace 容器;apply_patch、code mode 的 exec 这类还因为 apply_patch_tool_type: "freeform" 以自由格式(custom)工具下发。

此前只识别顶层 tools,于是整包工具被丢掉,模型一个工具都没拿到,只能把本该发生的调用当文本写出来(界面里能看到成片的伪 tools.exec_command({...})),任务自然跑不下去。

现在:

  • 读取 input 里的 additional_tools 项,并递归展开 namespace 容器
  • 自由格式工具改为模拟成单参数函数(不再丢弃),回程重新标成 custom_tool_call 并还原原始文本
  • 回传时还原 namespace 字段;自由格式调用改发 custom_tool_call_input.delta
  • 无法表达的托管工具(web_search 等)丢弃时打日志,不再静默
  • 连续的 function_call 合并进同一条 assistant 消息
  • 补齐 response.completed 的字符串 id 与三个整数 usage;reasoning 项补 summary;空 arguments 输出 {}

排查工具相关问题时可设 MIMO_DEBUG_TOOLS=1 启动,会打印每次请求的工具布局与最终提供给模型的工具列表。

验证

已用真实 Codex 会话确认:请求日志显示 lite_tool_items=1 top_level_tools=0 -> offering 9 tools,会话记录里出现真实的 custom_tool_call 且命令实际执行并回传输出。

安装

下载下面的 MiMoSwitch.exe,双击运行,选一个安装目录即可(可覆盖安装到已有目录)。目前仅支持 Windows。