Edit new session

This commit is contained in:
2026-04-14 18:22:01 +03:00
parent 182e7875ab
commit 0f4ae3a80c
2 changed files with 33 additions and 12 deletions

View File

@@ -1,22 +1,42 @@
import os
import sys
from .config import GATEWAY_URL, AGENT, log
from .config import GATEWAY_URL, AGENT, AGENTS, log
from .audio import record
from .tts import speak, stop_speaking
from .llm import ask_agent_stream, is_reset_command
from .llm import ask_agent_stream, is_reset_command, VOICE_SESSION_KEY
WAKE_THRESHOLD = float(os.getenv("WAKE_THRESHOLD", "0.5"))
def _handle_reset(text: str, agent_id: str) -> bool:
"""Команда сбросана сервере OpenClaw сессия рулится session_key, клиент только сообщает."""
if is_reset_command(text):
msg = "Начинаю новую сессию."
print(f"🔄 {msg}")
speak(msg, agent_id)
return True
return False
"""Команда сбросаотправляет slash-команду /new в OpenClaw (без озвучки ответа)."""
if not is_reset_command(text):
return False
cfg = AGENTS.get(agent_id, AGENTS["cosmo"])
print("🔄 Отправляю /new в OpenClaw")
try:
cfg["session"].post(
f"{cfg['gateway_url']}/v1/chat/completions",
headers={
"x-ocplatform-model": cfg["voice_model"],
"x-openclaw-session-key": cfg.get("session_key", VOICE_SESSION_KEY),
},
json={
"model": cfg["agent"],
"stream": False,
"messages": [{"role": "user", "content": "/new"}],
},
timeout=30,
)
except Exception:
log.exception("Не удалось отправить /new")
msg = "Начинаю новую сессию."
print(f"🔄 {msg}")
speak(msg, agent_id)
return True
def _conversation_loop(agent_id: str, agent_name: str = "Cosmo"):
@@ -76,6 +96,7 @@ def run_with_porcupine():
stream = audio.open(rate=16000, channels=1, format=pyaudio.paInt16,
input=True, frames_per_buffer=1280)
print("✅ Слушаю через OpenWakeWord...")
# print("\nСкажи 'Космо' или 'Люся'...\n") # TODO: после подключения Люси
try: