让 Codex CLI 跑上 DeepSeek:用 LiteLLM 做 Responses↔Chat 协议翻译
结论先行Codex CLI实测 v0.143.0只认 OpenAI 的Responses API而 DeepSeek 只提供Chat Completions。两者协议对不上直接配必然 404。中间架一层 LiteLLM 代理做协议翻译Codex 说 Responses、LiteLLM 转成 Chat 转发给 DeepSeek链路就通了。本文给出的配置和命令可以直接照抄所有踩过的坑都标在第四节。一、为什么不能直接配我一开始也以为改改config.toml就行结果在三个坑里来回跳协议层面不兼容。Codex v0.143.0 把wire_api写死为responses它发出的每个请求都是POST /v1/responses。DeepSeek 的 OpenAI 兼容端点里只有/v1/chat/completions没有/v1/responses。直连必 404。wire_api没有可调空间。新版 Codex 已经把chat选项删了你设chat它直接拒绝加载配置设responses配置能加载但请求照样 404。翻这个字段纯属浪费时间。key 的字段名也有坑见 4.1。所以根因不是配置写错是两边协议不兼容必须有个翻译层。二、架构Responses/v1/responsesChat/v1/chat/completionsChat 响应 / SSEResponses 响应 / SSECodex CLIwire_apiresponsesLiteLLM 本地代理127.0.0.1:8787DeepSeek APICodex 全程只跟本地127.0.0.1:8787通信它以为自己在调 OpenAILiteLLM 负责把 Responses 语义翻成 Chat再把 DeepSeek 的回答翻回 Responses。流式SSE和工具调用function_callCodex 跑命令/改文件就靠这个都在翻译范围内。三、前置条件一个本地空闲端口本文用8787。Python 3.12用 venv 隔离别污染全局环境。一个 DeepSeek API key下文记为YOUR_DEEPSEEK_API_KEY。Codex CLI 任意只支持responses的版本v0.143.0 实测通过。四、踩坑记录重点先看这个再动手这些是我实际踩过的照着避能省至少三轮往返4.1env_key不是api_keyCodex 的config.toml里把整串 key 写进env_key是错的——Codex 会把它当环境变量名去getenv()于是报Missing environment variable: sk-...。正确做法是直接内联api_key sk-...。4.2wire_api chat已被新版 Codex 移除设成chat会直接报wire_api chat is no longer supported配置根本加载不了。别试。4.3wire_api responses直连 DeepSeek 必 404这是协议根因不是配置问题。设了能加载但每个请求都打到 DeepSeek 不存在的/v1/responses全部 404。翻wire_api无解。4.4 LiteLLM 模型前缀必须用deepseek/不能用openai/这是最阴的一个坑。如果你在litellm_config.yaml里写model: openai/deepseek-v4-flashLiteLLM 会认为这是个原生支持 Responses 的 OpenAI 兼容端点直接把/responses原样转发给 DeepSeek→ 又 404。只有写model: deepseek/deepseek-v4-flashLiteLLM 才会启用 Responses→Chat 的翻译逻辑。差一个前缀天差地别。4.5 只装litellm不够要litellm[proxy]启动代理时若只pip install litellm会缺backoff等依赖而启动失败。务必装 extraspip install litellm[proxy]。4.6 Codex 启动时的Model metadata not found警告无害每次启动都会看到⚠ Model metadata for deepseek-v4-flash not found. Defaulting to fallback metadata。这是因为deepseek-v4-flash是自定义模型不在 Codex 内置清单里它走兜底元数据。聊天场景实际无影响直接忽略。4.7 代理是常驻后台进程代理一旦退出比如启动它的终端/会话关闭Codex 就 404。下次用 Codex 前先手动把代理拉起来见 3.3 的启动命令。五、实操步骤5.1 建隔离环境并装依赖python-mvenv ~/.codex-proxy/venv# Windows~/.codex-proxy/venv/Scripts/pipinstalllitellm[proxy]uvicorn# macOS / Linux~/.codex-proxy/venv/bin/pipinstalllitellm[proxy]uvicorn注意Windows 的 venv 可执行文件在Scripts/下如Scripts/litellm.exe、Scripts/pip.exe类 Unix 在bin/下。下文脚本按 Windows 路径写类 Unix 自行替换。5.2 写 LiteLLM 配置~/.codex-proxy/litellm_config.yamlmodel_list:-model_name:deepseek-v4-flashlitellm_params:model:deepseek/deepseek-v4-flash# 关键必须是 deepseek/ 前缀见 4.4api_key:YOUR_DEEPSEEK_API_KEYdrop_params:truegeneral_settings:disable_auth:true# 本地代理关掉鉴权telemetry:falsemodel_name是暴露给 Codex 的模型名要和 Codex 配置里的model对齐。drop_params: true让 LiteLLM 丢掉 DeepSeek 不认识的参数避免偶发报错。5.3 启动代理写个启动脚本~/.codex-proxy/start-proxy.shWindows 版#!/usr/bin/env bashset-eVENV$HOME/.codex-proxy/venvCFG$HOME/.codex-proxy/litellm_config.yamlexec$VENV/Scripts/litellm.exe--config$CFG--port8787--host127.0.0.1后台启动nohupbash~/.codex-proxy/start-proxy.sh~/.codex-proxy/proxy.log21等代理就绪健康接口返回 200 即代表起来了最多等 40 秒foriin$(seq140);docode$(curl-s-o/dev/null-w%{http_code}http://127.0.0.1:8787/health/liveliness2/dev/null)[$code200]{echoproxy up after${i}s;break;}sleep1done停掉代理taskkill /IM litellm.exe /FWindows或pkill -f litellm类 Unix。5.4 改 Codex 配置指向代理~/.codex/config.toml里 provider 段改成model deepseek-v4-flash model_provider deepseek preferred_auth_method apikey [model_providers.deepseek] name DeepSeek via local proxy base_url http://127.0.0.1:8787/v1 # 指向本地代理不是 DeepSeek 官网 api_key YOUR_DEEPSEEK_API_KEY # 代理关了鉴权这里随便填也能通但留着不碍事 wire_api responsesbase_url从 DeepSeek 官网换成127.0.0.1:8787/v1是核心改动wire_api保持responses不动。六、验证三条 curl 全过才算通基础补全——应返回标准 Responses 结构output内含messageoutput_textcurl-s-XPOST http://127.0.0.1:8787/v1/responses\-HContent-Type: application/json\-d{model:deepseek-v4-flash,input:Reply with exactly one word: hi}工具调用——应返回function_callname 为ping这是 Codex 执行命令的关键能力curl-s-XPOST http://127.0.0.1:8787/v1/responses\-HContent-Type: application/json\-d{model:deepseek-v4-flash,tools:[{type:function,name:ping,description:return pong,parameters:{type:object,properties:{}}}],input:call the ping tool}流式SSE——应看到response.created→output_item.added→content_part.added事件流curl-s-N-XPOST http://127.0.0.1:8787/v1/responses\-HContent-Type: application/json\-d{model:deepseek-v4-flash,input:say hello in 3 words,stream:true}三条都正常直接codex就能用 DeepSeek 干活了。七、为什么是 LiteLLM 而不是降级 Codex我也考虑过降级到还支持wire_api chat的旧版 Codex但那条路等于把自己锁死在旧版本上以后 Codex 出新能力都用不了。LiteLLM 这层代理的好处是Codex 永远用最新版翻译逻辑独立演进DeepSeek 换成别的 Chat 协议供应商也只是改一行model映射。代价是多跑一个本地进程——对这个场景来说划算。

