diff --git a/hermes_client.py b/hermes_client.py index c45e420..6e468a4 100644 --- a/hermes_client.py +++ b/hermes_client.py @@ -17,6 +17,9 @@ logger = logging.getLogger(__name__) _HERMES_LOADED = False _cli = None +# Model override voor relay (leeg = default uit config) +MODEL_OVERRIDE = "qwen3.7-plus" + def _ensure_hermes_loaded(): """Laad Hermes eenmalig bij eerste gebruik — dit is het zware werk.""" @@ -45,9 +48,13 @@ def _ensure_hermes_loaded(): from hermes_cli.config import load_config config = load_config() - # Resolve toolsets (zelfde als 'cli' platform) + # Resolve toolsets (geen tools voor snelle relay) from hermes_cli.tools_config import _get_platform_tools - toolsets = sorted(_get_platform_tools(config, 'cli')) + if MODEL_OVERRIDE: + # Geen tools laden bij model override (DeepSeek heeft incompatible tool schema) + toolsets = [] + else: + toolsets = sorted(_get_platform_tools(config, 'cli')) # YOLO mode + interactive mode os.environ['HERMES_YOLO_MODE'] = '1' @@ -89,12 +96,16 @@ def call_hermes(prompt): start = time.time() - # ── Agent initialiseren (eenmalig, cached) ── + # ── Agent initialiseren met model override ── turn_route = _cli._resolve_turn_agent_config(full_prompt) + + # Override model als MODEL_OVERRIDE is ingesteld + model_override = MODEL_OVERRIDE if MODEL_OVERRIDE else turn_route['model'] + if turn_route['signature'] != _cli._active_agent_route_signature: _cli.agent = None init_ok = _cli._init_agent( - model_override=turn_route['model'], + model_override=model_override, runtime_override=turn_route['runtime'], request_overrides=turn_route.get('request_overrides'), ) @@ -126,6 +137,11 @@ def call_hermes(prompt): return "⚠️ Hermes error: " + str(e) elapsed = time.time() - start + + # Fallback als Hermes None teruggeeft (error path) + if result is None: + logger.warning("Hermes returned None — possible error during query") + return "⚠️ Geen antwoord van Hermes. Probeer opnieuw." + logger.info("Hermes responded in %.1fs (%d chars)", elapsed, len(result)) - return result