From ef097daba4b5fa939dffa5a845d71f30ec95586f Mon Sep 17 00:00:00 2001 From: dengzhihui Date: Sun, 7 Sep 2025 18:25:53 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=94=AF=E6=8C=81=E5=AD=97=E7=AC=A6?= =?UTF-8?q?=E4=B8=B2=E7=B1=BB=E5=9E=8B=E7=9A=84=20min=5Fbudget=5Ftokens?= =?UTF-8?q?=E5=8F=82=E6=95=B0,=20Issue=20#27?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加对字符串类型min_budget_tokens参数的支持,当传入字符串时会尝试转换为整数。如果转换失败则返回错误,保持与现有数字类型参数相同的错误处理逻辑。 --- internal/taggers/builtin/taggers.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/internal/taggers/builtin/taggers.go b/internal/taggers/builtin/taggers.go index 616b7d1..7d5c803 100644 --- a/internal/taggers/builtin/taggers.go +++ b/internal/taggers/builtin/taggers.go @@ -5,6 +5,7 @@ import ( "fmt" "net/http" "regexp" + "strconv" "strings" "claude-code-companion/internal/interfaces" @@ -416,6 +417,12 @@ func NewThinkingTagger(name, tag string, config map[string]interface{}) (interfa minBudgetTokens = int(budgetFloat) } else if budgetInt, ok := budgetInterface.(int); ok { minBudgetTokens = budgetInt + } else if budgetStr, ok := budgetInterface.(string); ok { + if i, err := strconv.Atoi(budgetStr); err == nil { + minBudgetTokens = i + } else { + return nil, fmt.Errorf("thinking tagger 'min_budget_tokens' must be a number") + } } else { return nil, fmt.Errorf("thinking tagger 'min_budget_tokens' must be a number") }