- Pack count: 67 → 98 (104 total counting structural). - Add big "Wave 4-8" table covering personality, banter, memory admin, conversation, focus mode, cooking timer, leftoff recap, trivia, routines, Outlook, time tracker, WOL. - Note: languages now RU + EN only (UA dropped 2026-05-16).
19 KiB
Voice command reference
Все голосовые команды J.A.R.V.I.S. (текущее состояние, 98 паков). Каждая команда — это фраза, которую можно произнести после wake-word ("Джарвис").
Языки: RU + EN (украинский поддерживался до 2026-05-16, в текущей версии удалён).
Группы:
- Управление ассистентом
- LLM / мозг
- Память / профили / macros
- Расписание / напоминания / привычки
- Окна / приложения / процессы
- Аудио / медиа
- Система / устройство
- Файлы / буфер / заметки
- Информация из интернета
- Утилиты-калькуляторы
- Разработка
- Развлечения
- Скриншоты / экран
После каждой команды есть 30-секундное grace-окно для follow-up без повторного "Джарвис".
Конфигурируется через CONVERSATION_GRACE_MS.
Управление ассистентом
| Команда (RU) | Что делает |
|---|---|
| "Помощь" / "что ты умеешь" | Перечисляет категории возможностей |
| "Расскажи о себе" / "кто ты такой" | Краткое представление (LLM варьирует) |
| "Сколько команд знаешь" | Health snapshot — все активные бэкенды + счётчики |
| "Диагностика" / "доложи о себе" | Одной строкой: TTS, LLM, профиль, памяти/задач |
| "Повтори за мной X" | Эхо — для теста микрофона + TTS |
| "Что я сказал" | Что услышал из последней фразы |
| "Стоп" / "хватит" / "прекрати" | Прерывает текущую команду |
| "Сбрось контекст" / "забудь разговор" | Очищает историю LLM |
| "Повтори последнее" / "повтори ответ" | Озвучивает последний ответ LLM |
LLM / мозг
| Команда | Что делает |
|---|---|
| "Переключись на локальный" / "перейди на оллама" | Hot-swap на Ollama (persistent в БД) |
| "Переключись на облако" / "используй грок" | Hot-swap на Groq |
| "Какой у тебя мозг" / "облако или локально" | Текущий backend |
Любая фраза без распознанной команды → LLM router (если включён) → если нет матча → LLM chat fallback.
Память / профили / macros
| Команда | Что делает |
|---|---|
| "Запомни что я люблю чай улун" | Сохраняет факт |
| "Что ты помнишь про чай" | Substring-поиск по памяти |
| "Что ты знаешь обо мне" | Все факты |
| "Забудь про X" | Удалить факт |
| "Режим работа" / "режим игра" / "режим сон" / "режим за рулём" / "обычный режим" | Профиль (5 встроенных) |
| "Какой сейчас режим" | Активный профиль |
| "Запиши макрос имя" | Начать запись макроса |
| "Сохрани макрос" | Завершить запись и сохранить |
| "Отмени макрос" | Отменить запись |
| "Запусти макрос имя" | Воспроизвести (с интервалом 800мс) |
| "Какие у меня макросы" / "удали макрос имя" | Управление списком |
Также: GUI страницы /memory (добавить/забыть факты), /macros (запуск/удаление), /scheduler (отмена задач).
Расписание / напоминания / привычки
| Команда | Что делает |
|---|---|
| "Напомни через 5 минут выключить кофеварку" | One-shot reminder |
| "Напомни в 18:00 забрать ребёнка" | Today at HH:MM |
| "Каждые 2 часа напоминай попить воды" | Interval |
| "Каждый день в 9:00 делай брифинг" | Daily |
| "Что у меня запланировано" / "очисти расписание" | Управление |
| "Отмени напоминание про воду" | Substring-match remove |
| "Запусти помодоро" / "стоп помодоро" | 25/5 циклы |
| "Напоминай мне пить воду" | Каждые 2 часа |
| "Напоминай размяться" | Каждые 50 минут |
| "Напоминай отдыхать глазам" | 20-20-20 (каждые 20 мин) |
| "Отключи все привычки" | Стоп всех habit_nudge задач |
| "Настрой утренний брифинг на 9:00" | Daily briefing в указанное время |
| "Утренний брифинг" | Запустить брифинг сейчас |
| "Отключи утренний брифинг" | Снять daily задачу |
Окна / приложения / процессы
| Команда | Что делает |
|---|---|
| "Открой Telegram" / "запусти Steam" / "Spotify" | Через apps/ пак (имя в config) |
| "Закрой Telegram" / "убей процесс X" | Process kill |
| "Сверни всё" / "разверни окно" / "переключи окно" | Window manager |
| "Какие открыты окна" | Список Z-order |
| "Сверни активное" / "максимизируй" | Action на foreground |
| "Открой папку загрузок" / "файлы" / "проводник" | Explorer |
Аудио / медиа
| Команда | Что делает |
|---|---|
| "Громче" / "тише" / "громкость на 30" | Volume up/down/set |
| "Заглуши" / "сними заглушку" | Mute toggle |
| "Какая громкость" | Текущий уровень |
| "Открой панель звука" | Sound panel |
| "Включи Realtek" / "переключи звук на Headphones" | Output device swap |
| "Пауза" / "плей" / "следующий трек" / "предыдущий трек" / "стоп музыка" | Media keys — Spotify / YouTube / Foobar / Yandex Music |
| "Запиши голосовую заметку" | (см. notes/) |
| "Выключи музыку через 30 минут" | Sleep timer для медиа |
Система / устройство
| Команда | Что делает |
|---|---|
| "Сколько процессор грузится" / "сколько RAM" / "температура" | Sysinfo |
| "Сколько заряда" / "заряд батареи" | Battery % |
| "Сколько свободно на диске" / "сколько на диске C" | PowerShell Get-PSDrive |
| "Какие у меня диски" | C: D: E: со свободным местом |
| "Какая сеть" / "какой WiFi" | Net SSID via netsh |
| "Мой IP" / "локальный IP" | Get-NetIPAddress |
| "Внешний IP" | api.ipify.org |
| "Прибавь яркость" / "тусклее" / "яркость 70" | Brightness via WMI |
| "Тёмная тема" / "светлая тема" | Windows theme |
| "Заблокируй компьютер" | LockWorkStation |
| "Выключи компьютер" / "перезагрузи" / "ребутни" / "сон" / "гибернация" / "выйди из системы" / "отмени выключение" | Power management |
| "Выключи компьютер через 30 минут" | Sleep timer для системы |
| "Отмени таймер выключения" | shutdown /a + scheduler clear |
Файлы / буфер / заметки
| Команда | Что делает |
|---|---|
| "Найди файл report" / "поищи documents" | File search |
| "Запиши заметку купить хлеб" | Append в notes file |
| "Покажи заметки" / "что я записал" | Открывает notes |
| "Прочитай буфер" / "что в буфере" | Clipboard contents speak |
| "Переведи буфер на английский" | LLM перевод + replace clipboard |
Информация из интернета
| Команда | Что делает |
|---|---|
| "Какая погода" / "погода завтра" / "что с погодой" | Weather pack |
| "Курс доллара" / "курс юаня" | CBR rates |
| "Сколько 1000 долларов в рублях" | Currency convert |
| "Сколько Сбер" / "сколько Газпром" | MOEX котировки (22 тикера) |
| "Сколько биткоин" / "сколько эфир" | Crypto |
| "Новости" / "что нового в мире" | News RSS |
| "Найди в гугле X" / "загугли X" | DuckDuckGo Instant + LLM |
| "Википедия X" / "что такое X" / "кто такой Y" | Wikipedia REST |
| "Открыть Google поиск X" | Websearch (open browser) |
| "Переведи на английский X" | Translate |
Утилиты-калькуляторы
| Команда | Что делает |
|---|---|
| "Посчитай 2 плюс 2" / "сколько будет 10 в степени 3" | Math |
| "Переведи 100 метров в футы" | Length convert |
| "70 кг в фунты" | Weight convert |
| "100 цельсий в фаренгейт" | Temperature convert |
| "100 км в час в мили в час" | Speed convert |
| "Сколько дней до нового года" | Date math (8 марта, 9 мая, Рождество, Новый год + любая дата) |
| "Какой сегодня день недели" | Zeller's congruence |
| "Время" / "сколько времени" / "какое сегодня число" | Date query |
| "Подбрось монету" / "орёл или решка" | Coin flip |
| "Сгенерируй пароль 16 символов" | Secure password → clipboard |
| "Сгенерируй UUID" | v4 UUID → clipboard |
| "Брось кубик" / "брось два кубика" | Dice |
| "Выбери случайно из X или Y или Z" | Random choice |
| "Запусти секундомер" / "сколько прошло" / "стоп секундомер" | Stopwatch |
| "Прибавь счётчик" / "сколько на счётчике" / "сбрось счётчик" | Counter |
| "Как пишется X" | Spelling |
Разработка
| Команда | Что делает |
|---|---|
| "Укажи проект C:..." | Codebase Q&A: установить root |
| "Какой проект сейчас" | Текущий root |
| "Что делает функция X" / "найди в коде Y" / "объясни код" | Walks codebase → LLM |
| "Текущий репо owner/repo" | GitHub: установить repo |
| "Какие пиары" / "открытые пиары" | List PRs via gh CLI |
| "Разбери последний пиар" | LLM-ревью PR (gh pr view) |
| "Сгенерируй код для X" | Code generation pack |
| "Открой Cursor" / "VS Code" | apps/ |
Развлечения
| Команда | Что делает |
|---|---|
| "Расскажи анекдот" / "пошути" / "скажи фразу" / "тостер" | Fun pack (jokes) |
| "Запиши настроение 7" / "сегодня мне грустно" | Mood log |
| "Как прошла неделя" / "сводка настроения" | Mood recap via LLM |
| "Запусти Steam игру X" / "поиграй в Y" | Games pack |
Скриншоты / экран
| Команда | Что делает |
|---|---|
| "Что на экране" / "опиши экран" | Vision LLM описание |
| "Прочитай ошибку" | Vision LLM: ищет stack trace, объясняет |
| "Сделай скриншот" / "скрин в буфер" | Screenshot → clipboard |
| "Сохрани скриншот" | Screenshot → ~/Pictures/Screenshots/ |
| "OCR экрана" / "прочитай текст" | OCR (existing pack) |
| "Суммаризируй экран" | Summarize visible window |
Wave 4-8 (новое — личность, рутины, режимы)
| Команда | Что делает |
|---|---|
| Личность / banter | |
| "Привет Джарвис" / "Доброе утро" | Время-чувствительные ответы из ~30 вариантов |
| "Спасибо" / "Ты молодец" | Варьирующиеся «батлерские» ответы |
| "Как дела Джарвис" | Включает живые цифры из памяти + профиля |
| "Процитируй Тони" | Случайная цитата Stark/JARVIS (15+ вариантов) |
| "Скажи что-нибудь интересное" / "Скучно мне" | Принудительная idle-banter реплика |
| "Помолчи" / "Можешь говорить" | Pause/resume фонового banter |
| Память / разговор | |
| "О чём мы говорили" | LLM-сжатие последних ~12 реплик |
| "Повтори" / "Не расслышал" | Перепроизнести последний ответ |
| "Сколько фактов помнишь" | Размер долговременной памяти |
| "Покажи что помнишь" | Список ключей в памяти |
| "Точно забудь всё" | Полное стирание памяти (с защитой) |
| Режимы и рутины | |
| "Режим фокуса" / "Focus mode" | Профиль work + Focus Assist + стретч через 50 мин |
| "Выключи фокус" | Откат |
| "Спокойной ночи" | Профиль sleep + отмена одноразовых таймеров |
| "Доброе утро" | Профиль default + обзор расписания |
| "Иду за кофе" / "Coffee break" | Пауза banter + чек-ин через 5 минут |
| Утилиты / новые | |
| "Сколько будет 234 на 567" | Offline-парсер (без LLM, instant) |
| "Что такое квантовая запутанность" | DDG Instant Answer (без ключа) |
| "Переведи буфер на немецкий" | Translate clipboard с озвучкой в немецком SAPI voice |
| "Поставь чайник" / "Варю пасту" | Cooking timer с пресетами на 16+ блюд |
| "На чём я остановился" | Recap из памяти + расписания + последнего LLM-ответа |
| "Расскажи про железного человека" | Случайный MCU-факт |
| "Разбуди сервер" / "Wake on LAN" | Magic packet на MAC из памяти (wol_server) |
| Outlook (требует Outlook) | |
| "Сколько у меня непрочитанных писем" | Outlook COM → счётчик inbox |
| "Прочитай последнее письмо" | From + Subject + 200 chars body |
| "Отправь письмо [Имя]" | Body = clipboard, через GAL lookup |
| "Коротко расскажи про инбокс" | LLM-сводка последних 5 unread |
| Time tracker | |
| "Начни отсчёт" / "Закончи отсчёт" | Сессия учёта рабочего времени |
| "Сколько я работаю сегодня" | Сумма открытых + закрытых сессий за календарный день |
| "Сколько на этой неделе" | Сумма за последние 7 дней |
| "Сбрось трекер" | Стереть сегодняшние записи |
| Кастомное wake-word | |
| GUI → /wake-trainer | Мастер: запись 5–30 сэмплов → rustpotter .rpw |
| Плагины | |
| GUI → /plugins | Toggle/Open Folder для %APPDATA%/com.priler.jarvis/plugins/ |
Как добавить свою команду
Скопируй resources/commands/echo/ как шаблон, отредактируй command.toml
(id, phrases) и *.lua (логика). Рекомендуемая структура — см.
ARCHITECTURE.md → Recommended pack structure.
Минимум:
-- thing.lua
local phrase = (jarvis.context.phrase or ""):lower()
local body = jarvis.text.strip_trigger(phrase, { "сделай штуку" })
body = body:gsub("^[%s,:%.]+", ""):gsub("%s+$", "")
if body == "" then
return jarvis.cmd.error("Что именно?")
end
-- ... do work ...
return jarvis.cmd.ok("Готово.")
Затем cargo test -p jarvis-core --lib commands::tests — он автоматически
проверит что TOML парсится и Lua-скрипт существует.
Голосовое vs GUI
GUI страницы — для случаев когда голосом неудобно:
/commands— все 67 паков с поиском (для discovery)/macros— список с кнопкой "Запустить"/scheduler— задачи с auto-poll каждые 5 сек/memory— добавление/удаление фактов с фильтром/settings → AI Backends— переключение LLM/TTS через dropdown
Что-то не работает?
- Голос не распознаётся — проверь микрофон в Settings → Devices. Скажи "повтори за мной привет" — если эхо проходит, проблема не в STT.
- Не слышу ответ — проверь TTS backend в Settings → AI Backends. Скажи
"проверка эхо" — должен быть слышен голос. Если нет, проверь динамики +
попробуй
JARVIS_TTS=sapi. - "Не могу связаться с сервером" — LLM unreachable. Если Groq —
проверь GROQ_TOKEN и интернет. Если Ollama —
ollama serveзапущен? - Команда не найдена — посмотри
/commandsв GUI, поищи фразу. Если фразы похожи но не та — agentic router сделает попытку, или подскажет. - Что-то странное в логах —
<APP_LOG_DIR>/jarvis.log(путь видно в первых строкахjarvis-appstdout).