New `expenses_handlers.py`: - parse_expense(phrase) -> (amount, category) | None — pure fn, fully unit-tested. Handles "потратил 500 на еду", comma decimals "12,50", EN "spent 12.5 on coffee", default category "разное". - do_expenses_log: append entry to expenses.json (atomic write-then-rename). - do_expenses_today: sum today's entries (local-day boundary). - do_expenses_week: rolling 7-day total + count. - do_expenses_breakdown: per-category, top-5 + tail collapse. extensions.py / main.py / commands.yaml: 4 new dispatch entries. .gitignore: + expenses.json. tests/test_expenses_handlers.py: 8 unit tests covering parse, log, today/week math, breakdown ordering + tail collapse. Tests: 96 → 104 (+8). Total Python coverage now mirrors Rust pack behaviour for personal finance.
1742 lines
44 KiB
YAML
1742 lines
44 KiB
YAML
open_browser:
|
||
phrases:
|
||
- открой браузер
|
||
- запусти браузер
|
||
- открой яндекс
|
||
- яндекс браузер
|
||
action: {type: url, href: "about:blank", browser: "yandex"}
|
||
|
||
open_youtube:
|
||
phrases:
|
||
- открой ютуб
|
||
- ютуб
|
||
- запусти ютуб
|
||
action: {type: url, href: "https://www.youtube.com", browser: "yandex"}
|
||
|
||
open_google:
|
||
phrases:
|
||
- открой гугл
|
||
- гугл
|
||
- запусти гугл
|
||
action: {type: url, href: "https://www.google.com", browser: "yandex"}
|
||
|
||
open_notepad:
|
||
phrases:
|
||
- открой блокнот
|
||
- запусти блокнот
|
||
- открой нотепад
|
||
action: {type: shell, cmd: 'start "" notepad.exe'}
|
||
|
||
open_calculator:
|
||
phrases:
|
||
- открой калькулятор
|
||
- запусти калькулятор
|
||
- нужен калькулятор
|
||
action: {type: shell, cmd: 'start "" calc.exe'}
|
||
|
||
open_explorer:
|
||
phrases:
|
||
- открой проводник
|
||
- открой папку
|
||
- запусти проводник
|
||
- открой файлы
|
||
action: {type: shell, cmd: 'start "" explorer.exe'}
|
||
|
||
open_terminal:
|
||
phrases:
|
||
- открой терминал
|
||
- запусти терминал
|
||
- открой консоль
|
||
- открой повершелл
|
||
action: {type: shell, cmd: 'start "" wt.exe || start "" powershell.exe'}
|
||
|
||
open_settings:
|
||
phrases:
|
||
- открой настройки
|
||
- открой параметры
|
||
- открой настройки виндоус
|
||
action: {type: shell, cmd: 'start "" ms-settings:'}
|
||
|
||
open_task_manager:
|
||
phrases:
|
||
- открой диспетчер задач
|
||
- запусти диспетчер задач
|
||
- диспетчер задач
|
||
action: {type: shell, cmd: 'start "" taskmgr.exe'}
|
||
|
||
lock_screen:
|
||
phrases:
|
||
- заблокируй компьютер
|
||
- заблокируй экран
|
||
- блокировка экрана
|
||
- залочь
|
||
action: {type: shell, cmd: 'rundll32.exe user32.dll,LockWorkStation'}
|
||
|
||
screenshot:
|
||
phrases:
|
||
- сделай скриншот
|
||
- скриншот
|
||
- сними экран
|
||
action:
|
||
type: shell
|
||
cmd: >-
|
||
powershell -NoProfile -Command "Add-Type -AssemblyName System.Windows.Forms,System.Drawing; $b=[System.Windows.Forms.Screen]::PrimaryScreen.Bounds; $bmp=New-Object Drawing.Bitmap $b.Width,$b.Height; $g=[Drawing.Graphics]::FromImage($bmp); $g.CopyFromScreen($b.Location,[Drawing.Point]::Empty,$b.Size); $p=Join-Path $env:USERPROFILE ('Pictures\jarvis_'+(Get-Date -Format 'yyyyMMdd_HHmmss')+'.png'); $bmp.Save($p); $g.Dispose(); $bmp.Dispose()"
|
||
|
||
volume_up:
|
||
phrases:
|
||
- громче
|
||
- сделай громче
|
||
- прибавь звук
|
||
- увеличь громкость
|
||
- погромче
|
||
action:
|
||
type: multi
|
||
steps:
|
||
- {type: keys, sequence: 'volumeup'}
|
||
- {type: keys, sequence: 'volumeup'}
|
||
- {type: keys, sequence: 'volumeup'}
|
||
- {type: keys, sequence: 'volumeup'}
|
||
- {type: keys, sequence: 'volumeup'}
|
||
|
||
volume_down:
|
||
phrases:
|
||
- тише
|
||
- сделай тише
|
||
- убавь звук
|
||
- уменьши громкость
|
||
- потише
|
||
action:
|
||
type: multi
|
||
steps:
|
||
- {type: keys, sequence: 'volumedown'}
|
||
- {type: keys, sequence: 'volumedown'}
|
||
- {type: keys, sequence: 'volumedown'}
|
||
- {type: keys, sequence: 'volumedown'}
|
||
- {type: keys, sequence: 'volumedown'}
|
||
|
||
sound_off:
|
||
phrases:
|
||
- выключи звук
|
||
- беззвучный режим
|
||
- режим без звука
|
||
- отключи звук
|
||
action:
|
||
type: multi
|
||
steps:
|
||
- {type: play_sound, name: ok}
|
||
- {type: system, op: volume_mute}
|
||
|
||
sound_on:
|
||
phrases:
|
||
- включи звук
|
||
- режим со звуком
|
||
- верни звук
|
||
action:
|
||
type: multi
|
||
steps:
|
||
- {type: system, op: volume_unmute}
|
||
- {type: play_sound, name: ok}
|
||
|
||
music:
|
||
phrases:
|
||
- давай музыку
|
||
- музыка
|
||
- яндекс музыка
|
||
- включи музыку
|
||
- открой музыку
|
||
- послушаем музыку
|
||
- хочу музыку
|
||
- врубай музло
|
||
- включи что-то послушать
|
||
- давай что-то послушаем
|
||
action: {type: keys, sequence: 'playpause'}
|
||
|
||
music_off:
|
||
phrases:
|
||
- выключи музыку
|
||
- отруби музыку
|
||
- убери музыку
|
||
- отключи музыку
|
||
- закрой музыку
|
||
- останови музыку
|
||
- хватит музыки
|
||
- пауза
|
||
- поставь на паузу
|
||
action: {type: keys, sequence: 'playpause'}
|
||
|
||
music_next:
|
||
phrases:
|
||
- следующий трек
|
||
- следующая мелодия
|
||
- следующая песня
|
||
- переключи трек
|
||
- переключи мелодию
|
||
- переключи песню
|
||
- следующая музыка
|
||
action: {type: keys, sequence: 'nexttrack'}
|
||
|
||
music_prev:
|
||
phrases:
|
||
- предыдущая музыка
|
||
- предыдущий трек
|
||
- предыдущая мелодия
|
||
- предыдущая песня
|
||
- верни трек
|
||
- верни мелодию
|
||
- верни песню
|
||
- верни прошлый трек
|
||
- переключи на прошлый трек
|
||
action: {type: keys, sequence: 'prevtrack'}
|
||
|
||
media_stop:
|
||
phrases:
|
||
- стоп музыка
|
||
- полная тишина
|
||
action: {type: keys, sequence: 'stop'}
|
||
|
||
switch_audio_device:
|
||
phrases:
|
||
- переключи устройство
|
||
- смени вывод
|
||
- переключи на наушники
|
||
- переключи на колонки
|
||
- переключи на динамики
|
||
- открой настройки звука
|
||
action: {type: audio_devices_panel}
|
||
|
||
sysinfo_time:
|
||
phrases:
|
||
- сколько времени
|
||
- который час
|
||
- какой сегодня день
|
||
- какое сегодня число
|
||
action: {type: sysinfo, topic: time}
|
||
|
||
sysinfo_battery:
|
||
phrases:
|
||
- сколько заряда
|
||
- заряд батареи
|
||
- сколько процентов батареи
|
||
action: {type: sysinfo, topic: battery}
|
||
|
||
sysinfo_cpu:
|
||
phrases:
|
||
- загрузка процессора
|
||
- сколько процессор
|
||
- нагрузка цпу
|
||
action: {type: sysinfo, topic: cpu}
|
||
|
||
sysinfo_ram:
|
||
phrases:
|
||
- сколько памяти
|
||
- сколько оперативки
|
||
- загрузка оперативки
|
||
- сколько свободной памяти
|
||
action: {type: sysinfo, topic: ram}
|
||
|
||
sysinfo_disk:
|
||
phrases:
|
||
- сколько свободно на диске
|
||
- сколько места на диске
|
||
- сколько свободно на компе
|
||
action: {type: sysinfo, topic: disk}
|
||
|
||
sysinfo_all:
|
||
phrases:
|
||
- статус системы
|
||
- что с компьютером
|
||
- состояние пк
|
||
- что по системе
|
||
action: {type: sysinfo, topic: all}
|
||
|
||
file_search:
|
||
phrases:
|
||
- найди файл
|
||
- найди документ
|
||
- поиск файла
|
||
- ищи файл
|
||
- где файл
|
||
action: {type: file_search}
|
||
|
||
codegen:
|
||
phrases:
|
||
- напиши код
|
||
- сгенерируй код
|
||
- набросай код
|
||
- сделай скрипт
|
||
- напиши скрипт
|
||
- сгенерируй скрипт
|
||
action: {type: groq_codegen}
|
||
|
||
read_screen:
|
||
phrases:
|
||
- прочитай экран
|
||
- что на экране
|
||
- распознай текст с экрана
|
||
- что написано на экране
|
||
- сними текст с экрана
|
||
action: {type: ocr_screen}
|
||
|
||
# Window management via pyautogui hotkeys
|
||
show_desktop:
|
||
phrases:
|
||
- покажи рабочий стол
|
||
- свернуть всё
|
||
- сверни все окна
|
||
- покажи десктоп
|
||
action: {type: keys, sequence: 'winleft+d'}
|
||
|
||
maximize_window:
|
||
phrases:
|
||
- разверни окно
|
||
- развернуть окно
|
||
- на весь экран
|
||
- раскрой окно
|
||
action: {type: keys, sequence: 'winleft+up'}
|
||
|
||
minimize_window:
|
||
phrases:
|
||
- сверни окно
|
||
- свернуть окно
|
||
- убери окно
|
||
action: {type: keys, sequence: 'winleft+down'}
|
||
|
||
snap_left:
|
||
phrases:
|
||
- окно влево
|
||
- сдвинь влево
|
||
- прижми влево
|
||
action: {type: keys, sequence: 'winleft+left'}
|
||
|
||
snap_right:
|
||
phrases:
|
||
- окно вправо
|
||
- сдвинь вправо
|
||
- прижми вправо
|
||
action: {type: keys, sequence: 'winleft+right'}
|
||
|
||
close_window:
|
||
phrases:
|
||
- закрой окно
|
||
- закрой вкладку
|
||
- закрой текущее
|
||
action: {type: keys, sequence: 'alt+f4'}
|
||
|
||
restore_all:
|
||
phrases:
|
||
- восстанови окна
|
||
- верни окна
|
||
- разверни окна
|
||
action: {type: keys, sequence: 'winleft+shift+m'}
|
||
|
||
task_view:
|
||
phrases:
|
||
- открой все окна
|
||
- обзор окон
|
||
- таск вью
|
||
- покажи все окна
|
||
action: {type: keys, sequence: 'winleft+tab'}
|
||
|
||
# Clipboard read aloud
|
||
read_clipboard:
|
||
phrases:
|
||
- прочитай буфер
|
||
- что в буфере
|
||
- прочитай из буфера
|
||
- озвучь буфер
|
||
action: {type: clipboard_read}
|
||
|
||
# Notes
|
||
add_note:
|
||
phrases:
|
||
- запиши
|
||
- запиши заметку
|
||
- запиши идею
|
||
- запомни
|
||
- запомни идею
|
||
- сделай заметку
|
||
action: {type: notes_add}
|
||
|
||
open_notes:
|
||
phrases:
|
||
- покажи заметки
|
||
- открой заметки
|
||
- что я записал
|
||
action: {type: notes_open}
|
||
|
||
# Process killer
|
||
kill_process:
|
||
phrases:
|
||
- убей процесс
|
||
- закрой программу
|
||
- завершить процесс
|
||
- выруби процесс
|
||
action: {type: process_kill}
|
||
|
||
# Web search shortcuts
|
||
search_google:
|
||
phrases:
|
||
- загугли
|
||
- поиск в гугл
|
||
- поищи в гугл
|
||
- найди в гугл
|
||
- ищи в гугл
|
||
action: {type: websearch, service: google}
|
||
|
||
search_youtube:
|
||
phrases:
|
||
- найди на ютубе
|
||
- поиск на ютубе
|
||
- ищи на ютубе
|
||
- ютуб поиск
|
||
action: {type: websearch, service: youtube}
|
||
|
||
search_wiki:
|
||
phrases:
|
||
- найди в википедии
|
||
- поиск в википедии
|
||
- википедия
|
||
- вики поиск
|
||
action: {type: websearch, service: wiki}
|
||
|
||
search_yandex:
|
||
phrases:
|
||
- поищи в яндекс
|
||
- найди в яндекс
|
||
- яндекс поиск
|
||
- пробей в яндекс
|
||
action: {type: websearch, service: yandex}
|
||
|
||
translate:
|
||
phrases:
|
||
- переведи на английский
|
||
- переведи на русский
|
||
- переведи на украинский
|
||
- переведи на немецкий
|
||
- переведи на французский
|
||
- переведи на испанский
|
||
- переведи на китайский
|
||
- переведи на японский
|
||
- переведи
|
||
- как по английски
|
||
- как по русски
|
||
action: {type: translate}
|
||
|
||
math_eval:
|
||
phrases:
|
||
- посчитай
|
||
- сколько будет
|
||
- вычисли
|
||
- реши
|
||
- сколько это
|
||
action: {type: math_eval}
|
||
|
||
theme_dark:
|
||
phrases:
|
||
- тёмная тема
|
||
- темная тема
|
||
- включи тёмную тему
|
||
- тёмный режим
|
||
- темный режим
|
||
action: {type: theme_set, mode: dark}
|
||
|
||
theme_light:
|
||
phrases:
|
||
- светлая тема
|
||
- включи светлую тему
|
||
- светлый режим
|
||
action: {type: theme_set, mode: light}
|
||
|
||
open_project:
|
||
phrases:
|
||
- открой проект
|
||
- запусти проект
|
||
- открой папку проекта
|
||
action: {type: open_project}
|
||
|
||
list_projects:
|
||
phrases:
|
||
- какие у меня проекты
|
||
- список проектов
|
||
- покажи проекты
|
||
action: {type: list_projects}
|
||
|
||
open_sound_panel:
|
||
phrases:
|
||
- открой настройки звука
|
||
- панель звука
|
||
- настройки микрофона
|
||
- управление звуком
|
||
action: {type: open_sound_panel}
|
||
|
||
set_reminder:
|
||
phrases:
|
||
- напомни через
|
||
- напомни мне через
|
||
- поставь напоминание через
|
||
- установи таймер на
|
||
- таймер на
|
||
action: {type: set_reminder}
|
||
|
||
today:
|
||
phrases:
|
||
- какой сегодня день
|
||
- какое сегодня число
|
||
- сегодня какое число
|
||
- что сегодня
|
||
action: {type: date_query, offset: 0}
|
||
|
||
tomorrow:
|
||
phrases:
|
||
- какой день завтра
|
||
- что завтра
|
||
- завтра какое число
|
||
- какое число завтра
|
||
action: {type: date_query, offset: 1}
|
||
|
||
yesterday:
|
||
phrases:
|
||
- какой был вчера день
|
||
- что было вчера
|
||
- вчера какое число было
|
||
action: {type: date_query, offset: -1}
|
||
|
||
type_text:
|
||
phrases:
|
||
- напечатай
|
||
- набери текст
|
||
- введи текст
|
||
- впиши
|
||
action: {type: type_text}
|
||
|
||
coin_flip:
|
||
phrases:
|
||
- подбрось монетку
|
||
- брось монетку
|
||
- орёл или решка
|
||
- орел или решка
|
||
action: {type: dice, kind: coin}
|
||
|
||
roll_dice:
|
||
phrases:
|
||
- брось кубик
|
||
- подбрось кубик
|
||
- кинь кубик
|
||
action: {type: dice, kind: dice}
|
||
|
||
random_number:
|
||
phrases:
|
||
- случайное число
|
||
- выбери случайное число
|
||
- рандомное число
|
||
action: {type: dice, kind: random}
|
||
|
||
stopwatch_start:
|
||
phrases:
|
||
- засеки время
|
||
- запусти секундомер
|
||
- старт секундомер
|
||
- включи секундомер
|
||
action: {type: stopwatch, op: start}
|
||
|
||
stopwatch_check:
|
||
phrases:
|
||
- сколько прошло
|
||
- сколько времени прошло
|
||
- проверь секундомер
|
||
action: {type: stopwatch, op: check}
|
||
|
||
stopwatch_stop:
|
||
phrases:
|
||
- стоп секундомер
|
||
- останови секундомер
|
||
- выключи секундомер
|
||
action: {type: stopwatch, op: stop}
|
||
|
||
news_headlines:
|
||
phrases:
|
||
- что нового
|
||
- новости
|
||
- что в мире
|
||
- последние новости
|
||
- расскажи новости
|
||
- топ новостей
|
||
action: {type: news}
|
||
|
||
currency_rate:
|
||
phrases:
|
||
- курс доллара
|
||
- курс евро
|
||
- сколько стоит доллар
|
||
- сколько стоит евро
|
||
- курс юаня
|
||
- курс валют
|
||
- что с долларом
|
||
- что с евро
|
||
action: {type: currency_rate}
|
||
|
||
crypto_price:
|
||
phrases:
|
||
- сколько биткоин
|
||
- цена биткоина
|
||
- курс биткоина
|
||
- цена эфира
|
||
- сколько эфир
|
||
- цена крипты
|
||
- цена соланы
|
||
action: {type: crypto_price}
|
||
|
||
joke:
|
||
phrases:
|
||
- расскажи шутку
|
||
- пошути
|
||
- анекдот
|
||
- рассмеши меня
|
||
action: {type: fun_ask, kind: joke}
|
||
|
||
fact:
|
||
phrases:
|
||
- расскажи факт
|
||
- интересный факт
|
||
- поделись фактом
|
||
action: {type: fun_ask, kind: fact}
|
||
|
||
quote:
|
||
phrases:
|
||
- вдохнови меня
|
||
- цитата дня
|
||
- мотивируй
|
||
- процитируй кого-нибудь
|
||
action: {type: fun_ask, kind: quote}
|
||
|
||
compliment:
|
||
phrases:
|
||
- сделай комплимент
|
||
- похвали меня
|
||
action: {type: fun_ask, kind: compliment}
|
||
|
||
wiki_lookup:
|
||
phrases:
|
||
- что такое
|
||
- кто такой
|
||
- кто такая
|
||
- расскажи про
|
||
- википедия про
|
||
- найди в википедии про
|
||
action: {type: wiki_lookup}
|
||
|
||
shutdown_pc:
|
||
phrases:
|
||
- выключи компьютер
|
||
- выключи пк
|
||
- выключи комп
|
||
action: {type: power, op: shutdown}
|
||
|
||
restart_pc:
|
||
phrases:
|
||
- перезагрузи компьютер
|
||
- перезагрузи пк
|
||
- ребутни
|
||
- ребут
|
||
action: {type: power, op: restart}
|
||
|
||
sleep_pc:
|
||
phrases:
|
||
- усыпи компьютер
|
||
- усыпи пк
|
||
- режим сна
|
||
- перейди в сон
|
||
action: {type: power, op: sleep}
|
||
|
||
hibernate_pc:
|
||
phrases:
|
||
- гибернация
|
||
- переведи в гибернацию
|
||
- режим гибернации
|
||
action: {type: power, op: hibernate}
|
||
|
||
logoff_user:
|
||
phrases:
|
||
- выйди из системы
|
||
- разлогинь
|
||
- выйди из учётки
|
||
- сеанс закончи
|
||
action: {type: power, op: logoff}
|
||
|
||
cancel_shutdown:
|
||
phrases:
|
||
- отмени выключение
|
||
- отмени ребут
|
||
- отмени перезагрузку
|
||
- стой не выключай
|
||
action: {type: power, op: cancel}
|
||
|
||
help:
|
||
phrases:
|
||
- что ты умеешь
|
||
- какие команды
|
||
- список команд
|
||
- помощь
|
||
- помоги
|
||
- что можешь
|
||
action: {type: help_commands}
|
||
|
||
launch_game:
|
||
phrases:
|
||
- запусти игру
|
||
- включи игру
|
||
- поиграем
|
||
- хочу поиграть
|
||
- запусти доту
|
||
- включи кс
|
||
- включи фортнайт
|
||
action: {type: launch_game}
|
||
|
||
list_games:
|
||
phrases:
|
||
- какие у меня игры
|
||
- список игр
|
||
- покажи игры
|
||
action: {type: list_games}
|
||
|
||
mouse_left_click:
|
||
phrases:
|
||
- клик
|
||
- кликни
|
||
- нажми мышкой
|
||
action: {type: mouse, op: left}
|
||
|
||
mouse_right_click:
|
||
phrases:
|
||
- правый клик
|
||
- клик правой
|
||
- правой кнопкой
|
||
action: {type: mouse, op: right}
|
||
|
||
mouse_double_click:
|
||
phrases:
|
||
- двойной клик
|
||
- дабл клик
|
||
- двойное нажатие
|
||
action: {type: mouse, op: double}
|
||
|
||
mouse_scroll_down:
|
||
phrases:
|
||
- промотай вниз
|
||
- прокрути вниз
|
||
action: {type: mouse, op: scroll_down}
|
||
|
||
mouse_scroll_up:
|
||
phrases:
|
||
- промотай вверх
|
||
- прокрути вверх
|
||
action: {type: mouse, op: scroll_up}
|
||
|
||
random_choice:
|
||
phrases:
|
||
- выбери из
|
||
- выбери
|
||
- решай за меня
|
||
- выбрать
|
||
action: {type: random_choice}
|
||
|
||
brightness_up:
|
||
phrases:
|
||
- ярче
|
||
- сделай ярче
|
||
- увеличь яркость
|
||
- поярче
|
||
action: {type: brightness, op: up}
|
||
|
||
brightness_down:
|
||
phrases:
|
||
- темнее
|
||
- сделай темнее
|
||
- уменьши яркость
|
||
- потемнее
|
||
action: {type: brightness, op: down}
|
||
|
||
brightness_max:
|
||
phrases:
|
||
- максимальная яркость
|
||
- яркость на максимум
|
||
action: {type: brightness, op: max}
|
||
|
||
brightness_min:
|
||
phrases:
|
||
- минимальная яркость
|
||
- яркость на минимум
|
||
action: {type: brightness, op: min}
|
||
|
||
switch_to_window:
|
||
phrases:
|
||
- переключись на
|
||
- переключи на
|
||
- активируй окно
|
||
- покажи окно
|
||
- перейди в
|
||
action: {type: window_switch}
|
||
|
||
spell_out:
|
||
phrases:
|
||
- произнеси по буквам
|
||
- продиктуй по буквам
|
||
- произнеси буквы
|
||
- по буквам
|
||
action: {type: spell_out}
|
||
|
||
open_wifi_settings:
|
||
phrases:
|
||
- настройки wifi
|
||
- настройки вайфай
|
||
- wifi настройки
|
||
- сеть
|
||
action: {type: network_settings, section: wifi}
|
||
|
||
open_bluetooth_settings:
|
||
phrases:
|
||
- настройки блютуз
|
||
- блютуз
|
||
action: {type: network_settings, section: bluetooth}
|
||
|
||
my_ip:
|
||
phrases:
|
||
- мой ай пи
|
||
- мой ip
|
||
- какой у меня айпи
|
||
- айпишник
|
||
action: {type: my_ip}
|
||
|
||
summarize_selection:
|
||
phrases:
|
||
- суммируй
|
||
- перескажи выделенное
|
||
- кратко перескажи
|
||
- о чём это
|
||
- что выделил
|
||
- перескажи это
|
||
action: {type: summarize_selection}
|
||
|
||
thanks:
|
||
phrases:
|
||
- спасибо
|
||
- молодец
|
||
- респект
|
||
- ты супер
|
||
- отличная работа
|
||
- ты крут
|
||
- ты большой молодец
|
||
- ты реально крут
|
||
- ты афигенный
|
||
action: {type: play_sound, name: thanks}
|
||
|
||
stupid:
|
||
phrases:
|
||
- ты дурак
|
||
- ты дебил
|
||
- ты глупый
|
||
- ты тупой
|
||
action: {type: play_sound, name: stupid}
|
||
|
||
'off':
|
||
phrases:
|
||
- выключись
|
||
- вырубись
|
||
- завершить работу
|
||
- закройся
|
||
- отключись
|
||
- заверши свою работу
|
||
- на сегодня хватит
|
||
- выгрузи себя из памяти
|
||
- ты мне надоел
|
||
- пора спать
|
||
action:
|
||
type: multi
|
||
steps:
|
||
- {type: play_sound, name: "off"}
|
||
- {type: system, op: exit}
|
||
|
||
|
||
# ─── Ported from rust fork (2026-05-15) ───────────────────────────────────
|
||
|
||
lock_workstation:
|
||
phrases:
|
||
- заблокируй компьютер
|
||
- заблокируй пк
|
||
- заблокируй комп
|
||
- заблокируй экран
|
||
- запри компьютер
|
||
action: {type: lock_workstation}
|
||
|
||
screenshot_clipboard:
|
||
phrases:
|
||
- сделай скриншот
|
||
- сделай скрин
|
||
- скопируй экран
|
||
- скриншот в буфер
|
||
- захвати экран
|
||
action: {type: screenshot, mode: clipboard}
|
||
|
||
screenshot_file:
|
||
phrases:
|
||
- сохрани скриншот
|
||
- сохрани скрин
|
||
- скриншот в файл
|
||
- сохрани экран
|
||
action: {type: screenshot, mode: file}
|
||
|
||
disk_free:
|
||
phrases:
|
||
- сколько свободного места
|
||
- сколько места на диске
|
||
- сколько свободно на диске
|
||
- место на диске
|
||
- свободное место
|
||
action: {type: disk_free}
|
||
|
||
disk_list:
|
||
phrases:
|
||
- какие у меня диски
|
||
- список дисков
|
||
- перечень дисков
|
||
action: {type: disk_list}
|
||
|
||
coin_flip:
|
||
phrases:
|
||
- подбрось монету
|
||
- брось монетку
|
||
- орёл или решка
|
||
- монетка
|
||
action: {type: coin_flip}
|
||
|
||
password_gen:
|
||
phrases:
|
||
- сгенерируй пароль
|
||
- придумай пароль
|
||
- сгенерируй надёжный пароль
|
||
action: {type: password_gen}
|
||
|
||
uuid_gen:
|
||
phrases:
|
||
- сгенерируй uuid
|
||
- сгенерируй юид
|
||
- юид
|
||
- уникальный идентификатор
|
||
action: {type: uuid_gen}
|
||
|
||
ssl_check:
|
||
phrases:
|
||
- проверь сертификат
|
||
- когда истекает сертификат
|
||
- проверь tls
|
||
- проверь ssl
|
||
- сертификат сайта
|
||
action: {type: ssl_check}
|
||
|
||
wifi_ssid:
|
||
phrases:
|
||
- к какой сети я подключен
|
||
- какой wifi
|
||
- какой вайфай
|
||
- какая сеть
|
||
- имя сети
|
||
action: {type: wifi_ssid}
|
||
|
||
public_ip:
|
||
phrases:
|
||
- мой внешний ip
|
||
- публичный ip
|
||
- внешний айпи
|
||
- какой у меня внешний
|
||
action: {type: public_ip}
|
||
|
||
convert_length:
|
||
phrases:
|
||
- переведи метры в футы
|
||
- переведи футы в метры
|
||
- сколько метров
|
||
- сколько футов
|
||
- сколько километров
|
||
- сколько миль
|
||
- переведи в метры
|
||
- переведи в футы
|
||
- переведи в км
|
||
- переведи в мили
|
||
action: {type: unit_convert, mode: length}
|
||
|
||
convert_weight:
|
||
phrases:
|
||
- переведи килограммы в фунты
|
||
- переведи фунты в килограммы
|
||
- сколько кг в фунтах
|
||
- сколько фунтов
|
||
- сколько килограммов
|
||
action: {type: unit_convert, mode: weight}
|
||
|
||
convert_temperature:
|
||
phrases:
|
||
- переведи цельсий в фаренгейт
|
||
- переведи фаренгейт в цельсий
|
||
- сколько по фаренгейту
|
||
- сколько по цельсию
|
||
action: {type: unit_convert, mode: temperature}
|
||
|
||
convert_speed:
|
||
phrases:
|
||
- переведи километры в час в мили в час
|
||
- переведи в кмч
|
||
- переведи в мили в час
|
||
- сколько миль в час
|
||
- сколько км в час
|
||
action: {type: unit_convert, mode: speed}
|
||
|
||
days_until:
|
||
phrases:
|
||
- сколько дней до
|
||
- сколько до нового года
|
||
- сколько до
|
||
- до нового года
|
||
action: {type: date_math, mode: days_until}
|
||
|
||
day_of_week:
|
||
phrases:
|
||
- какой сегодня день недели
|
||
- какой день недели
|
||
- сегодня какой
|
||
action: {type: date_math, mode: day_of_week}
|
||
|
||
echo_repeat:
|
||
phrases:
|
||
- повтори за мной
|
||
- скажи как я
|
||
- эхо
|
||
- проверка эхо
|
||
action: {type: echo_repeat}
|
||
|
||
self_ping:
|
||
phrases:
|
||
- ты тут
|
||
- ты слышишь
|
||
- ты меня слышишь
|
||
- пинг
|
||
- ты живой
|
||
- ты на месте
|
||
- проверка связи
|
||
action: {type: self_ping}
|
||
|
||
interesting_fact:
|
||
phrases:
|
||
- расскажи интересный факт
|
||
- интересный факт о
|
||
- интересный факт про
|
||
- удиви меня
|
||
- интересный факт
|
||
- расскажи факт
|
||
action: {type: interesting_fact}
|
||
|
||
memory_remember:
|
||
phrases:
|
||
- запомни обо мне
|
||
- запомни что
|
||
- помни что
|
||
- запомни это
|
||
- запомни про меня
|
||
action: {type: memory_remember}
|
||
|
||
memory_recall:
|
||
phrases:
|
||
- что ты помнишь о
|
||
- что ты знаешь обо мне
|
||
- что помнишь про
|
||
- вспомни
|
||
action: {type: memory_recall}
|
||
|
||
memory_forget:
|
||
phrases:
|
||
- забудь про
|
||
- забудь что
|
||
- забудь обо мне
|
||
action: {type: memory_forget}
|
||
|
||
memory_list:
|
||
phrases:
|
||
- что ты помнишь
|
||
- что ты знаешь обо мне всё
|
||
- покажи память
|
||
action: {type: memory_list}
|
||
|
||
profile_work:
|
||
phrases:
|
||
- режим работа
|
||
- включи режим работы
|
||
- рабочий режим
|
||
- переключись в работу
|
||
action: {type: profile_set, target: work}
|
||
|
||
profile_game:
|
||
phrases:
|
||
- режим игра
|
||
- игровой режим
|
||
- включи игровой режим
|
||
- переключись в игры
|
||
action: {type: profile_set, target: game}
|
||
|
||
profile_sleep:
|
||
phrases:
|
||
- режим сон
|
||
- ночной режим
|
||
- режим тишины
|
||
- иди спать
|
||
- выключи всё
|
||
action: {type: profile_set, target: sleep}
|
||
|
||
profile_driving:
|
||
phrases:
|
||
- режим за рулём
|
||
- режим вождения
|
||
- я за рулём
|
||
- поехали
|
||
action: {type: profile_set, target: driving}
|
||
|
||
profile_default:
|
||
phrases:
|
||
- обычный режим
|
||
- режим по умолчанию
|
||
- сбрось режим
|
||
- вернись в обычный
|
||
action: {type: profile_set, target: default}
|
||
|
||
profile_what:
|
||
phrases:
|
||
- какой сейчас режим
|
||
- в каком ты режиме
|
||
- текущий режим
|
||
- какой режим
|
||
action: {type: profile_what}
|
||
|
||
vision_describe:
|
||
phrases:
|
||
- что на экране
|
||
- опиши экран
|
||
- посмотри на экран
|
||
- что у меня на экране
|
||
- посмотри на мой экран
|
||
- глянь на экран
|
||
action: {type: vision_describe}
|
||
|
||
vision_read_error:
|
||
phrases:
|
||
- прочитай ошибку
|
||
- что за ошибка
|
||
- помоги с ошибкой
|
||
action: {type: vision_read_error}
|
||
|
||
macros_start:
|
||
phrases:
|
||
- запиши макрос
|
||
- начни запись макроса
|
||
- записывай макрос
|
||
- новый макрос
|
||
action: {type: macros_start}
|
||
|
||
macros_save:
|
||
phrases:
|
||
- сохрани макрос
|
||
- стоп макрос
|
||
- стоп запись макроса
|
||
- закончи запись
|
||
- макрос готов
|
||
action: {type: macros_save}
|
||
|
||
macros_cancel:
|
||
phrases:
|
||
- отмени макрос
|
||
- отмени запись макроса
|
||
- забудь макрос
|
||
action: {type: macros_cancel}
|
||
|
||
macros_replay:
|
||
phrases:
|
||
- запусти макрос
|
||
- выполни макрос
|
||
- воспроизведи макрос
|
||
- сыграй макрос
|
||
- проиграй макрос
|
||
action: {type: macros_replay}
|
||
|
||
macros_list:
|
||
phrases:
|
||
- какие у меня макросы
|
||
- список макросов
|
||
- покажи макросы
|
||
action: {type: macros_list}
|
||
|
||
macros_delete:
|
||
phrases:
|
||
- удали макрос
|
||
- забудь о макросе
|
||
action: {type: macros_delete}
|
||
|
||
scheduler_reminder:
|
||
phrases:
|
||
- напомни мне через
|
||
- напомни через
|
||
- поставь напоминалку через
|
||
- поставь напоминание через
|
||
- разбуди через
|
||
action: {type: scheduler_add_reminder}
|
||
|
||
scheduler_recurring:
|
||
phrases:
|
||
- напоминай каждые
|
||
- напоминай каждый
|
||
- каждые
|
||
- каждый час
|
||
action: {type: scheduler_add_recurring}
|
||
|
||
scheduler_list:
|
||
phrases:
|
||
- что у меня запланировано
|
||
- какие напоминания
|
||
- покажи расписание
|
||
- какие задачи у меня
|
||
- что в расписании
|
||
action: {type: scheduler_list}
|
||
|
||
scheduler_clear:
|
||
phrases:
|
||
- очисти расписание
|
||
- удали все напоминания
|
||
- отмени все напоминания
|
||
- сбрось расписание
|
||
action: {type: scheduler_clear}
|
||
|
||
scheduler_cancel_text:
|
||
phrases:
|
||
- отмени напоминание про
|
||
- отмени напоминание о
|
||
- удали задачу про
|
||
- удали задачу о
|
||
- отмени про
|
||
- забудь напоминание про
|
||
action: {type: scheduler_cancel_by_text}
|
||
|
||
codebase_set:
|
||
phrases:
|
||
- укажи проект
|
||
- укажи папку проекта
|
||
- укажи кодовую базу
|
||
- выбери проект
|
||
- проект сейчас
|
||
action: {type: codebase_set}
|
||
|
||
codebase_where:
|
||
phrases:
|
||
- какой проект сейчас
|
||
- где проект
|
||
- какая папка проекта
|
||
- какая кодовая база
|
||
action: {type: codebase_where}
|
||
|
||
codebase_ask:
|
||
phrases:
|
||
- что делает функция
|
||
- спроси код
|
||
- вопрос по коду
|
||
- что в коде
|
||
- найди в коде
|
||
- найди в проекте
|
||
- объясни код
|
||
action: {type: codebase_ask}
|
||
|
||
github_set_repo:
|
||
phrases:
|
||
- текущий репо
|
||
- установи репо
|
||
- выбери репо
|
||
- репозиторий
|
||
action: {type: github_set_repo}
|
||
|
||
github_list_prs:
|
||
phrases:
|
||
- какие пиары
|
||
- какие пулл реквесты
|
||
- что в пиарах
|
||
- что в pr
|
||
- открытые пиары
|
||
- список пиаров
|
||
action: {type: github_list_prs}
|
||
|
||
github_summarize_pr:
|
||
phrases:
|
||
- разбери последний пиар
|
||
- объясни последний пиар
|
||
- обзор последнего пиара
|
||
- что в последнем pr
|
||
- разбор pr
|
||
action: {type: github_summarize_pr}
|
||
|
||
llm_switch_local:
|
||
phrases:
|
||
- переключись на локальный
|
||
- переключись на локальный мозг
|
||
- включи локальный режим
|
||
- перейди на локальный
|
||
- используй локальный
|
||
- перейди на оллама
|
||
- используй оллама
|
||
action: {type: llm_switch, target: ollama}
|
||
|
||
llm_switch_cloud:
|
||
phrases:
|
||
- переключись на облако
|
||
- переключись на облачный
|
||
- переключись на грок
|
||
- переключись на гроку
|
||
- используй облако
|
||
- используй грок
|
||
- перейди на облако
|
||
action: {type: llm_switch, target: groq}
|
||
|
||
llm_status:
|
||
phrases:
|
||
- какой у тебя мозг
|
||
- какой ллм
|
||
- какой у тебя llm
|
||
- облако или локально
|
||
- ты сейчас где работаешь
|
||
- что за модель
|
||
action: {type: llm_status}
|
||
|
||
now_playing:
|
||
phrases:
|
||
- что играет
|
||
- что сейчас играет
|
||
- что за музыка
|
||
- что за песня
|
||
- какой трек
|
||
- какая песня
|
||
- что слушаю
|
||
action: {type: now_playing}
|
||
|
||
world_clock:
|
||
phrases:
|
||
- сколько времени в
|
||
- который час в
|
||
- сколько часов в
|
||
- время в
|
||
action: {type: world_clock}
|
||
|
||
daily_quote:
|
||
phrases:
|
||
- цитата дня
|
||
- мотивирующая цитата
|
||
- скажи цитату
|
||
- вдохнови меня
|
||
- цитата
|
||
action: {type: daily_quote}
|
||
|
||
magic_8ball:
|
||
phrases:
|
||
- ответь да или нет
|
||
- магический шар
|
||
- восьмой шар
|
||
- скажи да или нет
|
||
- что скажешь
|
||
- предсказание
|
||
action: {type: magic_8ball}
|
||
|
||
gh_list_issues:
|
||
phrases:
|
||
- какие issues
|
||
- какие задачи
|
||
- открытые issues
|
||
- список issues
|
||
- что в issues
|
||
- тикеты
|
||
action: {type: gh_list_issues}
|
||
|
||
gh_my_issues:
|
||
phrases:
|
||
- мои issues
|
||
- что мне назначено
|
||
action: {type: gh_my_issues}
|
||
|
||
weather_tomorrow:
|
||
phrases:
|
||
- погода завтра
|
||
- что с погодой завтра
|
||
- прогноз на завтра
|
||
action: {type: weather_tomorrow}
|
||
|
||
weather_week:
|
||
phrases:
|
||
- прогноз на неделю
|
||
- погода на неделю
|
||
- недельный прогноз
|
||
action: {type: weather_week}
|
||
|
||
rss_add:
|
||
phrases:
|
||
- добавь rss
|
||
- подпишись на
|
||
- запомни ленту
|
||
- добавь ленту
|
||
action: {type: rss_add}
|
||
|
||
rss_read:
|
||
phrases:
|
||
- что в ленте
|
||
- новости из ленты
|
||
- почитай rss
|
||
- новости из rss
|
||
- новые статьи
|
||
action: {type: rss_read}
|
||
|
||
rss_list:
|
||
phrases:
|
||
- какие у меня rss
|
||
- список лент
|
||
- мои подписки
|
||
action: {type: rss_list}
|
||
|
||
ics_create:
|
||
phrases:
|
||
- добавь встречу
|
||
- создай событие
|
||
- создай встречу
|
||
- новая встреча
|
||
action: {type: ics_create}
|
||
|
||
backup_export:
|
||
phrases:
|
||
- сделай бекап
|
||
- экспортируй настройки
|
||
- сохрани мои настройки
|
||
- выгрузи настройки
|
||
action: {type: backup_export}
|
||
|
||
clip_save:
|
||
phrases:
|
||
- запиши буфер
|
||
- сохрани буфер
|
||
- запомни буфер
|
||
- запомни что в буфере
|
||
action: {type: clip_save}
|
||
|
||
clip_list:
|
||
phrases:
|
||
- что я копировал
|
||
- история буфера
|
||
- последние буферы
|
||
- что было в буфере
|
||
action: {type: clip_list}
|
||
|
||
clip_restore:
|
||
phrases:
|
||
- верни первый буфер
|
||
- верни второй буфер
|
||
- верни третий буфер
|
||
- восстанови буфер
|
||
- вставь старый буфер
|
||
action: {type: clip_restore}
|
||
|
||
notif_missed:
|
||
phrases:
|
||
- что я пропустил
|
||
- что было пока меня не было
|
||
- какие уведомления
|
||
- пропущенные
|
||
action: {type: notif_missed}
|
||
|
||
notif_clear:
|
||
phrases:
|
||
- очисти уведомления
|
||
- забудь уведомления
|
||
- сбрось пропущенное
|
||
action: {type: notif_clear}
|
||
|
||
vault_save:
|
||
phrases:
|
||
- сохрани пароль от
|
||
- запомни пароль от
|
||
- пароль для
|
||
action: {type: vault_save}
|
||
|
||
vault_get:
|
||
phrases:
|
||
- пароль от
|
||
- дай пароль
|
||
- покажи пароль от
|
||
- достань пароль
|
||
action: {type: vault_get}
|
||
|
||
vault_list:
|
||
phrases:
|
||
- какие у меня пароли
|
||
- список паролей
|
||
- что в хранилище паролей
|
||
action: {type: vault_list}
|
||
|
||
habit_checkin:
|
||
phrases:
|
||
- отметь привычку
|
||
- выполнил привычку
|
||
- я попил воды
|
||
- я размялся
|
||
- я отдохнул глазам
|
||
action: {type: habit_checkin}
|
||
|
||
habit_streak:
|
||
phrases:
|
||
- сколько дней подряд
|
||
- мои привычки
|
||
- статистика привычек
|
||
- сколько дней пью воду
|
||
- трекинг привычек
|
||
action: {type: habit_streak}
|
||
|
||
personality_greet:
|
||
phrases:
|
||
- привет джарвис
|
||
- здравствуй джарвис
|
||
- доброе утро
|
||
- добрый день
|
||
- добрый вечер
|
||
- доброй ночи
|
||
- приветствую
|
||
- хай джарвис
|
||
action: {type: personality_greet}
|
||
|
||
personality_thanks:
|
||
phrases:
|
||
- спасибо
|
||
- спасибо джарвис
|
||
- благодарю
|
||
- благодарю джарвис
|
||
- спс
|
||
- ты лучший
|
||
action: {type: personality_thanks}
|
||
|
||
personality_compliment:
|
||
phrases:
|
||
- ты молодец
|
||
- ты умница
|
||
- молодец джарвис
|
||
- хорошо сработано
|
||
- отличная работа
|
||
- так держать
|
||
- ты лучший ассистент
|
||
action: {type: personality_compliment}
|
||
|
||
personality_how_are_you:
|
||
phrases:
|
||
- как дела
|
||
- как дела джарвис
|
||
- как ты
|
||
- как настроение
|
||
- как самочувствие
|
||
- как поживаешь
|
||
- что нового у тебя
|
||
action: {type: personality_how_are_you}
|
||
|
||
personality_tony_quote:
|
||
phrases:
|
||
- процитируй тони
|
||
- цитата тони старка
|
||
- что сказал бы тони
|
||
- скажи как тони
|
||
- процитируй железного человека
|
||
- цитата старка
|
||
action: {type: personality_tony_quote}
|
||
|
||
tracker_start:
|
||
phrases:
|
||
- начни отсчёт
|
||
- начни отсчет
|
||
- запусти трекер
|
||
- я начинаю работу
|
||
- начало рабочего дня
|
||
action: {type: tracker_start}
|
||
|
||
tracker_stop:
|
||
phrases:
|
||
- закончи отсчёт
|
||
- закончи отсчет
|
||
- останови трекер
|
||
- я закончил работу
|
||
- конец рабочего дня
|
||
action: {type: tracker_stop}
|
||
|
||
tracker_today:
|
||
phrases:
|
||
- сколько я работаю сегодня
|
||
- сколько отработал сегодня
|
||
- сколько часов сегодня
|
||
- сколько времени за сегодня
|
||
action: {type: tracker_today}
|
||
|
||
tracker_week:
|
||
phrases:
|
||
- сколько на этой неделе
|
||
- сколько отработал на неделе
|
||
- часы за неделю
|
||
- статистика за неделю
|
||
action: {type: tracker_week}
|
||
|
||
tracker_reset:
|
||
phrases:
|
||
- сбрось трекер
|
||
- обнули трекер
|
||
- очисти трекер
|
||
- сбрось отсчёт
|
||
action: {type: tracker_reset}
|
||
|
||
outlook_unread_count:
|
||
phrases:
|
||
- сколько у меня непрочитанных писем
|
||
- сколько непрочитанных писем
|
||
- проверь почту
|
||
- проверь outlook
|
||
- сколько новых писем
|
||
action: {type: outlook_unread_count}
|
||
|
||
outlook_latest:
|
||
phrases:
|
||
- прочитай последнее письмо
|
||
- что в последнем письме
|
||
- последнее письмо
|
||
- покажи последнее письмо
|
||
action: {type: outlook_latest}
|
||
|
||
outlook_send_clipboard:
|
||
phrases:
|
||
- отправь письмо
|
||
- отправь почту
|
||
- напиши письмо
|
||
- отправь это
|
||
action: {type: outlook_send_clipboard}
|
||
|
||
outlook_summarize_inbox:
|
||
phrases:
|
||
- коротко расскажи про инбокс
|
||
- расскажи что в инбоксе
|
||
- сделай саммари инбокса
|
||
- что нового в почте
|
||
action: {type: outlook_summarize_inbox}
|
||
|
||
memory_count:
|
||
phrases:
|
||
- сколько фактов помнишь
|
||
- сколько ты помнишь
|
||
- сколько у тебя в памяти
|
||
- размер памяти
|
||
action: {type: memory_count}
|
||
|
||
memory_list:
|
||
phrases:
|
||
- выгрузи список фактов
|
||
- покажи что помнишь
|
||
- перечисли что помнишь
|
||
- что у тебя в памяти
|
||
action: {type: memory_list}
|
||
|
||
memory_wipe:
|
||
phrases:
|
||
- точно забудь все
|
||
- точно забудь всё
|
||
- сотри всю память
|
||
action: {type: memory_wipe}
|
||
|
||
cooking_timer:
|
||
phrases:
|
||
- поставь чайник
|
||
- варю яйца
|
||
- варю макароны
|
||
- варю пасту
|
||
- жарю омлет
|
||
- жарю яичницу
|
||
- варю кашу
|
||
- варю рис
|
||
- варю гречку
|
||
- варю картошку
|
||
- запекаю курицу
|
||
- пеку пиццу
|
||
- завариваю чай
|
||
- завариваю кофе
|
||
- завариваю френч-пресс
|
||
action: {type: cooking}
|
||
|
||
leftoff:
|
||
phrases:
|
||
- на чём я остановился
|
||
- на чем я остановился
|
||
- напомни что делал
|
||
- что я делал
|
||
- где я остановился
|
||
- продолжи откуда я
|
||
action: {type: leftoff}
|
||
|
||
trivia_iron_man:
|
||
phrases:
|
||
- расскажи про железного человека
|
||
- факт про железного человека
|
||
- интересное про старка
|
||
- марвел факт
|
||
action: {type: trivia}
|
||
|
||
routines_good_night:
|
||
phrases:
|
||
- спокойной ночи
|
||
- иду спать
|
||
- пока я в кровати
|
||
- ночной режим
|
||
- выключи всё на ночь
|
||
action: {type: good_night}
|
||
|
||
routines_good_morning:
|
||
phrases:
|
||
- доброе утро джарвис
|
||
- доброе утро
|
||
- я проснулся
|
||
- начинаем день
|
||
action: {type: good_morning}
|
||
|
||
routines_coffee_break:
|
||
phrases:
|
||
- иду за кофе
|
||
- перерыв на кофе
|
||
- перерыв на чай
|
||
- отойду минут на пять
|
||
action: {type: coffee_break}
|
||
|
||
expenses_log:
|
||
phrases:
|
||
- потратил
|
||
- записать трату
|
||
- запиши трату
|
||
- купил за
|
||
- заплатил за
|
||
action: {type: expenses_log}
|
||
|
||
expenses_today:
|
||
phrases:
|
||
- сколько я потратил сегодня
|
||
- траты сегодня
|
||
- сколько ушло сегодня
|
||
action: {type: expenses_today}
|
||
|
||
expenses_week:
|
||
phrases:
|
||
- сколько я потратил на этой неделе
|
||
- траты на неделе
|
||
- недельные траты
|
||
action: {type: expenses_week}
|
||
|
||
expenses_breakdown:
|
||
phrases:
|
||
- куда ушли деньги
|
||
- разбивка по тратам
|
||
- на что я тратил
|
||
- разбивка по категориям
|
||
action: {type: expenses_breakdown}
|