This commit is contained in:
MarkLo 2025-11-24 11:08:34 +08:00
parent 5b8a35a1cf
commit 6fcd6d896d
3 changed files with 53 additions and 12 deletions

View File

@ -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",

View File

@ -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"),
]
}

View File

@ -324,6 +324,23 @@ export function AnalysisForm({ onSubmit, loading = false }: AnalysisFormProps) {
Anthropic: Claude 3 Haiku
</SelectItem>
{/* Google */}
<SelectItem value="gemini-2.5-pro">
Google: Gemini 2.5 Pro
</SelectItem>
<SelectItem value="gemini-2.5-flash">
Google: Gemini 2.5 Flash
</SelectItem>
<SelectItem value="gemini-2.5-flash-lite">
Google: Gemini 2.5 Flash Lite
</SelectItem>
<SelectItem value="gemini-2.0-flash">
Google: Gemini 2.0 Flash
</SelectItem>
<SelectItem value="gemini-2.0-flash-lite">
Google: Gemini 2.0 Flash Lite
</SelectItem>
{/* Grok */}
<SelectItem value="grok-4-1-fast-reasoning">
Grok: 4.1 Fast Reasoning
@ -415,6 +432,23 @@ export function AnalysisForm({ onSubmit, loading = false }: AnalysisFormProps) {
Anthropic: Claude 3 Haiku
</SelectItem>
{/* Google */}
<SelectItem value="gemini-2.5-pro">
Google: Gemini 2.5 Pro
</SelectItem>
<SelectItem value="gemini-2.5-flash">
Google: Gemini 2.5 Flash
</SelectItem>
<SelectItem value="gemini-2.5-flash-lite">
Google: Gemini 2.5 Flash Lite
</SelectItem>
<SelectItem value="gemini-2.0-flash">
Google: Gemini 2.0 Flash
</SelectItem>
<SelectItem value="gemini-2.0-flash-lite">
Google: Gemini 2.0 Flash Lite
</SelectItem>
{/* Grok */}
<SelectItem value="grok-4-1-fast-reasoning">
Grok: 4.1 Fast Reasoning
@ -497,6 +531,9 @@ export function AnalysisForm({ onSubmit, loading = false }: AnalysisFormProps) {
<SelectItem value="https://api.anthropic.com/">
Anthropic
</SelectItem>
<SelectItem value="https://generativelanguage.googleapis.com/v1">
Google (Gemini)
</SelectItem>
<SelectItem value="https://api.x.ai/v1">
Grok (xAI)
</SelectItem>
@ -593,6 +630,9 @@ export function AnalysisForm({ onSubmit, loading = false }: AnalysisFormProps) {
<SelectItem value="https://api.anthropic.com/">
Anthropic
</SelectItem>
<SelectItem value="https://generativelanguage.googleapis.com/v1">
Google (Gemini)
</SelectItem>
<SelectItem value="https://api.x.ai/v1">
Grok (xAI)
</SelectItem>