Initial commit: Cosmo voice assistant

Полностью локальный голосовой ассистент на Python.

Стек:
- Wake word: openWakeWord (onnxruntime)
- STT: RealtimeSTT + faster-whisper + Silero VAD (CUDA)
- LLM-агент: smolagents ToolCallingAgent + Ollama qwen2.5:7b
- TTS: Silero V4 (torch.hub) + sounddevice
- Shell: Git Bash (Windows) / bash (macOS)

Поддерживает Windows и macOS. Агент с памятью и tool calling —
находит программы самостоятельно, запоминает пути, выполняет
произвольные shell-команды.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
d.klimov
2026-04-10 15:58:12 +03:00
commit 6010816f1d
23 changed files with 1969 additions and 0 deletions

29
config/config.yaml Normal file
View File

@@ -0,0 +1,29 @@
assistant:
name: Cosmo
wake_word: "cosmo"
audio:
sample_rate: 16000
silence_duration: 1.0 # секунд тишины = конец команды
whisper:
model_size: "distil-large-v3" # быстрее large-v3, почти такая же точность
device: "cuda"
compute_type: "float16"
language: "ru"
ollama:
base_url: "http://localhost:11434"
model: "qwen2.5:7b"
temperature: 0.2
max_tokens: 1024
max_agent_steps: 10
tts:
enabled: true
silero_speaker: "eugene" # xenia (женский) или baya, aidar, eugene, kseniya, random
sample_rate: 48000
logging:
level: "INFO"
file: "logs/cosmo.log"