Голосовой ассистент для компьютера на базе Claude
- Python
- Tauri (Rust)
- Claude Agent SDK
- Whisper
- WebSocket
- Kotlin
- до первого звука ответа
- 0,5 с
- до текста от модели
- 1,6 с
- Голос по имени
- Распознавание речи
- Claude + инструменты
- Проверка прав
- Голосовой ответ
Задача
Нужен был помощник, которым удобно пользоваться голосом, пока заняты руки: открыть программу, узнать статус, поставить напоминание, запустить длинную задачу. Готовые решения либо медленно отвечали, либо требовали подтверждать каждое действие.
Подход
Построил ядро на Python вокруг Claude Agent SDK и окно на Tauri. Каждый этап цепочки измерял отдельно: имя распознаётся локально, команда — облачным сервисом, модель держит постоянную сессию, голос идёт потоком. Права разделил на безопасные и опасные, а технические подробности убрал из озвучки, чтобы ассистент говорил по-человечески.
Что сделано
- Активация одним словом: имя распознаётся локально, остальной звук не уходит в облако до обращения
- Простые команды — громкость, таймер, открыть программу, время — выполняются мгновенно без обращения к ИИ
- Права на действия: безопасные выполняются сразу, опасные требуют голосового «да» или «нет»; слово «стоп» прерывает речь и задачу
- Память о предпочтениях пользователя, напоминания и расписание с точностью до секунды, фоновые задачи
- Озвучка без технических деталей: пути, коды ошибок и ссылки вырезаются перед синтезом речи
- Окно в виде светящегося «ядра», мини-режим, автозапуск, горячая клавиша; версия для Android в разработке
Стек
Python-ядро с WebSocket-сервером, Whisper для распознавания имени, облачное распознавание команд и синтез речи, Claude Agent SDK с набором инструментов, Tauri и Rust для окна и трея, Kotlin для версии Android.
Результат
Ассистент работает на компьютере ежедневно: время до первого звука сократилось с 2,5 до 0,5 секунды, рутинные команды выполняются без обращения к модели, а подтверждение нужно только для действительно опасных действий.