Skip to content

feat:接入纯标准 OpenAI 协议开关,防止因为参数问题导致模型报错 - #1770

Open
Story19240 wants to merge 1 commit into
BigPizzaV3:mainfrom
Story19240:feat/standard-openai-protocol
Open

feat:接入纯标准 OpenAI 协议开关,防止因为参数问题导致模型报错#1770
Story19240 wants to merge 1 commit into
BigPizzaV3:mainfrom
Story19240:feat/standard-openai-protocol

Conversation

@Story19240

Copy link
Copy Markdown

背景

部分第三方网关(如 NVIDIA 等)只用标准 OpenAI 协议,会拒绝厂商私有的 reasoning 参数(如
reasoning_splitthinkingenable_thinkingreasoning 等)。配合当前默认会按模型注入厂商
reasoning 方言的行为,这些网关会直接拒绝请求或忽略 reasoning。需要能在一个 Relay Profile 上
强制只走标准 OpenAI 协议。closes 之前标准模式下厂商方言导致的兼容问题。

改动

  • 新增 Relay Profile 开关 standardOpenaiProtocol(默认关闭,保持现有行为不变)。
  • 开启后,responses_to_chat_completions_with_options(standard=true)
    • reasoning 风格强制走 Default,不按模型推断厂商方言。
    • 不再注入 reasoning_split / thinking / enable_thinking / openrouter reasoning
      等私有参数。
    • 对支持标准 reasoning_effort 的模型(deepseek-reasonergpt-5.x 系列),
      reasoning_effort 仍按 reasoning.effort 正常下发。
  • protocol_proxy 转发 ChatCompletions 时按 relay.standard_openai_protocol
    选择 standard=true/ false 的转换路径;Responses 协议不受影响。
  • settings.rs / ccs_import.rs / provider_import.rs / App.tsx / i18n-en.ts
    等处补齐新字段与默认值,UI 新增勾选项到 Relay Profile 编辑器。
  • 新增测试 responses_request_standard_protocol_strips_vendor_reasoning_dialects
    覆盖 MiniMax / GLM / Qwen / OpenRouter / DeepSeek / GPT-5 多场景,并保留默认路径回归守护。

测试

  • 本地测试没有问题
  • 这是关闭的效果
屏幕截图 2026-08-04 113619 - 这是开启后的 屏幕截图 2026-08-04 113849 - 这是改完后的UI界面 image - `crates/codex-plus-core` 流程测试新增覆盖上述厂商方言开关与会话级回归。 - `apps/codex-plus-manager` 下默认设置与归一化保留新字段默认值(未单独新增 manager 单元测试 覆盖,仅确认字段流式)。

风险与回归

  • 默认值 false,既不改变任何现有 Relay 行为时表现;用户自行在 Relay Profile 勾选才会走标准协议。

@Story19240 Story19240 changed the title 接入纯标准 OpenAI 协议开关,防止因为参数问题导致模型报错 feat:接入纯标准 OpenAI 协议开关,防止因为参数问题导致模型报错 Aug 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant