config: make OpenClaw credentials optional when LLM_BACKEND=claude
Allows removing all GATEWAY_*, VOICE_MODEL, *_SESSION_KEY env vars when running on the Claude direct backend. The OpenClaw hard-exit check now only fires when that backend is actually selected.
This commit is contained in:
@@ -19,14 +19,18 @@ logging.basicConfig(
|
|||||||
)
|
)
|
||||||
log = logging.getLogger("cosmo")
|
log = logging.getLogger("cosmo")
|
||||||
|
|
||||||
# OpenClaw Gateway — Cosmo (по умолчанию)
|
# Какой LLM backend — openclaw (дефолт) или claude (прямой Anthropic).
|
||||||
# Роутинг к нужному агенту делается через x-openclaw-session-key, поэтому AGENT не нужен.
|
# В конфиге используется для решения «требовать ли OpenClaw credentials».
|
||||||
GATEWAY_URL = os.getenv("GATEWAY_URL", "http://192.168.31.103:18789")
|
LLM_BACKEND_CFG = os.getenv("LLM_BACKEND", "openclaw").lower()
|
||||||
GATEWAY_TOKEN = os.getenv("GATEWAY_TOKEN")
|
|
||||||
VOICE_MODEL = os.getenv("VOICE_MODEL", "openai/gpt-4o-mini")
|
# 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 — Люся
|
# 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_GATEWAY_TOKEN = os.getenv("LUSYA_GATEWAY_TOKEN", GATEWAY_TOKEN)
|
||||||
LUSYA_VOICE_MODEL = os.getenv("LUSYA_VOICE_MODEL", VOICE_MODEL)
|
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_client = Groq(api_key=os.getenv("GROQ_API_KEY"))
|
groq_client = Groq(api_key=os.getenv("GROQ_API_KEY"))
|
||||||
|
|
||||||
if not GATEWAY_TOKEN:
|
if LLM_BACKEND_CFG == "openclaw" and not GATEWAY_TOKEN:
|
||||||
print("❌ GATEWAY_TOKEN не задан в .env")
|
print("❌ GATEWAY_TOKEN не задан в .env (нужен для LLM_BACKEND=openclaw)")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|||||||
@@ -75,7 +75,10 @@ def _conversation_loop(agent_id: str, agent_name: str = "Cosmo"):
|
|||||||
|
|
||||||
def run_with_enter():
|
def run_with_enter():
|
||||||
print("\n🦞 Cosmo Satellite запущен (режим: 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")
|
print("\nНажми Enter → говори → получи ответ. Ctrl+C для выхода.\n")
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
|
|||||||
Reference in New Issue
Block a user