From 1b5ae71d1f4158f25004d6e2ceffc55b30730a8f Mon Sep 17 00:00:00 2001 From: erio Date: Sat, 4 Apr 2026 14:58:20 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20resolve=20golangci-lint=20issues=20?= =?UTF-8?q?=E2=80=94=20remove=20unused=20constants=20and=20functions,=20fi?= =?UTF-8?q?x=20gofmt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove unused claudeMax*Tokens constants (Claude Max feature not included) - Remove unused UsageMapHook type, SetUsageMapHook method, and usageToMap function - Fix gofmt formatting in channel_service.go, openai_model_mapping_test.go, chatcompletions_to_responses.go --- .../pkg/antigravity/stream_transformer.go | 26 ------------------- .../apicompat/chatcompletions_to_responses.go | 2 +- backend/internal/service/channel_service.go | 2 +- backend/internal/service/gateway_service.go | 6 ----- .../service/openai_model_mapping_test.go | 8 +++--- 5 files changed, 6 insertions(+), 38 deletions(-) diff --git a/backend/internal/pkg/antigravity/stream_transformer.go b/backend/internal/pkg/antigravity/stream_transformer.go index 75ce074c..58982878 100644 --- a/backend/internal/pkg/antigravity/stream_transformer.go +++ b/backend/internal/pkg/antigravity/stream_transformer.go @@ -18,9 +18,6 @@ const ( BlockTypeFunction ) -// UsageMapHook is a callback that can modify usage data before it's emitted in SSE events. -type UsageMapHook func(usageMap map[string]any) - // StreamingProcessor 流式响应处理器 type StreamingProcessor struct { blockType BlockType @@ -33,7 +30,6 @@ type StreamingProcessor struct { originalModel string webSearchQueries []string groundingChunks []GeminiGroundingChunk - usageMapHook UsageMapHook // 累计 usage inputTokens int @@ -50,28 +46,6 @@ func NewStreamingProcessor(originalModel string) *StreamingProcessor { } } -// SetUsageMapHook sets an optional hook that modifies usage maps before they are emitted. -func (p *StreamingProcessor) SetUsageMapHook(fn UsageMapHook) { - p.usageMapHook = fn -} - -func usageToMap(u ClaudeUsage) map[string]any { - m := map[string]any{ - "input_tokens": u.InputTokens, - "output_tokens": u.OutputTokens, - } - if u.CacheCreationInputTokens > 0 { - m["cache_creation_input_tokens"] = u.CacheCreationInputTokens - } - if u.CacheReadInputTokens > 0 { - m["cache_read_input_tokens"] = u.CacheReadInputTokens - } - if u.ImageOutputTokens > 0 { - m["image_output_tokens"] = u.ImageOutputTokens - } - return m -} - // ProcessLine 处理 SSE 行,返回 Claude SSE 事件 func (p *StreamingProcessor) ProcessLine(line string) []byte { line = strings.TrimSpace(line) diff --git a/backend/internal/pkg/apicompat/chatcompletions_to_responses.go b/backend/internal/pkg/apicompat/chatcompletions_to_responses.go index 7e60ead1..6cdd012a 100644 --- a/backend/internal/pkg/apicompat/chatcompletions_to_responses.go +++ b/backend/internal/pkg/apicompat/chatcompletions_to_responses.go @@ -33,7 +33,7 @@ func ChatCompletionsToResponses(req *ChatCompletionsRequest) (*ResponsesRequest, TopP: req.TopP, Stream: true, // upstream always streams Include: []string{"reasoning.encrypted_content"}, - ServiceTier: req.ServiceTier, + ServiceTier: req.ServiceTier, } storeFalse := false diff --git a/backend/internal/service/channel_service.go b/backend/internal/service/channel_service.go index c6a249ef..ec8310f6 100644 --- a/backend/internal/service/channel_service.go +++ b/backend/internal/service/channel_service.go @@ -134,7 +134,7 @@ func (r ChannelMappingResult) ToUsageFields(reqModel, upstreamModel string) Chan const ( channelCacheTTL = 10 * time.Minute - channelErrorTTL = 5 * time.Second // DB 错误时的短缓存 + channelErrorTTL = 5 * time.Second // DB 错误时的短缓存 channelCacheDBTimeout = 10 * time.Second ) diff --git a/backend/internal/service/gateway_service.go b/backend/internal/service/gateway_service.go index bc1708c8..6d2b04ee 100644 --- a/backend/internal/service/gateway_service.go +++ b/backend/internal/service/gateway_service.go @@ -67,12 +67,6 @@ const ( MediaTypePrompt = "prompt" ) -const ( - claudeMaxMessageOverheadTokens = 3 - claudeMaxBlockOverheadTokens = 1 - claudeMaxUnknownContentTokens = 4 -) - // ForceCacheBillingContextKey 强制缓存计费上下文键 // 用于粘性会话切换时,将 input_tokens 转为 cache_read_input_tokens 计费 type forceCacheBillingKeyType struct{} diff --git a/backend/internal/service/openai_model_mapping_test.go b/backend/internal/service/openai_model_mapping_test.go index a88c5825..5ce2602c 100644 --- a/backend/internal/service/openai_model_mapping_test.go +++ b/backend/internal/service/openai_model_mapping_test.go @@ -87,10 +87,10 @@ func TestResolveOpenAIForwardModel_PreventsClaudeModelFromFallingBackToGpt51(t * func TestNormalizeCodexModel(t *testing.T) { cases := map[string]string{ - "gpt-5.3-codex-spark": "gpt-5.3-codex", - "gpt-5.3-codex-spark-high": "gpt-5.3-codex", - "gpt-5.3-codex-spark-xhigh": "gpt-5.3-codex", - "gpt-5.3": "gpt-5.3-codex", + "gpt-5.3-codex-spark": "gpt-5.3-codex", + "gpt-5.3-codex-spark-high": "gpt-5.3-codex", + "gpt-5.3-codex-spark-xhigh": "gpt-5.3-codex", + "gpt-5.3": "gpt-5.3-codex", } for input, expected := range cases {