相关新闻

Cocos Creator跨平台构建实战:5大核心配置与性能优化指南

Cocos Creator跨平台构建实战:5大核心配置与性能优化指南

1. 项目概述:为什么跨平台构建是Cocos开发者的必修课?如果你用Cocos Creator开发过游戏,肯定经历过这样的场景:在编辑器里预览一切完美,点击“构建”按钮,满怀期待地等待第一个包体诞生,结果要么…

2026/7/11 5:54:07阅读更多 →
LTC1864与PIC18F4525的SPI接口设计与工业应用

LTC1864与PIC18F4525的SPI接口设计与工业应用

1. 为什么需要模拟信号与数字系统的无缝集成?在现代电子系统中,模拟信号与数字系统的接口设计一直是工程师面临的关键挑战。以工业传感器为例,温度、压力、振动等物理量通过传感器转换为微弱的模拟电压信号(通常在0-5V或4-20mA范围…

2026/7/11 5:54:07阅读更多 →
工业级条码扫描模块EM3080-W与PIC18微控制器集成方案

工业级条码扫描模块EM3080-W与PIC18微控制器集成方案

1. EM3080-W条形码扫描模块深度解析EM3080-W是一款专为工业环境设计的激光条形码扫描模块,其核心优势在于集成了完整的光电转换系统和解码电路。这个仅有拇指大小的模块内部包含650nm红色激光二极管、精密光学透镜组和高速光电传感器阵列,能够在0-300mm范…

2026/7/11 5:54:07阅读更多 →
华为数字IC/FPGA笔试:30单选+10多选真题解析与3类高频考点归纳

华为数字IC/FPGA笔试:30单选+10多选真题解析与3类高频考点归纳

华为数字IC/FPGA笔试深度解析:高频考点与备考策略1. 笔试概况与核心特点华为数字IC/FPGA岗位的笔试环节是校招过程中的第一道技术门槛,其独特的设计模式往往让初次接触的考生感到既熟悉又陌生。与大多数科技公司的技术笔试不同,华为硬件类岗位…

2026/7/11 8:14:18阅读更多 →
终极Windows风扇控制指南:用FanControl打造静音高效的电脑散热系统

终极Windows风扇控制指南:用FanControl打造静音高效的电脑散热系统

终极Windows风扇控制指南:用FanControl打造静音高效的电脑散热系统 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub…

2026/7/11 8:14:18阅读更多 →
M-BUS主机接收电路优化:差动运放预处理方案,提升负载适应性实测

M-BUS主机接收电路优化:差动运放预处理方案,提升负载适应性实测

M-BUS主机接收电路优化:差动运放预处理方案提升负载适应性实战解析在工业自动化与智能仪表领域,M-BUS总线凭借其两线制、远程供电和自由拓扑等优势,已成为水电气热计量系统的首选通信协议。然而,传统主机接收电路在面对动态负载变…

2026/7/11 8:14:18阅读更多 →
AI Skills赋能安全测试:构建智能协同工作流,重塑渗透与代码审计

AI Skills赋能安全测试:构建智能协同工作流,重塑渗透与代码审计

1. 项目概述:当安全测试遇上AI技能最近在安全圈子里,一个词被反复提及:AI Skills。这玩意儿听起来有点玄乎,但说白了,它就是给大语言模型(比如Claude、GPT-4)装上的一套“专家工具箱”。想象一下…

2026/7/11 8:14:18阅读更多 →
大模型生成可流片RTL代码的工程化实践

大模型生成可流片RTL代码的工程化实践

1. 项目概述:当大模型开始写寄存器传输级代码,我们到底在解决什么问题?“LLM 在 IC RTL 代码生成中的工程化探索”——这个标题里藏着芯片设计圈最近半年最真实、最焦灼的一次集体叩问。不是“能不能用大模型写Verilog”,而是“怎…

2026/7/11 8:14:18阅读更多 →
Godot游戏资源提取实战:从编辑器操作到脚本自动化全解析

Godot游戏资源提取实战:从编辑器操作到脚本自动化全解析

1. 项目概述:为什么我们需要提取Godot游戏资源?作为一名独立游戏开发者,我经常在社区里看到这样的讨论:“这个Godot游戏里的美术素材真棒,能拿来学习参考吗?”或者“我买了个游戏源码,但里面的资…

2026/7/11 8:09:17阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/10 12:10:00阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/10 12:29:21阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/10 4:59:05阅读更多 →
Premiere Pro 2025安装失败原因与AGSIS验证绕过指南

Premiere Pro 2025安装失败原因与AGSIS验证绕过指南

1. 为什么2025版PR安装比以往更“磨人”?——从弹窗警告到路径陷阱的真实处境 Premiere Pro 2025版不是简单的一次版本迭代,它是一道分水岭。我从去年底开始帮影视工作室、高校剪辑实验室和自由职业者部署2025环境,累计处理了137台设备&#…

2026/7/11 0:03:43阅读更多 →
5款实用macOS系统优化工具:让你的Mac运行更流畅更高效

5款实用macOS系统优化工具:让你的Mac运行更流畅更高效

5款实用macOS系统优化工具:让你的Mac运行更流畅更高效 【免费下载链接】open-source-mac-os-apps 🚀 Awesome list of open source applications for macOS. https://t.me/s/opensourcemacosapps 项目地址: https://gitcode.com/gh_mirrors/op/open-so…

2026/7/11 0:03:43阅读更多 →
5分钟完全掌握:ComfyUI ControlNet预处理器终极使用指南

5分钟完全掌握:ComfyUI ControlNet预处理器终极使用指南

5分钟完全掌握:ComfyUI ControlNet预处理器终极使用指南 【免费下载链接】comfyui_controlnet_aux ComfyUIs ControlNet Auxiliary Preprocessors 项目地址: https://gitcode.com/gh_mirrors/co/comfyui_controlnet_aux 想要让AI图像生成真正听从你的指挥吗&…

2026/7/11 0:03:43阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/10 13:39:09阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/10 22:20:33阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/10 17:29:22阅读更多 →