diff --git a/backend/app/services/trading_service.py b/backend/app/services/trading_service.py
index db9f44f1..7c914c41 100644
--- a/backend/app/services/trading_service.py
+++ b/backend/app/services/trading_service.py
@@ -209,6 +209,12 @@ class TradingService:
"claude-sonnet-4-0",
"claude-3-5-haiku-20241022",
"claude-3-haiku-20240307",
+ # Google
+ "gemini-2.5-pro",
+ "gemini-2.5-flash",
+ "gemini-2.5-flash-lite",
+ "gemini-2.0-flash",
+ "gemini-2.0-flash-lite",
# Grok
"grok-4-1-fast-reasoning",
"grok-4-1-fast-non-reasoning",
diff --git a/cli/utils.py b/cli/utils.py
index 4f82a26f..8af1b25b 100644
--- a/cli/utils.py
+++ b/cli/utils.py
@@ -2,10 +2,15 @@
import questionary
# 匯入類型提示,用於更清晰地定義函式簽名
from typing import List, Optional, Tuple, Dict
+# 匯入 rich.console 用於美化輸出
+from rich.console import Console
# 從 cli.models 模組匯入 AnalystType 列舉
from cli.models import AnalystType
+# 初始化 console
+console = Console()
+
# 定義分析師的順序和對應的類型
ANALYST_ORDER = [
("市場分析師", AnalystType.MARKET),
@@ -188,7 +193,6 @@ def select_shallow_thinking_agent(provider=None) -> str:
("GPT-4.1-mini", "gpt-4.1-mini"),
("GPT-4.1-nano", "gpt-4.1-nano"),
("o4-mini", "o4-mini-2025-04-16"),
- ("其他", "custom")
],
"Anthropic": [
("Claude Haiku 4.5", "claude-haiku-4-5-20251001"),
@@ -196,7 +200,6 @@ def select_shallow_thinking_agent(provider=None) -> str:
("Claude Sonnet 4", "claude-sonnet-4-0"),
("Claude Haiku 3.5", "claude-3-5-haiku-20241022"),
("Claude Haiku 3", "claude-3-haiku-20240307"),
- ("其他", "custom")
],
"Google": [
("Gemini 2.5 Pro", "gemini-2.5-pro"),
@@ -204,7 +207,6 @@ def select_shallow_thinking_agent(provider=None) -> str:
("Gemini 2.5 Flash Lite", "gemini-2.5-flash-lite"),
("Gemini 2.0 Flash", "gemini-2.0-flash"),
("Gemini 2.0 Flash-Lite", "gemini-2.0-flash-lite"),
- ("其他", "custom")
],
"Grok":[
("Grok 4.1 Fast Reasoning","grok-4-1-fast-reasoning"),
@@ -214,17 +216,15 @@ def select_shallow_thinking_agent(provider=None) -> str:
("Grok 4","grok-4-0709"),
("Grok 3","grok-3"),
("Grok 3 Mini","grok-3-mini"),
- ("其他", "custom")
],
"DeepSeek": [
("DeepSeek Reasoner","deepseek-reasoner"),
("DeepSeek Chat","deepseek-chat"),
- ("其他", "custom")
],
"Qwen":[
("Qwen 3 Max", "qwen3-max"),
("Qwen Plus", "qwen-plus"),
- ("其他", "custom")
+ ("Qwen Flash", "qwen-flash"),
]
}
@@ -317,7 +317,6 @@ def select_deep_thinking_agent(provider=None) -> str:
("GPT-4.1-mini", "gpt-4.1-mini"),
("GPT-4.1-nano", "gpt-4.1-nano"),
("o4-mini", "o4-mini-2025-04-16"),
- ("其他", "custom")
],
"Anthropic": [
("Claude Haiku 4.5", "claude-haiku-4-5-20251001"),
@@ -325,7 +324,6 @@ def select_deep_thinking_agent(provider=None) -> str:
("Claude Sonnet 4", "claude-sonnet-4-0"),
("Claude Haiku 3.5", "claude-3-5-haiku-20241022"),
("Claude Haiku 3", "claude-3-haiku-20240307"),
- ("其他", "custom")
],
"Google": [
("Gemini 2.5 Pro", "gemini-2.5-pro"),
@@ -333,7 +331,6 @@ def select_deep_thinking_agent(provider=None) -> str:
("Gemini 2.5 Flash Lite", "gemini-2.5-flash-lite"),
("Gemini 2.0 Flash", "gemini-2.0-flash"),
("Gemini 2.0 Flash-Lite", "gemini-2.0-flash-lite"),
- ("其他", "custom")
],
"Grok":[
("Grok 4.1 Fast Reasoning","grok-4-1-fast-reasoning"),
@@ -343,17 +340,15 @@ def select_deep_thinking_agent(provider=None) -> str:
("Grok 4","grok-4-0709"),
("Grok 3","grok-3"),
("Grok 3 Mini","grok-3-mini"),
- ("其他", "custom")
],
"DeepSeek":[
("DeepSeek Reasoner","deepseek-reasoner"),
("DeepSeek Chat","deepseek-chat"),
- ("其他", "custom")
],
"Qwen":[
("Qwen 3 Max", "qwen3-max"),
("Qwen Plus", "qwen-plus"),
- ("其他", "custom")
+ ("Qwen Flash", "qwen-flash"),
]
}
diff --git a/frontend/components/analysis/AnalysisForm.tsx b/frontend/components/analysis/AnalysisForm.tsx
index 994c4200..701090f0 100644
--- a/frontend/components/analysis/AnalysisForm.tsx
+++ b/frontend/components/analysis/AnalysisForm.tsx
@@ -324,6 +324,23 @@ export function AnalysisForm({ onSubmit, loading = false }: AnalysisFormProps) {
Anthropic: Claude 3 Haiku
+ {/* Google */}
+
+ Google: Gemini 2.5 Pro
+
+
+ Google: Gemini 2.5 Flash
+
+
+ Google: Gemini 2.5 Flash Lite
+
+
+ Google: Gemini 2.0 Flash
+
+
+ Google: Gemini 2.0 Flash Lite
+
+
{/* Grok */}
Grok: 4.1 Fast Reasoning
@@ -415,6 +432,23 @@ export function AnalysisForm({ onSubmit, loading = false }: AnalysisFormProps) {
Anthropic: Claude 3 Haiku
+ {/* Google */}
+
+ Google: Gemini 2.5 Pro
+
+
+ Google: Gemini 2.5 Flash
+
+
+ Google: Gemini 2.5 Flash Lite
+
+
+ Google: Gemini 2.0 Flash
+
+
+ Google: Gemini 2.0 Flash Lite
+
+
{/* Grok */}
Grok: 4.1 Fast Reasoning
@@ -497,6 +531,9 @@ export function AnalysisForm({ onSubmit, loading = false }: AnalysisFormProps) {
Anthropic
+
+ Google (Gemini)
+
Grok (xAI)
@@ -593,6 +630,9 @@ export function AnalysisForm({ onSubmit, loading = false }: AnalysisFormProps) {
Anthropic
+
+ Google (Gemini)
+
Grok (xAI)