feat(frontend): Responses WebSocket 配置与用量展示

provider 表单支持开启 Responses WebSocket;用量列表、状态与详情
区分 WebSocket 请求。
This commit is contained in:
AAEE86
2026-08-17 14:52:25 +08:00
committed by ZheFox
parent 621a528083
commit 1353d76e07
13 changed files with 97 additions and 0 deletions
+3
View File
@@ -55,6 +55,7 @@ function normalizeProviderSummary(
kiro_simulated_cache_enabled: provider.kiro_simulated_cache_enabled ?? false,
max_transfer_count: provider.max_transfer_count ?? 0,
max_transfer_timeout_seconds: provider.max_transfer_timeout_seconds ?? 0,
responses_websocket_enabled: provider.responses_websocket_enabled ?? false,
}
}
@@ -115,6 +116,7 @@ export async function updateProvider(
website: string
provider_priority: number
keep_priority_on_conversion: boolean
responses_websocket_enabled: boolean
billing_type: 'monthly_quota' | 'pay_as_you_go' | 'free_tier'
monthly_quota_usd: number
quota_reset_day: number
@@ -158,6 +160,7 @@ export async function createProvider(
quota_expires_at?: string
provider_priority?: number
keep_priority_on_conversion?: boolean
responses_websocket_enabled?: boolean
is_active?: boolean
max_retries?: number
max_transfer_count?: number
@@ -185,9 +185,14 @@ export interface CodexProviderConfig {
[key: string]: unknown
}
export interface ResponsesWebSocketProviderConfig {
enabled: boolean
}
export interface ProviderConfig {
chat_pii_redaction?: ChatPiiRedactionProviderConfig
codex?: CodexProviderConfig
responses_websocket?: ResponsesWebSocketProviderConfig
pool_advanced?: PoolAdvancedConfig
failover_rules?: FailoverRulesConfig
claude_code_advanced?: ClaudeCodeAdvancedConfig
@@ -913,6 +918,7 @@ export interface ProviderWithEndpointsSummary {
ops_architecture_id?: string // 扩展操作使用的架构 ID(如 cubence, anyrouter)
codex_fingerprint_convergence_enabled?: boolean
kiro_simulated_cache_enabled?: boolean
responses_websocket_enabled?: boolean
ops_quota_alert_enabled?: boolean
created_at: string
updated_at: string
+2
View File
@@ -73,6 +73,7 @@ export interface UsageRecordDetail {
updated_at?: string | null
response_time_updated_at?: string | null
is_stream: boolean
is_websocket?: boolean
upstream_is_stream?: boolean
client_requested_stream?: boolean
client_is_stream?: boolean
@@ -370,6 +371,7 @@ export const meApi = {
api_format?: string | null
endpoint_api_format?: string | null
is_stream?: boolean | null
is_websocket?: boolean | null
upstream_is_stream?: boolean | null
client_requested_stream?: boolean | null
client_is_stream?: boolean | null
+2
View File
@@ -33,6 +33,7 @@ export interface UsageRecord {
first_byte_time_ms?: number | null
end_to_end_time_ms?: number | null
end_to_end_first_byte_time_ms?: number | null
is_websocket?: boolean
created_at: string
updated_at?: string | null
response_time_updated_at?: string | null
@@ -570,6 +571,7 @@ export const usageApi = {
api_format?: string | null
endpoint_api_format?: string | null
is_stream?: boolean | null
is_websocket?: boolean | null
upstream_is_stream?: boolean | null
client_requested_stream?: boolean | null
client_is_stream?: boolean | null