恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

CodexManager网关内幕:/v1/chat/completions与/v1/responses如何实现协议适配与SSE流式转换

  • 首页
  • 资讯中心
  • /
  • CodexManager网关内幕:/v1/chat/completions与/v1/responses如何实现协议适配与SSE流式转换

相关资讯

STM32CubeMX 6.14 全流程实战:从下载安装到工程生成 2026/9/30 21:42:06
快速部署OpenClaw:轻量应用服务器接入千帆大模型与APIKey配置指南 2026/9/30 21:37:06
freemodel 免费送5美元的gpt-5.5 模型的token 想多了:Codex auth.json 改到 TaoToken 的实测记录 2026/9/30 21:37:06

最新资讯

Python 操作 MongoDB 总报错?用 TaoToken 统一 Key 打通 AI 辅助排错链路
Ubuntu20.04+vscode的libtorch环境配置:跑起来测试demo并接入TaoToken
2026年AI配音怎么做课程?工具与流程实用指南
Excel使用ADO调用SQL Server存储过程:TaoToken统一Key通道下的参数化配置与结果回写
数字化审计校招技术备考指南:SQL、Python、BI、RPA学习路径
OpenClaw 本地优先架构拆解:从本地网关到混合推理的配置骨架与验证路径

今日推荐

模型优化器实战:从FP32到INT8的推理加速与精度平衡
LangGraph+FastAPI构建可审计AI编码助手
基于图像预处理与几何特征的人脸脸型发型搭配系统实现

本周热门

从像素到笔画:srt-whiteboard-animation骨架笔迹追踪实现(Zhang-Suen细化+8邻接追踪)
网站建设的英语怎么说?别只背单词,看完这套安全完整流程才敢上线
新手入门看这篇:建设网站加盟避坑指南与SEO实操

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

CodexManager网关内幕:/v1/chat/completions与/v1/responses如何实现协议适配与SSE流式转换

