diff --git a/README.md b/README.md index c84c3815..b2febb69 100644 --- a/README.md +++ b/README.md @@ -107,7 +107,7 @@ CowAgent supports all mainstream LLM providers. **Chat, vision, image generation | Provider | Featured Models | Chat | Vision | Image Gen | ASR | TTS | Embedding | | --- | --- | :-: | :-: | :-: | :-: | :-: | :-: | | [Claude](https://docs.cowagent.ai/models/claude) | claude-sonnet-5 / fable-5 | ✅ | ✅ | | | | | -| [OpenAI](https://docs.cowagent.ai/models/openai) | gpt-5.5, o-series | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [OpenAI](https://docs.cowagent.ai/models/openai) | gpt-5.6 series | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | [Gemini](https://docs.cowagent.ai/models/gemini) | gemini-3.5-flash | ✅ | ✅ | ✅ | | | | | [DeepSeek](https://docs.cowagent.ai/models/deepseek) | deepseek-v4-flash / pro | ✅ | | | | | | | [Qwen](https://docs.cowagent.ai/models/qwen) | qwen3.7-plus | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | diff --git a/channel/web/web_channel.py b/channel/web/web_channel.py index 5a0486a0..af94ce81 100644 --- a/channel/web/web_channel.py +++ b/channel/web/web_channel.py @@ -1703,7 +1703,7 @@ class ConfigHandler: # claude-sonnet-5 is the Claude default; claude-fable-5 follows right after it. const.CLAUDE_SONNET_5, const.CLAUDE_FABLE_5, const.CLAUDE_4_8_OPUS, const.CLAUDE_4_7_OPUS, 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.GPT_56_LUNA, const.GPT_56_TERRA, const.GPT_56_SOL, 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_2, const.GLM_5_1, const.GLM_5_TURBO, const.GLM_5, const.GLM_4_7, const.QWEN37_PLUS, const.QWEN37_MAX, const.QWEN36_PLUS, const.DOUBAO_SEED_2_1_PRO, const.DOUBAO_SEED_2_1_TURBO, const.DOUBAO_SEED_2_CODE, @@ -1762,7 +1762,7 @@ class ConfigHandler: "api_base_key": "open_ai_api_base", "api_base_default": "https://api.openai.com/v1", "api_base_placeholder": _PLACEHOLDER_V1, - "models": [const.GPT_55, const.GPT_54, const.GPT_54_MINI, const.GPT_54_NANO, const.GPT_5, const.GPT_41, const.GPT_4o], + "models": [const.GPT_56_LUNA, const.GPT_56_TERRA, const.GPT_56_SOL, const.GPT_55, const.GPT_54, const.GPT_54_MINI, const.GPT_54_NANO, const.GPT_5, const.GPT_41, const.GPT_4o], }), ("zhipu", { "label": {"zh": "智谱AI", "en": "GLM"}, @@ -2338,9 +2338,12 @@ class ModelsHandler: # Anything not listed here intentionally hides the model dropdown so # users cannot pin a chat-only model and silently get a 4xx at runtime. _VISION_PROVIDER_MODELS = { - # OpenAI ordering matches the recommended GPT-5.4 family first, then + # OpenAI ordering puts the GPT-5.6 family first, then GPT-5.5/5.4, # GPT-5 and the GPT-4.1/4o backstops. "openai": [ + const.GPT_56_LUNA, + const.GPT_56_TERRA, + const.GPT_56_SOL, const.GPT_55, const.GPT_54, const.GPT_54_MINI, diff --git a/common/const.py b/common/const.py index 7580a9d6..20729c25 100644 --- a/common/const.py +++ b/common/const.py @@ -80,6 +80,9 @@ GPT_54 = "gpt-5.4" # GPT-5.4 - Agent recommended model GPT_54_MINI = "gpt-5.4-mini" GPT_54_NANO = "gpt-5.4-nano" GPT_55 = "gpt-5.5" # GPT-5.5 - top-tier (expensive), not default +GPT_56_LUNA = "gpt-5.6-luna" # GPT-5.6 Luna - default flagship model for GPT +GPT_56_TERRA = "gpt-5.6-terra" # GPT-5.6 Terra +GPT_56_SOL = "gpt-5.6-sol" # GPT-5.6 Sol - highest intelligence, higher latency O1 = "o1-preview" O1_MINI = "o1-mini" WHISPER_1 = "whisper-1" @@ -214,6 +217,7 @@ MODEL_LIST = [ GPT4_TURBO, GPT4_TURBO_PREVIEW, GPT4_TURBO_01_25, GPT4_TURBO_11_06, GPT4_TURBO_04_09, GPT_4o, GPT_4O_0806, GPT_4o_MINI, GPT_41, GPT_41_MINI, GPT_41_NANO, + GPT_56_LUNA, GPT_56_TERRA, GPT_56_SOL, GPT_5, GPT_5_MINI, GPT_5_NANO, GPT_54, GPT_55, GPT_54_MINI, GPT_54_NANO, O1, O1_MINI, diff --git a/docs/ja/README.md b/docs/ja/README.md index add6dc6c..c5a3e985 100644 --- a/docs/ja/README.md +++ b/docs/ja/README.md @@ -107,7 +107,7 @@ CowAgent は主要な LLM プロバイダーすべてに対応しています。 | プロバイダー | 代表的なモデル | チャット | 画像認識 | 画像生成 | ASR | TTS | Embedding | | --- | --- | :-: | :-: | :-: | :-: | :-: | :-: | | [Claude](https://docs.cowagent.ai/ja/models/claude) | claude-sonnet-5 / fable-5 | ✅ | ✅ | | | | | -| [OpenAI](https://docs.cowagent.ai/ja/models/openai) | gpt-5.5、o シリーズ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [OpenAI](https://docs.cowagent.ai/ja/models/openai) | gpt-5.6 シリーズ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | [Gemini](https://docs.cowagent.ai/ja/models/gemini) | gemini-3.5-flash | ✅ | ✅ | ✅ | | | | | [DeepSeek](https://docs.cowagent.ai/ja/models/deepseek) | deepseek-v4-flash / pro | ✅ | | | | | | | [Qwen](https://docs.cowagent.ai/ja/models/qwen) | qwen3.7-plus | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | diff --git a/docs/ja/models/index.mdx b/docs/ja/models/index.mdx index c614dbb7..d7cc0633 100644 --- a/docs/ja/models/index.mdx +++ b/docs/ja/models/index.mdx @@ -22,7 +22,7 @@ CowAgent は国内外の主要ベンダーの大規模言語モデルをサポ | [MiniMax](/models/minimax) | MiniMax-M3 | ✅ | ✅ | ✅ | | ✅ | | | [Claude](/models/claude) | claude-sonnet-5 / fable-5 | ✅ | ✅ | | | | | | [Gemini](/models/gemini) | gemini-3.5-flash | ✅ | ✅ | ✅ | | | | -| [OpenAI](/models/openai) | gpt-5.5、o シリーズ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [OpenAI](/models/openai) | gpt-5.6 シリーズ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | [Zhipu GLM](/models/glm) | glm-5.2、glm-5v-turbo | ✅ | ✅ | | ✅ | | ✅ | | [Tongyi Qianwen](/models/qwen) | qwen3.7-plus | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | [Doubao](/models/doubao) | doubao-seed-2.1 シリーズ | ✅ | ✅ | ✅ | | | ✅ | diff --git a/docs/ja/models/openai.mdx b/docs/ja/models/openai.mdx index 801c1fd3..063518a9 100644 --- a/docs/ja/models/openai.mdx +++ b/docs/ja/models/openai.mdx @@ -14,7 +14,7 @@ OpenAI は最も広範な機能をカバーするベンダーで、テキスト ```json { - "model": "gpt-5.5", + "model": "gpt-5.6-luna", "open_ai_api_key": "YOUR_API_KEY", "open_ai_api_base": "https://api.openai.com/v1" } @@ -22,7 +22,7 @@ OpenAI は最も広範な機能をカバーするベンダーで、テキスト | パラメータ | 説明 | | --- | --- | -| `model` | OpenAI API の [model パラメータ](https://platform.openai.com/docs/models) と同じです。`gpt-5.5`、`gpt-5.4`、`gpt-5.4-mini`、`gpt-5.4-nano`、`gpt-5` シリーズ、`gpt-4.1`、o シリーズなどをサポート。Agent モードのデフォルトは `gpt-5.5`、コストパフォーマンスを重視する場合は `gpt-5.4` に変更可能 | +| `model` | OpenAI API の [model パラメータ](https://platform.openai.com/docs/models) と同じです。`gpt-5.6-luna`、`gpt-5.6-terra`、`gpt-5.6-sol`、`gpt-5.5`、`gpt-5.4`、`gpt-5.4-mini`、`gpt-5.4-nano`、`gpt-5` シリーズ、`gpt-4.1` などをサポート。Agent モードのデフォルトは `gpt-5.6-luna`、コストパフォーマンスを重視する場合は `gpt-5.4` に変更可能 | | `open_ai_api_key` | [OpenAI プラットフォーム](https://platform.openai.com/api-keys) で作成 | | `open_ai_api_base` | 任意。サードパーティのプロキシに接続するために変更可能 | | `bot_type` | OpenAI 公式モデルを使用する場合は不要。互換プロトコルでベンダーモデルに接続する場合は `openai` に設定 | diff --git a/docs/models/index.mdx b/docs/models/index.mdx index 2a7afff5..e056aac3 100644 --- a/docs/models/index.mdx +++ b/docs/models/index.mdx @@ -15,7 +15,7 @@ A snapshot of each provider's capabilities. "Text" refers to the main chat model | [MiniMax](/models/minimax) | MiniMax-M3 | ✅ | ✅ | ✅ | | ✅ | | | [Claude](/models/claude) | claude-sonnet-5 / fable-5 | ✅ | ✅ | | | | | | [Gemini](/models/gemini) | gemini-3.5-flash | ✅ | ✅ | ✅ | | | | -| [OpenAI](/models/openai) | gpt-5.5, o-series | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [OpenAI](/models/openai) | gpt-5.6 series | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | [GLM](/models/glm) | glm-5.2, glm-5v-turbo | ✅ | ✅ | | ✅ | | ✅ | | [Qwen](/models/qwen) | qwen3.7-plus | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | [Doubao](/models/doubao) | doubao-seed-2.1 series | ✅ | ✅ | ✅ | | | ✅ | diff --git a/docs/models/openai.mdx b/docs/models/openai.mdx index 7d428d95..02c08191 100644 --- a/docs/models/openai.mdx +++ b/docs/models/openai.mdx @@ -14,7 +14,7 @@ OpenAI offers the most complete coverage and can simultaneously serve text chat, ```json { - "model": "gpt-5.5", + "model": "gpt-5.6-luna", "open_ai_api_key": "YOUR_API_KEY", "open_ai_api_base": "https://api.openai.com/v1" } @@ -22,7 +22,7 @@ OpenAI offers the most complete coverage and can simultaneously serve text chat, | Parameter | Description | | --- | --- | -| `model` | Same as OpenAI's [model parameter](https://platform.openai.com/docs/models); supports `gpt-5.5`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, the `gpt-5` series, `gpt-4.1`, the o-series, etc. Agent mode defaults to `gpt-5.5`; use `gpt-5.4` for better cost-efficiency | +| `model` | Same as OpenAI's [model parameter](https://platform.openai.com/docs/models); supports `gpt-5.6-luna`, `gpt-5.6-terra`, `gpt-5.6-sol`, `gpt-5.5`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, the `gpt-5` series, `gpt-4.1`, etc. Agent mode defaults to `gpt-5.6-luna`; use `gpt-5.4` for better cost-efficiency | | `open_ai_api_key` | Create one on the [OpenAI Platform](https://platform.openai.com/api-keys) | | `open_ai_api_base` | Optional; change it to access a third-party proxy | | `bot_type` | Not required when using OpenAI's official models; set to `openai` when accessing other providers via the compatible protocol | diff --git a/docs/zh/README-Hant.md b/docs/zh/README-Hant.md index bcf0bbf7..3394d393 100644 --- a/docs/zh/README-Hant.md +++ b/docs/zh/README-Hant.md @@ -110,7 +110,7 @@ CowAgent 支援國內外主流廠商的大語言模型。**文字對話、影像 | [MiniMax](https://docs.cowagent.ai/zh/models/minimax) | MiniMax-M3 | ✅ | ✅ | ✅ | | ✅ | | | [Claude](https://docs.cowagent.ai/zh/models/claude) | claude-sonnet-5 / fable-5 | ✅ | ✅ | | | | | | [Gemini](https://docs.cowagent.ai/zh/models/gemini) | gemini-3.5-flash | ✅ | ✅ | ✅ | | | | -| [OpenAI](https://docs.cowagent.ai/zh/models/openai) | gpt-5.5、o 系列 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [OpenAI](https://docs.cowagent.ai/zh/models/openai) | gpt-5.6 系列 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | [智譜 GLM](https://docs.cowagent.ai/zh/models/glm) | glm-5.2、glm-5v-turbo | ✅ | ✅ | | ✅ | | ✅ | | [通義千問](https://docs.cowagent.ai/zh/models/qwen) | qwen3.7-plus | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | [豆包 Doubao](https://docs.cowagent.ai/zh/models/doubao) | doubao-seed-2.1 系列 | ✅ | ✅ | ✅ | | | ✅ | diff --git a/docs/zh/README.md b/docs/zh/README.md index a1c5b9cc..2fcedbd8 100644 --- a/docs/zh/README.md +++ b/docs/zh/README.md @@ -110,7 +110,7 @@ CowAgent 支持国内外主流厂商的大语言模型。**文本对话、图像 | [MiniMax](https://docs.cowagent.ai/zh/models/minimax) | MiniMax-M3 | ✅ | ✅ | ✅ | | ✅ | | | [Claude](https://docs.cowagent.ai/zh/models/claude) | claude-sonnet-5 / fable-5 | ✅ | ✅ | | | | | | [Gemini](https://docs.cowagent.ai/zh/models/gemini) | gemini-3.5-flash | ✅ | ✅ | ✅ | | | | -| [OpenAI](https://docs.cowagent.ai/zh/models/openai) | gpt-5.5、o 系列 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [OpenAI](https://docs.cowagent.ai/zh/models/openai) | gpt-5.6 系列 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | [智谱 GLM](https://docs.cowagent.ai/zh/models/glm) | glm-5.2、glm-5v-turbo | ✅ | ✅ | | ✅ | | ✅ | | [通义千问](https://docs.cowagent.ai/zh/models/qwen) | qwen3.7-plus | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | [豆包 Doubao](https://docs.cowagent.ai/zh/models/doubao) | doubao-seed-2.1 系列 | ✅ | ✅ | ✅ | | | ✅ | diff --git a/docs/zh/models/index.mdx b/docs/zh/models/index.mdx index 386b7269..3098e57a 100644 --- a/docs/zh/models/index.mdx +++ b/docs/zh/models/index.mdx @@ -16,7 +16,7 @@ CowAgent 支持国内外主流厂商的大语言模型,模型接口实现在 | [MiniMax](/zh/models/minimax) | MiniMax-M3 | ✅ | ✅ | ✅ | | ✅ | | | [Claude](/zh/models/claude) | claude-sonnet-5 / fable-5 | ✅ | ✅ | | | | | | [Gemini](/zh/models/gemini) | gemini-3.5-flash | ✅ | ✅ | ✅ | | | | -| [OpenAI](/zh/models/openai) | gpt-5.5、o 系列 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | +| [OpenAI](/zh/models/openai) | gpt-5.6 系列 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | [智谱 GLM](/zh/models/glm) | glm-5.2、glm-5v-turbo | ✅ | ✅ | | ✅ | | ✅ | | [通义千问](/zh/models/qwen) | qwen3.7-plus | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | [豆包 Doubao](/zh/models/doubao) | doubao-seed-2.1 系列 | ✅ | ✅ | ✅ | | | ✅ | diff --git a/docs/zh/models/openai.mdx b/docs/zh/models/openai.mdx index aad83c8f..2d5e9d5a 100644 --- a/docs/zh/models/openai.mdx +++ b/docs/zh/models/openai.mdx @@ -14,7 +14,7 @@ OpenAI 是覆盖最完整的厂商,可同时承担文本对话、视觉理解 ```json { - "model": "gpt-5.5", + "model": "gpt-5.6-luna", "open_ai_api_key": "YOUR_API_KEY", "open_ai_api_base": "https://api.openai.com/v1" } @@ -22,7 +22,7 @@ OpenAI 是覆盖最完整的厂商,可同时承担文本对话、视觉理解 | 参数 | 说明 | | --- | --- | -| `model` | 与 OpenAI 接口的 [model 参数](https://platform.openai.com/docs/models) 一致,支持 `gpt-5.5`、`gpt-5.4`、`gpt-5.4-mini`、`gpt-5.4-nano`、`gpt-5` 系列、`gpt-4.1`、o 系列等;Agent 模式默认 `gpt-5.5`,追求性价比可改为 `gpt-5.4` | +| `model` | 与 OpenAI 接口的 [model 参数](https://platform.openai.com/docs/models) 一致,支持 `gpt-5.6-luna`、`gpt-5.6-terra`、`gpt-5.6-sol`、`gpt-5.5`、`gpt-5.4`、`gpt-5.4-mini`、`gpt-5.4-nano`、`gpt-5` 系列、`gpt-4.1` 等;Agent 模式默认 `gpt-5.6-luna`,追求性价比可改为 `gpt-5.4` | | `open_ai_api_key` | 在 [OpenAI 平台](https://platform.openai.com/api-keys) 创建 | | `open_ai_api_base` | 可选,修改可接入第三方代理 | | `bot_type` | 使用 OpenAI 官方模型时无需填写;通过兼容协议接入厂商模型时需设为 `openai` | diff --git a/models/openai_compatible_bot.py b/models/openai_compatible_bot.py index d89690a0..813c7216 100644 --- a/models/openai_compatible_bot.py +++ b/models/openai_compatible_bot.py @@ -29,6 +29,24 @@ class OpenAICompatibleBot: Subclasses only need to override get_api_config() to provide their specific API settings. """ + @staticmethod + def _is_gpt5_reasoning_model(model_name: str) -> bool: + """Whether the model is a GPT-5.x / o-series reasoning model. + + Covers gpt-5, gpt-5.4/5.5/5.6 (including suffixed variants like + gpt-5.6-sol / gpt-5.6-luna) and the o1/o3/o4 families. These models + only accept default sampling params and, on /v1/chat/completions, + reject reasoning_effort together with function tools. + """ + if not model_name or not isinstance(model_name, str): + return False + name = model_name.lower() + if name.startswith("gpt-5"): + return True + if name.startswith(("o1", "o3", "o4")): + return True + return False + def get_api_config(self): """ Get API configuration for this bot. @@ -99,8 +117,10 @@ class OpenAICompatibleBot: "presence_penalty": kwargs.get("presence_penalty", api_config.get('default_presence_penalty', 0.0)), "stream": stream } - # GPT-5 / GPT-5.5 / o1 series only accept default temperature/top_p and reject penalty params - if model_name in ("gpt-5", "gpt-5-mini", "gpt-5-nano", "gpt-5.5", "o1", "o1-mini"): + # GPT-5.x / o-series reasoning models only accept default + # temperature/top_p and reject penalty params. + is_gpt5_reasoning = self._is_gpt5_reasoning_model(model_name) + if is_gpt5_reasoning: for key in ("temperature", "top_p", "frequency_penalty", "presence_penalty"): request_params.pop(key, None) @@ -112,6 +132,12 @@ class OpenAICompatibleBot: if tools: request_params["tools"] = tools request_params["tool_choice"] = kwargs.get("tool_choice", "auto") + # GPT-5.x reasoning models reject function tools combined with + # reasoning_effort on /v1/chat/completions unless it is "none". + # Force "none" so agent tool calling works without migrating to + # the Responses API. + if is_gpt5_reasoning: + request_params["reasoning_effort"] = "none" # Make API call with proper configuration api_key = api_config.get('api_key') diff --git a/run.sh b/run.sh index 08167015..266e0cd9 100755 --- a/run.sh +++ b/run.sh @@ -599,7 +599,7 @@ select_model() { "DeepSeek (deepseek-v4-flash, deepseek-v4-pro, 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.)" \ + "OpenAI (gpt-5.6-luna, etc.)" \ "MiniMax (MiniMax-M3, etc.)" \ "GLM (glm-5.2, etc.)" \ "Qwen (qwen3.7-plus, qwen3.7-max, etc.)" \ @@ -631,7 +631,7 @@ configure_model() { 1) read_model_config "DeepSeek" "deepseek-v4-flash" "DEEPSEEK_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" ;; + 4) read_model_config "OpenAI" "gpt-5.6-luna" "OPENAI_KEY" ;; 5) read_model_config "MiniMax" "MiniMax-M3" "MINIMAX_KEY" ;; 6) read_model_config "GLM" "glm-5.2" "ZHIPU_KEY" ;; 7) read_model_config "Qwen (DashScope)" "qwen3.7-plus" "DASHSCOPE_KEY" ;; diff --git a/scripts/run.ps1 b/scripts/run.ps1 index 2124710a..7a87ddc6 100644 --- a/scripts/run.ps1 +++ b/scripts/run.ps1 @@ -456,7 +456,7 @@ $ModelChoices = @{ 1 = @{ Provider = "DeepSeek"; Default = "deepseek-v4-flash"; Field = "deepseek_api_key" } 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" } + 4 = @{ Provider = "OpenAI"; Default = "gpt-5.6-luna"; Field = "open_ai_api_key"; BaseField = "open_ai_api_base" } 5 = @{ Provider = "MiniMax"; Default = "MiniMax-M3"; Field = "minimax_api_key" } 6 = @{ Provider = "GLM"; Default = "glm-5.2"; Field = "zhipu_ai_api_key" } 7 = @{ Provider = "Qwen (DashScope)"; Default = "qwen3.7-plus"; Field = "dashscope_api_key" } @@ -473,7 +473,7 @@ function Select-Model { "DeepSeek (deepseek-v4-flash, deepseek-v4-pro, 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.)", + "OpenAI (gpt-5.6-luna, etc.)", "MiniMax (MiniMax-M3, etc.)", "GLM (glm-5.2, etc.)", "Qwen (qwen3.7-plus, qwen3.7-max, etc.)",