diff --git a/satellite/config.py b/satellite/config.py index 5de4b53..159753a 100644 --- a/satellite/config.py +++ b/satellite/config.py @@ -19,14 +19,18 @@ logging.basicConfig( ) log = logging.getLogger("cosmo") -# OpenClaw Gateway — Cosmo (по умолчанию) -# Роутинг к нужному агенту делается через x-openclaw-session-key, поэтому AGENT не нужен. -GATEWAY_URL = os.getenv("GATEWAY_URL", "http://192.168.31.103:18789") -GATEWAY_TOKEN = os.getenv("GATEWAY_TOKEN") -VOICE_MODEL = os.getenv("VOICE_MODEL", "openai/gpt-4o-mini") +# Какой LLM backend — openclaw (дефолт) или claude (прямой Anthropic). +# В конфиге используется для решения «требовать ли OpenClaw credentials». +LLM_BACKEND_CFG = os.getenv("LLM_BACKEND", "openclaw").lower() + +# OpenClaw Gateway — Cosmo +# Нужны только если LLM_BACKEND=openclaw. При claude-бэкенде остаются пустыми — это ок. +GATEWAY_URL = os.getenv("GATEWAY_URL", "") +GATEWAY_TOKEN = os.getenv("GATEWAY_TOKEN", "") +VOICE_MODEL = os.getenv("VOICE_MODEL", "") # OpenClaw Gateway — Люся -LUSYA_GATEWAY_URL = os.getenv("LUSYA_GATEWAY_URL", "http://192.168.31.103:18790") +LUSYA_GATEWAY_URL = os.getenv("LUSYA_GATEWAY_URL", "") LUSYA_GATEWAY_TOKEN = os.getenv("LUSYA_GATEWAY_TOKEN", GATEWAY_TOKEN) LUSYA_VOICE_MODEL = os.getenv("LUSYA_VOICE_MODEL", VOICE_MODEL) @@ -84,6 +88,6 @@ BARGE_IN_WARMUP = float(os.getenv("BARGE_IN_WARMUP", "0.8")) # сек пр # Groq client groq_client = Groq(api_key=os.getenv("GROQ_API_KEY")) -if not GATEWAY_TOKEN: - print("❌ GATEWAY_TOKEN не задан в .env") +if LLM_BACKEND_CFG == "openclaw" and not GATEWAY_TOKEN: + print("❌ GATEWAY_TOKEN не задан в .env (нужен для LLM_BACKEND=openclaw)") sys.exit(1) diff --git a/satellite/modes.py b/satellite/modes.py index 03c7ead..8c8a905 100644 --- a/satellite/modes.py +++ b/satellite/modes.py @@ -75,7 +75,10 @@ def _conversation_loop(agent_id: str, agent_name: str = "Cosmo"): def run_with_enter(): print("\n🦞 Cosmo Satellite запущен (режим: Enter для активации)") - print(f" Gateway : {GATEWAY_URL}") + if LLM_BACKEND == "claude": + print(f" LLM : Claude (direct)") + else: + print(f" Gateway : {GATEWAY_URL}") print("\nНажми Enter → говори → получи ответ. Ctrl+C для выхода.\n") while True: