diff --git a/channel/web/web_channel.py b/channel/web/web_channel.py index a290bf31..29abaa6b 100644 --- a/channel/web/web_channel.py +++ b/channel/web/web_channel.py @@ -1470,10 +1470,9 @@ class ConfigHandler: _RECOMMENDED_MODELS = [ const.DEEPSEEK_V4_FLASH, const.DEEPSEEK_V4_PRO, const.MINIMAX_M3, const.MINIMAX_M2_7_HIGHSPEED, const.MINIMAX_M2_7, - # claude-fable-5 is intentionally placed at the end of the Claude - # group here: it is expensive, so avoid surfacing it too early in - # the LinkAI dropdown. - const.CLAUDE_4_8_OPUS, const.CLAUDE_4_7_OPUS, const.CLAUDE_4_6_SONNET, const.CLAUDE_4_6_OPUS, const.CLAUDE_FABLE_5, + # claude-fable-5 is placed after claude-opus-4-7 (not as the Claude + # default) since it is often unavailable due to policy restrictions. + const.CLAUDE_4_8_OPUS, const.CLAUDE_4_7_OPUS, const.CLAUDE_FABLE_5, const.CLAUDE_4_6_SONNET, const.CLAUDE_4_6_OPUS, const.GEMINI_35_FLASH, const.GEMINI_31_FLASH_LITE_PRE, const.GEMINI_31_PRO_PRE, const.GEMINI_3_FLASH_PRE, const.GPT_55, const.GPT_54, const.GPT_54_MINI, const.GPT_54_NANO, const.GPT_5, const.GPT_41, const.GPT_4o, const.GLM_5_1, const.GLM_5_TURBO, const.GLM_5, const.GLM_4_7, @@ -1518,7 +1517,7 @@ class ConfigHandler: "api_base_key": "claude_api_base", "api_base_default": "https://api.anthropic.com/v1", "api_base_placeholder": _PLACEHOLDER_V1, - "models": [const.CLAUDE_FABLE_5, const.CLAUDE_4_8_OPUS, const.CLAUDE_4_7_OPUS, const.CLAUDE_4_6_SONNET, const.CLAUDE_4_6_OPUS], + "models": [const.CLAUDE_4_8_OPUS, const.CLAUDE_4_7_OPUS, const.CLAUDE_FABLE_5, const.CLAUDE_4_6_SONNET, const.CLAUDE_4_6_OPUS], }), ("gemini", { "label": "Gemini", diff --git a/common/const.py b/common/const.py index a7dde568..4a28c226 100644 --- a/common/const.py +++ b/common/const.py @@ -30,7 +30,7 @@ CLAUDE_35_SONNET = "claude-3-5-sonnet-latest" # "latest" tag always points to t CLAUDE_35_SONNET_1022 = "claude-3-5-sonnet-20241022" # dated name pinned to a specific release CLAUDE_35_SONNET_0620 = "claude-3-5-sonnet-20240620" CLAUDE_4_OPUS = "claude-opus-4-0" -CLAUDE_FABLE_5 = "claude-fable-5" # Claude Fable 5 - Agent recommended model +CLAUDE_FABLE_5 = "claude-fable-5" # Claude Fable 5 (often restricted by policy) CLAUDE_4_8_OPUS = "claude-opus-4-8" # Claude Opus 4.8 - Agent recommended model CLAUDE_4_7_OPUS = "claude-opus-4-7" # Claude Opus 4.7 CLAUDE_4_6_OPUS = "claude-opus-4-6" # Claude Opus 4.6 @@ -194,7 +194,7 @@ MODEL_LIST = [ MIMO, MIMO_V2_5_PRO, MIMO_V2_5, MIMO_V2_PRO, MIMO_V2_OMNI, MIMO_V2_FLASH, # Claude - CLAUDE3, CLAUDE_FABLE_5, CLAUDE_4_8_OPUS, CLAUDE_4_7_OPUS, CLAUDE_4_6_SONNET, CLAUDE_4_6_OPUS, CLAUDE_4_OPUS, CLAUDE_4_5_SONNET, CLAUDE_4_SONNET, CLAUDE_3_OPUS, CLAUDE_3_OPUS_0229, + CLAUDE3, CLAUDE_4_8_OPUS, CLAUDE_4_7_OPUS, CLAUDE_FABLE_5, CLAUDE_4_6_SONNET, CLAUDE_4_6_OPUS, CLAUDE_4_OPUS, CLAUDE_4_5_SONNET, CLAUDE_4_SONNET, CLAUDE_3_OPUS, CLAUDE_3_OPUS_0229, CLAUDE_35_SONNET, CLAUDE_35_SONNET_1022, CLAUDE_35_SONNET_0620, CLAUDE_3_SONNET, CLAUDE_3_HAIKU, "claude", "claude-3-haiku", "claude-3-sonnet", "claude-3-opus", "claude-3.5-sonnet", diff --git a/run.sh b/run.sh index 3c15b0f0..bfe45630 100755 --- a/run.sh +++ b/run.sh @@ -597,7 +597,7 @@ select_model() { # The 12th option is "skip" -> configure later in the web console. select_menu sel "$title" \ "DeepSeek (deepseek-v4-flash, deepseek-v4-pro, etc.)" \ - "Claude (claude-fable-5, claude-opus-4-8, etc.)" \ + "Claude (claude-opus-4-8, claude-fable-5, etc.)" \ "Gemini (gemini-3.5-flash, gemini-3.1-pro-preview, etc.)" \ "OpenAI (gpt-5.5, etc.)" \ "MiniMax (MiniMax-M3, etc.)" \ @@ -629,7 +629,7 @@ read_model_config() { configure_model() { case "$model_choice" in 1) read_model_config "DeepSeek" "deepseek-v4-flash" "DEEPSEEK_KEY" ;; - 2) read_model_config "Claude" "claude-fable-5" "CLAUDE_KEY" ;; + 2) read_model_config "Claude" "claude-opus-4-8" "CLAUDE_KEY" ;; 3) read_model_config "Gemini" "gemini-3.1-pro-preview" "GEMINI_KEY" ;; 4) read_model_config "OpenAI" "gpt-5.5" "OPENAI_KEY" ;; 5) read_model_config "MiniMax" "MiniMax-M3" "MINIMAX_KEY" ;; diff --git a/scripts/run.ps1 b/scripts/run.ps1 index 2386dd87..a9a0673e 100644 --- a/scripts/run.ps1 +++ b/scripts/run.ps1 @@ -423,7 +423,7 @@ function Install-Dependencies { # Each entry: Provider / default model name / config key field / optional base. $ModelChoices = @{ 1 = @{ Provider = "DeepSeek"; Default = "deepseek-v4-flash"; Field = "deepseek_api_key" } - 2 = @{ Provider = "Claude"; Default = "claude-fable-5"; Field = "claude_api_key"; BaseField = "claude_api_base" } + 2 = @{ Provider = "Claude"; Default = "claude-opus-4-8"; Field = "claude_api_key"; BaseField = "claude_api_base" } 3 = @{ Provider = "Gemini"; Default = "gemini-3.1-pro-preview"; Field = "gemini_api_key"; BaseField = "gemini_api_base" } 4 = @{ Provider = "OpenAI"; Default = "gpt-5.5"; Field = "open_ai_api_key"; BaseField = "open_ai_api_base" } 5 = @{ Provider = "MiniMax"; Default = "MiniMax-M3"; Field = "minimax_api_key" } @@ -440,7 +440,7 @@ function Select-Model { $title = T "选择 AI 模型" "Select AI Model" $options = @( "DeepSeek (deepseek-v4-flash, deepseek-v4-pro, etc.)", - "Claude (claude-fable-5, claude-opus-4-8, etc.)", + "Claude (claude-opus-4-8, claude-fable-5, etc.)", "Gemini (gemini-3.5-flash, gemini-3.1-pro-preview, etc.)", "OpenAI (gpt-5.5, etc.)", "MiniMax (MiniMax-M3, etc.)",