diff --git a/cmd/arcrun-tray/main.go b/cmd/arcrun-tray/main.go index 8b9497c..a0f1678 100644 --- a/cmd/arcrun-tray/main.go +++ b/cmd/arcrun-tray/main.go @@ -726,10 +726,13 @@ func accountEngineLabel(acc accountCfg, defaultExtractor string) string { extractor = strings.TrimSpace(defaultExtractor) } switch extractor { - case "gemma": + // t178(leo 08-04 實撞:朋友的托盤顯示「oscar · Claude」,但他根本沒有 Claude): + // `claude` 也顯示 Gemini——因為 **direct.go 早就把 claude 正規化成 gemma** + // (t176:地端先只支援 Gemini)。標籤若照著 config 的舊字串念,就與實際行為不符 + // ⇒ 用戶看到 Claude、卻收到「Gemini 金鑰是空的」,兩個訊息互相矛盾、更難懂。 + // 舊值來源=雲端舊版下發後留在 config.json 的殘留(t176 擋了新寫入,沒洗掉舊的)。 + case "gemma", "claude": return " · Gemini" - case "claude": - return " · Claude" } return "" } diff --git a/cmd/arcrun-tray/main_test.go b/cmd/arcrun-tray/main_test.go index 49c5969..faa5af7 100644 --- a/cmd/arcrun-tray/main_test.go +++ b/cmd/arcrun-tray/main_test.go @@ -495,9 +495,13 @@ func TestAccountEngineLabel(t *testing.T) { want string }{ {"帳號有gemma", accountCfg{Extractor: "gemma"}, "", " · Gemini"}, - {"帳號有claude", accountCfg{Extractor: "claude"}, "", " · Claude"}, + // t178(leo 08-04 實撞:朋友托盤顯示「oscar · Claude」但他根本沒有 Claude): + // **claude 也顯示 Gemini**——因為 direct.go 早就把 claude 正規化成 gemma(t176)。 + // 標籤照 config 舊字串念會與實際行為不符:用戶看到 Claude、卻收到「Gemini 金鑰是空的」。 + // 這兩則若變回「· Claude」,代表標籤又和萃取實際走的路脫鉤了。 + {"帳號有claude→仍顯示 Gemini(實際就是走 gemma)", accountCfg{Extractor: "claude"}, "", " · Gemini"}, {"帳號空退回default-gemma", accountCfg{}, "gemma", " · Gemini"}, - {"帳號空退回default-claude", accountCfg{}, "claude", " · Claude"}, + {"帳號空退回default-claude→仍顯示 Gemini", accountCfg{}, "claude", " · Gemini"}, {"兩者皆空無標籤", accountCfg{}, "", ""}, {"帳號層優先於default", accountCfg{Extractor: "gemma"}, "claude", " · Gemini"}, } diff --git a/direct.go b/direct.go index 9e900d7..4030c13 100644 --- a/direct.go +++ b/direct.go @@ -442,7 +442,11 @@ func RunDirectOnce(cfg *DirectConfig, dryRun bool) ([]DirectResult, int, *Trigge if cfg.Extractor == "gemma" { if strings.TrimSpace(cfg.GeminiAPIKey) == "" { extractorOK = false - extractorError = "金鑰是空的——請在設定裡輸入 Gemini API Key" + // t178(leo 08-04:封測者是台大資工碩士都卡住 ⇒「一般人就完蛋了」): + // 舊訊息「請在設定裡輸入 Gemini API Key」**沒說設定在哪** ⇒ 用戶找不到入口。 + // 錯誤訊息本身就要能當 onboarding:指名選單項、指名去哪申請。 + extractorError = "還沒設定 Gemini API Key ⇒ 點托盤選單的「AI 設定…」貼上金鑰" + + "(免費申請:aistudio.google.com/apikey)" } }