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_mac.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: "small" # На Mac без GPU — small быстрее чем distil-large
device: "cpu" # Mac Intel/Apple Silicon — CPU (MPS пока не стабилен в faster-whisper)
compute_type: "int8" # int8 быстрее на CPU
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
sample_rate: 48000
logging:
level: "INFO"
file: "logs/cosmo.log"