新增 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>
30 lines
871 B
Go
30 lines
871 B
Go
package openai_ws_v2
|
||
|
||
import (
|
||
"sync/atomic"
|
||
)
|
||
|
||
// MetricsSnapshot 是 OpenAI WS v2 passthrough 路径的轻量运行时指标快照。
|
||
type MetricsSnapshot struct {
|
||
SemanticMutationTotal int64 `json:"semantic_mutation_total"`
|
||
UsageParseFailureTotal int64 `json:"usage_parse_failure_total"`
|
||
}
|
||
|
||
var (
|
||
// passthrough 路径默认不会做语义改写,该计数通常应保持为 0(保留用于未来防御性校验)。
|
||
passthroughSemanticMutationTotal atomic.Int64
|
||
passthroughUsageParseFailureTotal atomic.Int64
|
||
)
|
||
|
||
func recordUsageParseFailure() {
|
||
passthroughUsageParseFailureTotal.Add(1)
|
||
}
|
||
|
||
// SnapshotMetrics 返回当前 passthrough 指标快照。
|
||
func SnapshotMetrics() MetricsSnapshot {
|
||
return MetricsSnapshot{
|
||
SemanticMutationTotal: passthroughSemanticMutationTotal.Load(),
|
||
UsageParseFailureTotal: passthroughUsageParseFailureTotal.Load(),
|
||
}
|
||
}
|