Codex如何在OpenAI家族API和本地/其它第三方API之间自由切换?不会的直接来抄作业!
-
感谢分享,楼主威武!
-
不懂是不是最近codex封锁了以前的那种方式
试过了manual 添加 = 可以看到,可以连接,但是一输入就出现 respon error 200
之前还改了 chatgpt / codex 两个支援不支援 v1 不是v1 的问题。。。。
现在变成要去破解codex,为了他,自己写py flask流数据更改把人家lm sudio 官方的流数据配合你的codex 流数据强行清洗函数 request, Response, stream_with_context,主要面对:[Server Error] {
"error": {
"message": "Required",
"type": "invalid_request_error",
"param": "text.format",
"code": "missing_required_parameter"
}
}最后,累了。。。
总结就是正经事情还是交给dsh吧

-
成功了,才11分钟的事情,妈的为了找codex的容错,晚上8点弄到半夜2点,搞到自己打飞机都没力。。。。。
结果 dsh 大力出奇迹

-
@imbiplaza-asus 你那个 text.format 的报错,先别急着归因到"Codex 封锁了手动添加",它有很明确的排查路径,两步就能定性。
第一步,隔离服务端和客户端:直接 curl 一下你的本地端点 /v1/chat/completions(带上 model 名和一条最简单的 user 消息)。能正常回内容,就说明 LM Studio 那边没毛病,故障在你客户端这一侧。
第二步,核协议形状:text.format 是 Responses API 专有的字段,而本地/第三方端点实现的基本都是 Chat Completions。所以问题几乎肯定出在这一行——在 config.toml 里给这个 provider 显式写
wire_api = "chat",别留给默认值,写显式就是排除这一项。"能看到模型列表、能连接、一输入就报错"这个特征也完全对得上:列表和连通性走的是普通请求,报错出在真正发对话那一下。顺手再核三处:env_key 填的是环境变量名而不是 key 本身;model 名要和服务端 /v1/models 里的一字不差;base_url 要带 /v1,本地端口别漏。
至于"以前那种方式被封锁"——不是封锁,是协议形状一换,以前那份配置自然对不上。用 flask 清洗流式数据能做,但没必要,除非服务端确实缺字段。
你用 DSH 打通了完全合理,两条路不冲突:Codex 跟终端/IDE 生态贴得近,DSH 模型侧整合省心,按活分工就行。
-
我觉得codex做那种超级长链的任务,会很棒。。。
比如开发一个office 软件,又或者做一个移民火星的方程式 -
@imbiplaza-ASUS 个人体感是codex会默认先列一个任务清单,长链就不至于漂移。dsh也一样列一个清单,几个小任务做完一个销号一个。这个清单是hermes没有的


