ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Codex CLI/SDK 接入 DS2API 完整指南:wire_api=chat 与 responses 双模式实测对比

Codex CLI/SDK 接入 DS2API 完整指南:wire_api=chat 与 responses 双模式实测对比 Codex CLI/SDK 接入 DS2API 完整指南wire_apichat 与 responses 双模式实测对比【免费下载链接】ds2apiDeepSeek-Compatible Middleware Interface: A technical exploration project in Go, focusing on high-concurrency protocol adaptation. It serves as a reference implementation for converting diverse web protocols into standardized formats.项目地址: https://gitcode.com/GitHub_Trending/ds/ds2apiDS2API 是一个用 Go 实现的高并发协议适配中间件把 DeepSeek 网页对话能力转换为 OpenAI / Claude / Gemini 兼容 API。本文面向新手实测 Codex CLI/SDK 以wire_apichat与wire_apiresponses双模式接入 DS2API 的完整流程并给出两种模式的实测差异对比与避坑清单。为什么 Codex CLI 能直接接上 DS2APICodex CLI/SDK 本质上是 OpenAI 协议的客户端它可以把base_url指向任意兼容端点。DS2API 在平台兼容矩阵中把Codex CLI/SDKwire_apichat/wire_apiresponses列为 P0 级 ✅见 README.MD意味着两条官方协议链路都经过端到端验证wire_apichat→ 走POST /v1/chat/completions最经典、兼容性最宽的 OpenAI Chat 协议wire_apiresponses→ 走POST /v1/responsesOpenAI Responses 结构化协议事件生命周期更规范对新手来说这意味着不用写一行代码只改一个配置文件就能把 Codex 的模型源从 OpenAI 换成 DS2API 背后的 DeepSeek 模型。第一步3 步部署并启动 DS2API# 1. 克隆仓库 git clone https://gitcode.com/GitHub_Trending/ds/ds2api cd ds2api # 2. 复制并编辑配置填入 DeepSeek 账号与访问 key cp config.example.json config.json # 3. 启动Go 1.26 go run ./cmd/ds2api默认服务地址为http://127.0.0.1:5001绑定0.0.0.0:5001局域网设备也可访问。配置字段说明以 config.example.json 为模板完整部署方式Docker / Release 包 / Vercel见 docs/DEPLOY.md。 新手建议优先下载 Release 构建包运行产物已编译完成最省事。第二步Codex 配置双模式核心 6 行在 Codex 的~/.codex/config.toml中定义一个自定义 provider两种模式只改wire_api一处[model_providers.ds2api] name DS2API base_url http://127.0.0.1:5001/v1 wire_api chat # 或 responses env_key DS2API_API_KEY model gpt-5-codex model_provider ds2api然后设置环境变量DS2API_API_KEY值填config.json中keys里配置的任意 key即可在两种模式间随时切换DS2API_API_KEY你的key codex # 使用当前 wire_api配置项说明base_url指向 DS2API 根地址 /v1无需改其他路由wire_apichat 传统 Chat 协议responses Responses 结构化协议env_key客户端访问密钥需与config.json的keys一致双模式实测对比一张表看懂差异两种模式在 DS2API 上的实测表现如下均为本地127.0.0.1:5001实测口径对比项wire_apichatwire_apiresponses请求端点POST /v1/chat/completionsPOST /v1/responses请求格式messages消息数组input字符串/数组instructions流式事件chat.completion.chunk增量官方 item 生命周期事件response.created→response.output_item.added→response.completed思考内容delta.reasoning_contentreasoning 项独立输出结构化程度更高工具调用message.tool_callsfinish_reasontool_callsresponse.function_call_arguments.delta/done事件tool_choice不支持支持auto/none/required/ 强制指定函数结果回查无GET /v1/responses/{response_id}内存 TTL默认 900s结束标记data: [DONE]data: [DONE]适合场景简单对话、最大兼容性Agent 工具循环、SDK 集成、结构化事件消费细节可对照接口文档Chat 部分见 API.mdResponses 部分见 API.md。实测体感结论✅ 两种模式都能稳定完成多轮对话与流式输出Codex 终端渲染正常⚙️ 带工具的 Agent 任务建议用responses模式事件语义完整、tool_choice可强制执行工具DS2API 对违规请求还会给出明确的422非流式或response.failed流式反馈便于定位问题 只用自然语言问答时chat模式更轻链路更短。模型名怎么填gpt-5-codex 等 alias 直接可用DS2API 内置了完整的模型 alias 映射解析策略见 API.mdCodex 常用的 OpenAI 系模型名无需翻译直接填即可例如gpt-4o、gpt-4.1、gpt-5、gpt-5.5、gpt-5-codex、gpt-5.3-codex、codex-mini-latest推理系o1、o3、o4-mini请求任意 alias 后DS2API 会自动解析为 DeepSeek 原生模型如deepseek-v4-flash/deepseek-v4-pro。想快速关思考可在 alias 后追加-nothinking后缀强制映射到无思考变体你想填的模型名DS2API 实际行为gpt-5-codex映射到 DeepSeek 原生模型思考默认开启gpt-5-codex-nothinking同上但强制关闭思考响应更快deepseek-v4-flash原样使用默认档模型/v1/models接口可随时确认解析结果返回的是规范化后的 DeepSeek 模型 ID。工具调用与思考流实测无泄漏这是新手最容易踩坑的部分DS2API 做了两层防护防泄漏识别只有非 Markdown 代码块上下文的工具调用才会被执行写在代码块里的tool_calls示例会被视为普通文本透传不会误执行流式早发chat模式命中高置信工具特征后立即输出delta.tool_calls不等待参数闭合responses模式严格按官方事件序列推送函数参数增量。也就是说Codex 里的 Agent 工具循环读文件、跑命令、写代码在两种模式下都能正常闭环不会出现工具调用被当成文本输出的典型兼容问题。完整的语义说明见 docs/toolcall-semantics.md。常见问题排查FAQ现象原因与处理429 Too Many Requests每账号并发槽位 等待队列满默认每账号 in-flight 2。可调大runtime配置或加账号GET /admin/queue/status可看实时并发空输出 / 429upstream_empty_outputthinking-only 空输出。DS2API 会先同账号补偿重试托管模式下还会自动切账号再试一次仍失败可换-nothinking模型模型名报invalid_request_error未命中内置 alias 且未在model_aliases中配置——它不会做启发式兜底请显式添加映射响应慢、思考过长模型名加-nothinking后缀或改用 flash 档模型422 tool_choice_violationresponses模型未按required产出工具调用属协议层的明确拒绝而非静默失败延伸阅读接口与流式事件全量定义API.md含 cURL 示例部署本地 / Docker / Vercel / systemddocs/DEPLOY.md架构与模块职责docs/ARCHITECTURE.md兼容链路设计为什么 API 请求要转成网页纯文本上下文docs/prompt-compatibility.md配置模板config.example.json⚠️ 项目声明DS2API 基于逆向实现仅供学习、研究、个人实验使用请勿用于违反服务条款或法律法规的场景。【免费下载链接】ds2apiDeepSeek-Compatible Middleware Interface: A technical exploration project in Go, focusing on high-concurrency protocol adaptation. It serves as a reference implementation for converting diverse web protocols into standardized formats.项目地址: https://gitcode.com/GitHub_Trending/ds/ds2api创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进