Codex 接入 deepseek-v4-flash-vision-exp 视觉模型:一点发送就报「无法发送消息」,传不了图

问题

用 CC Switch 把 Codex 切到 DeepSeek 视觉模型 deepseek-v4-flash-vision-exp 后,文字对话正常。但一粘贴 / 上传图片,点「提交」按钮就提示:

无法发送消息
请移除图像或切换模型后再发送此消息。

图片被界面直接拦下,请求根本没发出去。

原因

Codex 判断一个模型能不能收图片,看的是 cc-switch-model-catalog.json 里该模型的 input_modalities。而 DeepSeek 这几个模型默认声明的是:

"input_modalities": ["text"],
"supports_image_detail_original": false,
"web_search_tool_type": "text"

["text"] 表示纯文本,所以界面在发送前就把图片拦下了。即使模型名带 vision,也一样被当成纯文本处理。

CC Switch 的界面里没有「图片 / 多模态」开关。它底层存的模型清单只有 model / displayName / contextWindow 三项,input_modalities 这些是它生成 catalog 时用内置模板写死的默认值(DeepSeek 默认 ["text"])。

解决步骤

  1. 打开 ~/.codex/cc-switch-model-catalog.json,找到 slugdeepseek-v4-flash-vision-exp 的条目。

  2. 把它改成:

    "input_modalities": ["text", "image"],
    "supports_image_detail_original": true
    

    若要支持按图检索,可把 web_search_tool_type 一并改成 "text_and_image"

  3. 关键一步:改完 catalog 后,已经打开的对话并不会立即生效。Codex 在会话启动时就缓存了模型能力,这个报错就是在旧会话里仍然被当作纯文本。必须:

    • 彻底退出 Codex(含任务栏 / 托盘图标,别只关窗口)
    • 重新打开 Codex
    • 新建一个对话
    • 重新选一次该模型

    之后再粘贴 / 上传图片发送。

  4. 覆盖问题:CC Switch 每次「切换 / 应用」provider 会重新生成这个 catalog,把手改覆盖回 ["text"]。两种处理:

    • 简单:先在 CC Switch 应用好 DeepSeek,改完 catalog 后就别再切。
    • 稳一点:复制成独立文件(如 codex-model-catalog-vision.json)改好,再把 config.toml 里的 model_catalog_json 指向它。

结果

重启 Codex、新建对话后,就能正常给这个模型传图了。

补充:catalog 只是让 Codex「允许」传图,api.deepseek.comresponses 端点是否真的支持多模态要看服务端。如果模型实际不支持视觉,能传图但请求会直接报错。

– from deepseek

Logo

葡萄城是专业的软件开发技术和低代码平台提供商,聚焦软件开发技术,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。

更多推荐