From 08da239f578905adcf729ef13fb6c24f4dd09d4a Mon Sep 17 00:00:00 2001 From: Henkey Date: Sun, 29 Mar 2026 09:25:42 +0100 Subject: [PATCH] fix: set api_mode when switching providers via hermes model When switching providers with 'hermes model', the api_mode field in config.yaml was not updated for most providers (Z.AI, MiniMax, Kimi, OpenRouter, Custom). The previous provider's api_mode persisted, causing requests to hit the wrong API endpoint path. For example, switching from Copilot (codex_responses) to Z.AI left api_mode: codex_responses, causing 404 on /v4/responses. Set api_mode: chat_completions for all chat-completions-based providers: - OpenRouter - Custom endpoints - Kimi / Moonshot - Z.AI / MiniMax (generic API-key provider flow) Copilot and Copilot-ACP flows already correctly set api_mode. Fixes #3685 --- hermes_cli/main.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hermes_cli/main.py b/hermes_cli/main.py index 867b8db4a1..59900cfdd4 100644 --- a/hermes_cli/main.py +++ b/hermes_cli/main.py @@ -980,6 +980,7 @@ def _model_flow_openrouter(config, current_model=""): cfg["model"] = model model["provider"] = "openrouter" model["base_url"] = OPENROUTER_BASE_URL + model["api_mode"] = "chat_completions" save_config(cfg) deactivate_provider() print(f"Default model set to: {selected} (via OpenRouter)") @@ -1203,6 +1204,7 @@ def _model_flow_custom(config): cfg["model"] = model model["provider"] = "custom" model["base_url"] = effective_url + model["api_mode"] = "chat_completions" save_config(cfg) deactivate_provider() @@ -1984,6 +1986,7 @@ def _model_flow_kimi(config, current_model=""): cfg["model"] = model model["provider"] = provider_id model["base_url"] = effective_base + model["api_mode"] = "chat_completions" save_config(cfg) deactivate_provider() @@ -2090,6 +2093,7 @@ def _model_flow_api_key_provider(config, provider_id, current_model=""): cfg["model"] = model model["provider"] = provider_id model["base_url"] = effective_base + model["api_mode"] = "chat_completions" save_config(cfg) deactivate_provider()