新增 OpenAI WebSocket v2 passthrough relay 数据面与服务适配层, 支持按账号 ws mode 在 ctx_pool 与 passthrough 间路由。 同步调整前端 OpenAI ws mode 选项为 off/ctx_pool/passthrough, 并补充 i18n 文案与对应单测。 新增 Caddyfile.dmit 与 docker-compose-aicodex.yml 部署配置, 用于宿主机场景下的反向代理与服务编排。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
25 lines
688 B
Go
25 lines
688 B
Go
package openai_ws_v2
|
|
|
|
import (
|
|
"context"
|
|
)
|
|
|
|
// runCaddyStyleRelay 采用 Caddy reverseproxy 的双向隧道思想:
|
|
// 连接建立后并发复制两个方向,任一方向退出触发收敛关闭。
|
|
//
|
|
// Reference:
|
|
// - Project: caddyserver/caddy (Apache-2.0)
|
|
// - Commit: f283062d37c50627d53ca682ebae2ce219b35515
|
|
// - Files:
|
|
// - modules/caddyhttp/reverseproxy/streaming.go
|
|
// - modules/caddyhttp/reverseproxy/reverseproxy.go
|
|
func runCaddyStyleRelay(
|
|
ctx context.Context,
|
|
clientConn FrameConn,
|
|
upstreamConn FrameConn,
|
|
firstClientMessage []byte,
|
|
options RelayOptions,
|
|
) (RelayResult, *RelayExit) {
|
|
return Relay(ctx, clientConn, upstreamConn, firstClientMessage, options)
|
|
}
|