发布时间:2026/9/30 21:42:06
CodexManager网关内幕:/v1/chat/completions与/v1/responses如何实现协议适配与SSE流式转换 CodexManager网关内幕/v1/chat/completions与/v1/responses如何实现协议适配与SSE流式转换【免费下载链接】Codex-Manager一个Codex cli 账号管理与切换工具。为 Codex cli提供本地网关转发。项目地址: https://gitcode.com/gh_mirrors/co/Codex-ManagerCodex-ManagerCodexManager是一款面向 Codex CLI 的账号管理与切换工具内置本地网关转发能力。它的网关同时受理 OpenAI 生态中最常用的两条接口/v1/chat/completionsChat Completions与/v1/responsesResponses API。两者请求结构、事件流格式完全不同CodexManager 通过一套“协议适配 SSE 流式转换”机制让任意客户端都能透明接入上游 Codex 账号这篇文章带你拆解它的实现内幕。先搞懂问题两条协议差在哪想理解网关的难度先要清楚两套协议的“语言习惯”不同维度/v1/chat/completions/v1/responses输入结构messages数组role contentinputitemstext、function_call 等角色user/assistant/systemuser/assistant/developer工具调用tool_calls增量 arguments 片段function_call/function_call_outputitems流式输出data: {...choices...}逐块 data: [DONE]带event:名的语义事件response.output_text.delta等也就是说即便客户端都发的是“流式请求”Chat Completions 拿到的是块级 delta而 Responses 拿到的是带事件名的语义流。网关要做的事就是让两条链路在入口改写请求、在出口逐帧改写响应做到客户端无感。网关总架构请求进来后走了哪些子模块CodexManager 的网关实现集中在 crates/service/src/gateway/ 目录官方协作文档把职责拆得很清晰典型链路是request/入站请求规范化与 chat/responses 请求改写routing/按模型目录 V2 选择候选账号与路由策略auth/upstream/补全上游鉴权并发送请求protocol_adapter/产出内部统一请求结构与响应适配标记observability/写入 trace、请求日志与指标其中决定“这条响应该怎么做适配”的核心是 protocol_adapter/types.rs 中的ResponseAdapter枚举它定义了网关支持的全部适配方向包括Passthrough原样透传、ChatCompletionsFromResponsesResponses 流转 Chat Completions 流、ResponsesFromAnthropicMessages、ImagesB64JsonFromResponses等——这正是文章标题里“协议适配”的代码级对应物。/v1/chat/completions 入站改写把“旧协议”翻译成 Responses当客户端以 Chat Completions 协议接入、而上游链路是 Responses 时请求体会先在 request_rewrite_chat_completions.rs 中完成结构化改写关键动作包括角色映射developer/system归一为systemassistant、tool保持其余落入user内容扁平化Responses 的多段 contentinput_text、input_image等被展平为 Chat Completions 的字符串或image_url结构流式判定读取请求体中的stream字段决定后续走 SSE 转换器还是 JSON 直出配套的路径识别与字段白名单逻辑放在 request_rewrite_shared.rs协议路由的总入口则是 protocol_adapter/request_router.rs 中的adapt_request_for_protocol。改写完成后网关内部持有的是一份统一结构AdaptedGatewayRequestpath body 响应适配器 工具名还原映射上游发出去的才是对应协议的原始报文。/v1/responses 直通链路能不动就不动与 Chat Completions 需要“翻译”不同/v1/responses是 Codex 官方链路CodexManager 对它采取透传优先策略请求侧默认完全跟随客户端model字段不做隐式改写仅在显式转发规则、平台密钥强绑模型等明确配置下才替换流式响应由 stream_readers/openai_responses.rs 中的OpenAIResponsesPassthroughSseReader逐帧透传唯一的“加工”是旁路收集 usage 与首响应耗时供日志与计费使用这种设计保证了 Codex CLI 官方体验不被网关“损耗”而跨协议兼容只在确实需要时才发生。SSE 流式转换核心Responses 事件流 → Chat Completions 帧真正体现工程功力的是出口侧的ChatCompletionsFromResponsesSseReader实现位于 stream_readers/chat_completions.rs。它的工作方式可以概括为“读一帧、翻译一帧、立刻下发”帧泵驱动底层的UpstreamSseFramePump从上游响应体中持续切出 SSE 帧解析data:与event:行[DONE]被识别为终止信号元数据记忆首个带response的帧会被提取id、model、created_at并顺手合并 usage 到共享收集器保证计费数据完整状态机去重读者内部维护emitted_assistant_role、emitted_text、emitted_tool_call_indices等状态确保choices[0].delta.role只发一次、工具调用按索引顺序聚合 arguments 片段不会把 Responses 的语义事件“原样泄漏”给 Chat Completions 客户端流保护配合公共模块 stream_readers/common.rs 提供首响应计时、流空闲超时判定与 keepalive 帧慢首字时下游不会被挂死非流式场景则由 http_bridge 的 body_conversion.rs 完成整包 JSON 的结构转换错误体统一由 compact_errors.rs 收敛客户端看到始终是标准 OpenAI 错误格式。可观测性每一次适配都留痕协议转换最怕“出了问题查不到”因此 observability/request_log.rs 会把每条请求的入站路径、适配方向、账号命中、token 用量与耗时写入请求日志metrics.rs 则汇总成面板趋势。网关侧还保留了与官方 Codex 请求头/参数的逐项对照文档方便排查兼容性问题docs/zh-CN/report/当前网关与Codex官方请求参数对照表.mddocs/zh-CN/report/当前网关与Codex请求头和参数差异表.mddocs/zh-CN/ARCHITECTURE.md关键文件速查表模块路径职责协议路由protocol_adapter/request_router.rs选择适配方向并改写请求Chat 入站改写request/request_rewrite_chat_completions.rs角色映射、内容扁平化SSE 帧转换observability/http_bridge/stream_readers/chat_completions.rsResponses 流 → Chat Completions 流透传读取observability/http_bridge/stream_readers/openai_responses.rs/v1/responses 原样透传非流式转换observability/http_bridge/body_conversion.rs整包 JSON 协议互转目录协作文档crates/service/src/gateway/README.md子模块职责与修改建议小结网关价值的本质是“翻译层”CodexManager 网关的设计哲学可以总结为三点入站先归一、上游能透传就透传、出口按客户端协议逐帧回译。/v1/responses链路追求零损耗直通/v1/chat/completions链路靠请求改写与 SSE 状态机实现无损兼容两条链路共用同一套路由、鉴权与可观测性底座。理解了这套协议适配与 SSE 流式转换机制你也就理解了它为什么能让 Codex 账号同时服务 Chat Completions、Responses、Anthropic 乃至图像等多类客户端。【免费下载链接】Codex-Manager一个Codex cli 账号管理与切换工具。为 Codex cli提供本地网关转发。项目地址: https://gitcode.com/gh_mirrors/co/Codex-Manager创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号