很多人在评论区反馈 deepseek接入codex
没聊几句就会出现400错误

之前专门出视频讲了这个400的原因,我测试下来说是deepseek接入codex不支持定时任务
其实不仅仅是定时任务,可能还有其他的功能不支持,也会报400错误
这个文档就来测试一下deepseek接入codex,codex中最常用的一些功能
看看哪些功能没问题,哪些功能不支持
- 普通对话与代码生成
apply_patch修改文件- 终端命令
- MCP 工具
- Skills
- 网页搜索
- 图片识别
- 旧会话续聊
- 定时任务
很多兼容问题不是第一轮报错,而是工具调用完成后,下一轮重新发送历史时才出现 400。
实测结果

我是直接用codex帮我测的,也基本我之前的判断
| 功能 | 结果 | 关键证据 |
|---|---|---|
| 普通对话与代码生成 | ✅ | 本会话全程正常,生成探测脚本并运行成功 |
| apply_patch | ✅ | 新增/修改文件成功,下一轮历史回传无 400 |
| 终端命令 | ✅ | PowerShell、下载、Python 全部正常 |
| MCP 工具 | ✅(协议级) | list_mcp_resources 正常返回 |
| Skills | ✅ | skill 注入和读取正常,报告就是按 bilibili-video-planner skill 产出的 |
| 网页搜索 | ✅ | 搜到了关键 Issue 和官方文档 |
| 图片识别 | ❌ | 客户端直接禁用:view_image is not allowed because you do not support image inputs |
| 旧会话续聊 | ⚠️ 有条件 | 历史回传 API 层 200;但线程残留旧模型名会 400(已实锤) |
| 定时任务 | ⚠️ 有条件 | automation_request 消息形状 API 层 200;真正的坑是工具 schema 和模型名 |
400 的四个根因
- 模型名残留(最常见,实测复现):DeepSeek 只认
deepseek-v4-pro/flash,但切换供应商后线程/定时任务里保存的还是gpt-5.6-sol→ 直接 400。你的会话日志里就有这条报错,我用探测脚本 T8 原样复现了。 - 思考模式缺 reasoning_content(openai/codex #24500):deepseek-v4-pro 多轮对话时,Codex 下一轮没回传
reasoning_content→ 400。这正是「工具调用完下一轮才报错」的经典场景;flash 实测不受影响。 - 定时任务工具 schema 不合法(cc-switch #5384):
codex_app__automation_update的 JSON Schema 是type: null,DeepSeek 严格校验拒绝 → 400,严重时整个请求都废。 - 接第三方 MCP 要小心:只要某个 MCP 工具的
parameters是{}或缺顶层type,整个请求 400。如果接了自定义 MCP,这是最容易被忽视的坑。