Priority routing desk
把 fast 流量推上优先通道
这里控制 fast.ycai.cloud 的请求是否在转发前写入 service_tier=priority。当前会自动注入 priority,更改后只影响后续请求。
Injection已启用
Version0.1.171
Image0566f8150785
注入配置
保留核心控制:一个开关、两个响应头超时。页面不再暴露 service_tier 编辑,固定为 priority。
最近日志
只显示最近三天的 warn / error / exception 日志,并自动脱敏 API Key / Authorization。
UI 最近日志
最近三天暂无 warn/error 日志
Fast Proxy 最近日志
2026-08-10 14:53:59,671 ERROR proxy error path=/responses: timed out Traceback (most recent call last): 2026-08-10 15:12:36,128 ERROR proxy error path=/responses: timed out Traceback (most recent call last): 2026-08-10 15:22:49,419 ERROR proxy error path=/responses: timed out Traceback (most recent call last): 2026-08-10 15:28:13,319 ERROR proxy error path=/responses: timed out Traceback (most recent call last): 2026-08-10 15:28:39,851 ERROR proxy error path=/responses: timed out Traceback (most recent call last): 2026-08-10 15:41:19,730 ERROR proxy error path=/responses: timed out Traceback (most recent call last): 2026-08-10 15:46:42,139 ERROR proxy error path=/responses: timed out Traceback (most recent call last): 2026-08-10 16:36:21,855 ERROR proxy error path=/responses: timed out Traceback (most recent call last): 2026-08-10 16:37:10,458 ERROR proxy error path=/responses: timed out Traceback (most recent call last): 2026-08-10 16:58:22,734 ERROR proxy error path=/responses: timed out Traceback (most recent call last): 2026-08-10 16:59:23,213 ERROR proxy error path=/responses: timed out Traceback (most recent call last): 2026-08-10 17:02:18,126 ERROR proxy error path=/responses: timed out Traceback (most recent call last): 2026-08-10 17:13:23,253 ERROR proxy error path=/responses: timed out Traceback (most recent call last): 2026-08-10 17:15:43,165 ERROR proxy error path=/responses: timed out Traceback (most recent call last): 2026-08-10 17:28:08,337 ERROR proxy error path=/responses: timed out Traceback (most recent call last): 2026-08-11 08:43:45,835 ERROR proxy error path=/responses: [Errno 104] Connection reset by peer Traceback (most recent call last): 2026-08-11 09:11:17,754 ERROR proxy error path=/responses: [Errno 104] Connection reset by peer Traceback (most recent call last): 2026-08-11 10:03:22,893 ERROR proxy error path=/responses: [Errno 104] Connection reset by peer Traceback (most recent call last):
sub2api 最近日志
2026-08-10T08:40:35.277+0800 WARN slog logger/slog_handler.go:55 openai_token_cache_get_failed {"service": "sub2api", "env": "production", "account_id": 236, "error": "redis: nil"}
2026-08-10T08:42:26.852+0800 WARN service/openai_ws_forwarder_logutil.go:520 openai.ws_bind_response_account_failed {"service": "sub2api", "env": "production", "group_id": 2, "account_id": 236, "response_id": "resp_0952c7026dad43c3016a791e5d802881919289e9a5a3a0310d", "error": "context canceled"}
2026-08-10T08:55:21.109+0800 ERROR service/openai_gateway_upstream_errors.go:376 OpenAI upstream error 400 (account=236 platform=openai type=oauth): {\n "error": {\n "message": "Invalid schema for response_format 'response': In context=(), 'required' is required to be supplied and to be an array including every key in properties. Missing 'summaryFieldName'.",\n "type": "invalid_request_error",\n "param": "text.format.schema",\n "code": "invalid_json_schema"\n }\n} {"service": "sub2api", "env": "production", "component": "service.openai_gateway", "legacy_printf": true}
2026-08-10T08:55:21.111+0800 WARN handler/openai_gateway_handler.go:671 openai.forward_failed {"service": "sub2api", "env": "production", "component": "http", "request_id": "213e1e5e-771d-49b7-a4ed-b0cda546059c", "client_request_id": "", "path": "/v1/responses", "method": "POST", "client_request_id": "660265a6-c870-4001-b97e-e928b66a5ca7", "component": "handler.openai_gateway.responses", "user_id": 2, "api_key_id": 20, "group_id": 2, "model": "gpt-5.6-terra", "stream": true, "account_id": 236, "fallback_error_response_written": false, "upstream_error_response_already_written": false, "error": "upstream error: 400 message=Invalid schema for response_format 'response': In context=(), 'required' is required to be supplied and to be an array including every key in properties. Missing 'summaryFieldName'."}
2026-08-10T11:26:21.131+0800 WARN service/pricing_service.go:577 [Pricing] Merged 1 fallback-only models {"service": "sub2api", "env": "production", "component": "service.pricing", "legacy_printf": true}
2026-08-10T14:51:16.351+0800 WARN service/openai_ws_forwarder_logutil.go:520 openai.ws_bind_response_account_failed {"service": "sub2api", "env": "production", "group_id": 2, "account_id": 236, "response_id": "resp_0add5e8f28402a4c016a7974d50df8819887345c52fc4c1c47", "error": "context canceled"}
2026-08-10T14:55:05.711+0800 WARN service/openai_ws_forwarder_logutil.go:520 openai.ws_bind_response_account_failed {"service": "sub2api", "env": "production", "group_id": 2, "account_id": 236, "response_id": "resp_0d0443eca85bc15d016a7975c5a2d481998bce15b05d2e3fcf", "error": "context canceled"}
2026-08-10T15:12:40.905+0800 WARN service/openai_ws_forwarder_logutil.go:520 openai.ws_bind_response_account_failed {"service": "sub2api", "env": "production", "group_id": 2, "account_id": 236, "response_id": "resp_0add5e8f28402a4c016a7979e6cddc8198af76dcccac20d314", "error": "context canceled"}
2026-08-10T15:23:27.767+0800 WARN service/openai_ws_forwarder_logutil.go:520 openai.ws_bind_response_account_failed {"service": "sub2api", "env": "production", "group_id": 2, "account_id": 236, "response_id": "resp_017137436e62e8e9016a797c6981e08197b8aa1454910498c7", "error": "context canceled"}
2026-08-10T15:23:28.597+0800 WARN slog logger/slog_handler.go:55 openai_quota_reset_credit_details_failed {"service": "sub2api", "env": "production", "account_id": 236, "status": 429}
2026-08-10T15:23:28.597+0800 WARN slog logger/slog_handler.go:55 openai_quota_reset_credit_cache_persist_failed {"service": "sub2api", "env": "production", "account_id": 236, "error": "error: code=502 reason=\"OPENAI_QUOTA_RESET_CREDITS_REFRESH_FAILED\" message=\"failed to refresh reset-credit expiration details; cached data was preserved\" metadata=map[]"}
2026-08-10T15:23:38.123+0800 WARN slog logger/slog_handler.go:55 openai_quota_reset_credit_details_failed {"service": "sub2api", "env": "production", "account_id": 3, "status": 429}
2026-08-10T15:23:38.123+0800 WARN slog logger/slog_handler.go:55 openai_quota_reset_credit_cache_persist_failed {"service": "sub2api", "env": "production", "account_id": 3, "error": "error: code=502 reason=\"OPENAI_QUOTA_RESET_CREDITS_REFRESH_FAILED\" message=\"failed to refresh reset-credit expiration details; cached data was preserved\" metadata=map[]"}
2026-08-10T15:43:10.141+0800 WARN service/openai_ws_forwarder_logutil.go:520 openai.ws_bind_response_account_failed {"service": "sub2api", "env": "production", "group_id": 2, "account_id": 236, "response_id": "resp_0d0443eca85bc15d016a7980a2c990819989285e8d610a070a", "error": "context canceled"}
2026-08-10T15:48:15.193+0800 WARN service/openai_ws_forwarder_logutil.go:520 openai.ws_bind_response_account_failed {"service": "sub2api", "env": "production", "group_id": 2, "account_id": 236, "response_id": "resp_098740904c102851016a798233121c8196b43f6a45d669295e", "error": "context canceled"}
2026-08-10T16:37:17.955+0800 WARN service/openai_ws_forwarder_logutil.go:520 openai.ws_bind_response_account_failed {"service": "sub2api", "env": "production", "group_id": 2, "account_id": 236, "response_id": "resp_098740904c102851016a798db093b48196a3101303dfc6a734", "error": "context canceled"}
2026-08-10T16:38:07.009+0800 WARN service/openai_ws_forwarder_logutil.go:520 openai.ws_bind_response_account_failed {"service": "sub2api", "env": "production", "group_id": 2, "account_id": 236, "response_id": "resp_098740904c102851016a798de60904819683d51a453ae3d5f4", "error": "context canceled"}
2026-08-10T16:59:01.983+0800 WARN service/openai_ws_forwarder_logutil.go:520 openai.ws_bind_response_account_failed {"service": "sub2api", "env": "production", "group_id": 2, "account_id": 236, "response_id": "resp_01583c194ad4b568016a7992c7747081908504b76c6889a4d6", "error": "context canceled"}
2026-08-10T17:00:23.818+0800 WARN service/openai_ws_forwarder_logutil.go:520 openai.ws_bind_response_account_failed {"service": "sub2api", "env": "production", "group_id": 2, "account_id": 236, "response_id": "resp_01583c194ad4b568016a799324ef34819084c3a9f6a1ac7548", "error": "context canceled"}
2026-08-10T17:03:12.928+0800 WARN service/openai_ws_forwarder_logutil.go:520 openai.ws_bind_response_account_failed {"service": "sub2api", "env": "production", "group_id": 2, "account_id": 236, "response_id": "resp_067ce1ff7df3daac016a7993c7bf6c8195af4c9b63d4c4478b", "error": "context canceled"}
2026-08-10T17:28:34.214+0800 WARN service/openai_ws_forwarder_logutil.go:520 openai.ws_bind_response_account_failed {"service": "sub2api", "env": "production", "group_id": 2, "account_id": 236, "response_id": "resp_009008c987da72ed016a7999ba084c8190b640b6e5de20fb43", "error": "context canceled"}
2026-08-11T08:43:45.921+0800 WARN service/openai_ws_forwarder_logutil.go:520 openai.ws_bind_response_account_failed {"service": "sub2api", "env": "production", "group_id": 2, "account_id": 236, "response_id": "resp_0d9b40558af620ca016a7a703c52608191b470dd1522a4f83f", "error": "context canceled"}
2026-08-11T09:11:21.776+0800 WARN service/openai_ws_forwarder_logutil.go:520 openai.ws_bind_response_account_failed {"service": "sub2api", "env": "production", "group_id": 2, "account_id": 236, "response_id": "resp_0095c61cd36c0304016a7a76a9ef348191aae343582ceb5ede", "error": "context canceled"}
2026-08-11T09:42:32.601+0800 WARN slog logger/slog_handler.go:55 account_upstream_error {"service": "sub2api", "env": "production", "account_id": 236, "status_code": 503}
2026-08-11T09:42:32.602+0800 WARN handler/openai_gateway_handler.go:655 openai.upstream_failover_switching {"service": "sub2api", "env": "production", "component": "http", "request_id": "1c9cbf46-9a97-4a77-8854-70751dab360d", "client_request_id": "", "path": "/responses", "method": "POST", "client_request_id": "0cb7312b-4a4b-4416-a0e3-03234b00206f", "component": "handler.openai_gateway.responses", "user_id": 3, "api_key_id": 4, "group_id": 2, "model": "gpt-5.6-sol", "stream": true, "account_id": 236, "upstream_status": 503, "switch_count": 1, "max_switches": 10}
2026-08-11T10:03:23.027+0800 WARN service/openai_ws_forwarder_logutil.go:520 openai.ws_bind_response_account_failed {"service": "sub2api", "env": "production", "group_id": 2, "account_id": 236, "response_id": "resp_064e395d83a39888016a7a82d4ab0c81919bf0b223bd25c407", "error": "context canceled"}