Голосовой ИИ-ассистент с реальным временем: слушает микрофон через Gemini Live, понимает команды на любом языке и сам решает, какой инструмент дёрнуть — открыть приложение, поискать в браузере, поработать с файлами, поставить напоминание или запустить мини-агента на дев-задачу.
| Возможность | Описание |
|---|---|
| Голос в реальном времени | Низкая задержка, любой язык, прерывание речи на лету |
| Управление системой | Запуск приложений, громкость/яркость, окна, скриншоты |
| Файлы и документы | PDF, Word, Excel, код, аудио, видео — анализ и преобразование |
| Браузер | Открытие сайтов, поиск, клики, заполнение форм через Playwright |
| Напоминания | Планировщик Windows для отложенных уведомлений |
| Долговременная память | Запоминает имя, проекты, привычки и подтягивает их в промпт |
| Мульти-шаговые задачи | Планировщик разбивает цель на шаги и сам их выполняет |
- Python 3.11+ (рекомендую 3.12)
- Gemini Live API — голосовой канал и tool-calling
- OpenRouter (бесплатные модели) — текстовая аналитика, память, переводы
- PyQt6 — UI
- Playwright — управление браузером
- Windows-only зависимости (pycaw / comtypes / win10toast) — используются
только в
actions/computer_settings.pyиactions/reminder.py
git clone https://github.com/BOMUND/Akli2.0.git
cd Akli2.0
python setup.py
python main.pyПри первом запуске UI попросит вставить ключи Gemini и OpenRouter — они
сохранятся в config/api_keys.json (этот файл в .gitignore).
main.py — точка входа, Gemini Live + диспетчер tool-call'ов
ui.py — PyQt6-интерфейс (HUD, лог, оверлей настройки)
or_client.py — клиент OpenRouter с пулом моделей и fallback'ом
core/prompt.txt — системный промпт ассистента
config/ — настройки и API-ключи
memory/ — JSON-память пользователя
actions/ — конкретные инструменты (browser_control, file_*,
reminder, dev_agent, web_search, computer_*, ...)
agent/ — планировщик и исполнитель мульти-шаговых задач
Учебный проект: хотелось своими руками собрать ассистента, который не висит на одном LLM-провайдере, а раздаёт нагрузку между Gemini (голос) и OpenRouter (текст/анализ), и при этом честно умеет нажимать кнопки в системе, а не только болтать.