When TABLET_URL and VOICE_API_KEY are set, the tablet handles TTS via its ElevenLabs proxy — local speak() is skipped. Controlled by TABLET_TTS_ENABLED (default true when tablet is configured). - notifier.speak_locally() — gate used by all local speech paths - llm._maybe_speak — no-op when tablet plays the voice - modes._handle_reset — emits response event and skips local speak when tablet TTS is on; keeps spoken fallback otherwise Tablet side in smart-home-tablet repo: /api/voice/tts endpoint + VoiceOverlay audio playback (commit ba2e… pending). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
62 lines
2.5 KiB
Plaintext
62 lines
2.5 KiB
Plaintext
# OpenClaw Gateway — Cosmo
|
||
# Роутинг к агенту идёт через COSMO_SESSION_KEY, отдельный AGENT не нужен.
|
||
GATEWAY_URL=http://192.168.31.103:18789
|
||
GATEWAY_TOKEN=your_openclaw_token_here
|
||
VOICE_MODEL=openai/gpt-5.4-mini
|
||
|
||
# OpenClaw Gateway — Люся
|
||
LUSYA_GATEWAY_URL=http://192.168.31.103:18790
|
||
LUSYA_GATEWAY_TOKEN=your_openclaw_token_here
|
||
LUSYA_VOICE_MODEL=openai/gpt-5.4-mini
|
||
|
||
# STT (Groq)
|
||
GROQ_API_KEY=your_groq_api_key_here
|
||
|
||
# Wake word (openwakeword .onnx модели, обучаются через training/step_4.py)
|
||
WAKE_WORD_COSMO=data/models/cosmo.onnx
|
||
WAKE_WORD_LUSYA=data/models/lusya.onnx
|
||
|
||
# Audio (на Pi: bluez_sink.XX_XX_XX_XX_XX_XX.a2dp_sink)
|
||
AUDIO_SINK=
|
||
|
||
# TTS (ElevenLabs)
|
||
ELEVENLABS_API_KEY=your_elevenlabs_api_key_here
|
||
ELEVENLABS_MODEL=eleven_turbo_v2_5
|
||
COSMO_TTS_VOICE=your_cosmo_voice_id
|
||
LUSYA_TTS_VOICE=your_lusya_voice_id
|
||
|
||
# VAD
|
||
SILENCE_THRESHOLD=500
|
||
SILENCE_DURATION=1.5
|
||
MAX_DURATION=15
|
||
FOLLOWUP_TIMEOUT=8
|
||
VAD_AGGRESSIVENESS=2 # webrtcvad 0..3, больше = строже
|
||
|
||
# LLM
|
||
VOICE_MAX_TOKENS=300
|
||
LLM_RETRIES=3
|
||
|
||
# Barge-in (прерывание TTS голосом). Работает только при разнесённых мике/колонке
|
||
# или в наушниках — иначе собственный TTS будет триггерить прерывание.
|
||
BARGE_IN_ENABLED=false
|
||
BARGE_IN_THRESHOLD=1500 # RMS выше SILENCE_THRESHOLD
|
||
BARGE_IN_WARMUP=0.8 # сек пропуска в начале TTS
|
||
|
||
# Логирование
|
||
LOG_FILE=errors.log
|
||
|
||
COSMO_SESSION_KEY=agent:voice:voice:home
|
||
LUSYA_SESSION_KEY=agent:wife:voice:home
|
||
|
||
# Smart Home Tablet integration (опционально)
|
||
# Если настроено — скрипт шлёт события состояния (wake/command/response/idle/error)
|
||
# на планшет, который показывает оверлей с Siri-blob + распознанным текстом.
|
||
# Если не настроено, просто пропускается, ассистент работает как раньше.
|
||
TABLET_URL=https://tablet.digital-home.site
|
||
VOICE_API_KEY=your_voice_api_key_here
|
||
|
||
# TABLET_TTS_ENABLED=true (по умолчанию true когда TABLET_URL/KEY заданы) —
|
||
# голос ассистента проигрывается на планшете через ElevenLabs proxy,
|
||
# локальный mpv/speak пропускается. false = говорим локально как раньше.
|
||
TABLET_TTS_ENABLED=true
|