Skip to content

优化 openai websocket mode v2 网关#716

Closed
mt21625457 wants to merge 13 commits intoWei-Shaw:mainfrom
mt21625457:dev-upstream-clean-v2
Closed

优化 openai websocket mode v2 网关#716
mt21625457 wants to merge 13 commits intoWei-Shaw:mainfrom
mt21625457:dev-upstream-clean-v2

Conversation

@mt21625457
Copy link
Contributor

Summary

  • merge latest fixes from test into dev first
  • rebase-related cleanup into a single clean commit (no force-push path)
  • align OpenAI WebSocket mode v2 gateway/protocol/forwarder related paths with test baseline

优化内容

  1. 协议与模式治理优化
  • 统一 OpenAI WebSocket v2 协议入口与模式判断逻辑。
  • 完善 mode 路由策略,减少协议混用导致的异常分支。
  1. 会话隔离与连接生命周期优化
  • 强化会话隔离,避免多轮对话间上下文串扰。
  • 优化连接生命周期管理,降低异常中断后的状态残留风险。
  1. 续链与恢复能力优化
  • 增强 previous_response_id 续链恢复逻辑。
  • 修复 function_call_outputprevious_response_not_foundtool_output_not_found 等关键异常场景的恢复与重放。
  • 提升中断后继续对话(continue turn)成功率。
  1. 调度与故障切换优化
  • 优化 WSv2 账号调度与切换路径。
  • 完善 fallback / retry / cooldown 机制,提高上游波动时的可用性。
  • 加强 preflight / ping 检查链路,缩短故障恢复时间。
  1. 热路径性能优化
  • 优化 JSON/SSE/WS 热路径解析,减少不必要反序列化与分配。
  • 降低锁竞争和冗余开销,改善长连接下的吞吐与尾延迟。
  • 补充性能测试与基准验证,确保优化可量化。
  1. 可观测性与排障能力优化
  • 补齐 WSv2 全链路关键日志与诊断字段。
  • 增强 retry/abort/fallback 指标与事件分类,提升定位效率。
  • 降低高频噪声日志对线上排障的干扰。
  1. 管理端与配置配套优化
  • 补充 OpenAI WSv2 相关配置项与校验。
  • 完善批量编辑与模板能力在 OpenAI 范围下的行为一致性。
  • 同步中英文文案,减少配置误解。

yangjianbo and others added 13 commits March 2, 2026 17:32
- 对齐 test 分支的 OpenAI WebSocket Mode v2 优化实现。

- 统一协议入口与模式治理,增强 previous_response_id 续链恢复。

- 优化调度/重试/降级策略与 WS 热路径性能,并补齐可观测性与管理端配置配套。
- 将 dev-upstream-clean-v2 分支代码整体对齐到 test 分支稳定实现(OpenAI WebSocket Mode v2 网关优化基线)。

- 修复 backend 编译/类型断言/lint 问题(errcheck、staticcheck、ineffassign、gofmt),清理冲突残留导致的重复与不一致代码。

- 修复 frontend lint 问题(settings.bulkEditTemplates.spec.ts no-extra-semi)。

- 已执行并通过全量测试:make test。
…esponse_id 导致 tool_output_not_found 不可恢复

1. 预防性检测:在 sendAndRelay 发送前拦截 store_disabled + function_call_output + 无 previous_response_id 的必然失败组合,提前返回可恢复错误(wroteDownstream=false),避免上游先写数据再报错
2. 恢复逻辑修复:recoverIngressPrevResponseNotFound 中 previous_response_id 已缺失时跳过 drop 步骤,直接进入 setInputSequence 重放,修复旧代码因 removed=false 提前退出的问题
3. 新增 20 个单元测试覆盖条件矩阵、payload 提取、恢复链路、回归验证及边界条件

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
feat/admin-apikey-group-update 分支给 UserRepository 接口新增了
AddGroupToAllowedGroups 方法,需要在测试 stub 中补充实现以通过编译。
- sora_client_handler_test.go: stubUserRepoForHandler
- sora_generation_service_test.go: stubUserRepoForQuota

(cherry picked from commit ddd6331)
@mt21625457 mt21625457 closed this Mar 3, 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