diff --git a/aria-brain/proxy_client.py b/aria-brain/proxy_client.py index 8bf7a8e..d747a07 100644 --- a/aria-brain/proxy_client.py +++ b/aria-brain/proxy_client.py @@ -9,8 +9,10 @@ neuen CLI-Prozess (Cold-Start), das dauert. from __future__ import annotations +import json import logging import os +from pathlib import Path from typing import List, Optional import httpx @@ -18,11 +20,28 @@ from pydantic import BaseModel logger = logging.getLogger(__name__) -DEFAULT_MODEL = os.environ.get("BRAIN_MODEL", "claude-sonnet-4") +RUNTIME_CONFIG_FILE = Path("/shared/config/runtime.json") +ENV_MODEL = os.environ.get("BRAIN_MODEL", "claude-sonnet-4") PROXY_URL = os.environ.get("PROXY_URL", "http://proxy:3456") PROXY_TIMEOUT_SEC = float(os.environ.get("PROXY_TIMEOUT_SEC", "300")) +def _read_model_from_runtime() -> str: + """Liest brainModel aus runtime.json. Fallback: ENV BRAIN_MODEL.""" + try: + if RUNTIME_CONFIG_FILE.exists(): + data = json.loads(RUNTIME_CONFIG_FILE.read_text(encoding="utf-8")) + m = (data.get("brainModel") or "").strip() + if m: + return m + except Exception as exc: + logger.warning("runtime.json lesen fehlgeschlagen: %s", exc) + return ENV_MODEL + + +DEFAULT_MODEL = _read_model_from_runtime() + + class Message(BaseModel): role: str # "system" | "user" | "assistant" | "tool" content: Optional[str] = None diff --git a/diagnostic/index.html b/diagnostic/index.html index 8d514eb..7272334 100644 --- a/diagnostic/index.html +++ b/diagnostic/index.html @@ -659,13 +659,21 @@ selbst (Skills + skill_create Meta-Tool). Es gibt keine granulare Permission-Maske, Brain weiss zur Laufzeit welche Tools es hat. --> - +
/shared/config/runtime.json als brainModel persistiert.
+ Bei Aenderung: aria-brain restarten (Reparatur-Section oben), damit's greift.
+ claude-sonnet-4 (Default — schnell, gut),
+ claude-opus-4 (langsam, smarter), claude-haiku-4-5 (sehr schnell, kleiner Kontext).
+