J.A.R.V.I.S-rust/USAGE.md
Bossiara13 bb3b4f5942
Some checks are pending
Rust CI / cargo test (jarvis-core) (push) Waiting to run
Rust CI / cargo clippy (push) Waiting to run
Rust CI / cargo check (workspace) (push) Waiting to run
docs: update USAGE.md with Wave 4-8 voice commands
- 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).
2026-05-16 14:46:18 +03:00

19 KiB
Raw Blame History

Voice command reference

Все голосовые команды J.A.R.V.I.S. (текущее состояние, 98 паков). Каждая команда — это фраза, которую можно произнести после wake-word ("Джарвис").

Языки: RU + EN (украинский поддерживался до 2026-05-16, в текущей версии удалён).

Группы:

После каждой команды есть 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 Мастер: запись 530 сэмплов → 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

Что-то не работает?

  1. Голос не распознаётся — проверь микрофон в Settings → Devices. Скажи "повтори за мной привет" — если эхо проходит, проблема не в STT.
  2. Не слышу ответ — проверь TTS backend в Settings → AI Backends. Скажи "проверка эхо" — должен быть слышен голос. Если нет, проверь динамики + попробуй JARVIS_TTS=sapi.
  3. "Не могу связаться с сервером" — LLM unreachable. Если Groq — проверь GROQ_TOKEN и интернет. Если Ollama — ollama serve запущен?
  4. Команда не найдена — посмотри /commands в GUI, поищи фразу. Если фразы похожи но не та — agentic router сделает попытку, или подскажет.
  5. Что-то странное в логах<APP_LOG_DIR>/jarvis.log (путь видно в первых строках jarvis-app stdout).