feat(gui): /macros + /scheduler pages + README rewrite

Surfaces voice macros and scheduled tasks in the GUI, so the user doesn't
have to remember voice commands or grep schedule.json by hand.

Tauri commands (crates/jarvis-gui/src/tauri_commands/)
  - macros.rs:    macros_list, macros_replay, macros_delete, macros_is_recording,
                  macros_recording_name, macros_start_recording, macros_save_recording,
                  macros_cancel_recording (8 commands).
  - scheduler.rs: scheduler_list, scheduler_remove, scheduler_clear (3 commands).
  - Both exposed in main.rs invoke_handler.

GUI pages (frontend/src/routes/)
  - macros/index.svelte:
    * Lists all macros with name, steps_count, first 5 step previews,
      created/last_run timestamps.
    * Top: TextInput + "Начать запись" button. While recording shows orange
      banner with "Сохранить"/"Отменить" buttons + polls is_recording every 2s.
    * Per-card: "Запустить" (with busy state for replay duration), "Удалить".
    * confirm() before delete.
  - scheduler/index.svelte:
    * Lists tasks with name, schedule_human (e.g. "каждые 2 ч"), action body,
      ID, timestamps, action_kind badge.
    * "Отменить" per task + "Очистить всё (N)" bottom button.
    * Auto-polls every 5s (so the list updates as scheduler ticks fire tasks).

Header (frontend/src/components/Header.svelte)
  - Two new buttons: "Макросы" → /macros, "Расписание" → /scheduler.
  - Beside existing /commands and /settings buttons.

i18n
  - ru/en/ua FTL: settings-ai-backends, settings-llm-*, settings-tts-*,
    settings-profile, header-macros, header-scheduler.
  - Re-applied AI Backends keys for ua.ftl (earlier edit hadn't taken).

README.md (full rewrite)
  - Old README was 178 lines mostly explaining LLM-trigger flow and VAD config.
  - New README is ~190 lines covering: features (LLM hot-swap, memory, profiles,
    vision, scheduler, macros, utilities table), quick start, env vars table,
    build steps with vcvars setup, test command, structure tree, voice workflow
    diagram, license, roadmap.
  - Up to date for 59 packs and all new infra.

Build: cargo build --release -p jarvis-gui green (2m). 55/55 tests pass.
This commit is contained in:
Bossiara13 2026-05-15 17:28:22 +03:00
parent c7ab751e39
commit c22a24ccd8
11 changed files with 998 additions and 167 deletions

View file

@ -157,4 +157,8 @@ settings-tts-backend-desc = Takes effect on next jarvis-app launch.
settings-llm-context = Conversation context
settings-llm-context-desc = LLM remembers previous turns. Reset if answers get weird.
settings-llm-reset = Reset context
settings-profile = Profile
settings-profile = Profile
# Header buttons
header-macros = Macros
header-scheduler = Schedule

View file

@ -157,4 +157,8 @@ settings-tts-backend-desc = Применится при следующем за
settings-llm-context = Контекст разговора
settings-llm-context-desc = LLM помнит предыдущие реплики. Сбросить, если ответы становятся странными.
settings-llm-reset = Сбросить контекст
settings-profile = Профиль
settings-profile = Профиль
# Header buttons
header-macros = Макросы
header-scheduler = Расписание

View file

@ -141,4 +141,24 @@ settings-gliner-models-hint = Моделі GLiNER не знайдено.
# ETC
search-error-not-running = Асистент не запущено
search-error-failed = Не вдалося виконати команду
settings-no-voices = Голоси не знайдено
settings-no-voices = Голоси не знайдено
# AI Backends tab
settings-ai-backends = ШІ-рушії
settings-ai-active = Активний рушій
settings-ai-auto = Авто
settings-ai-applying = Застосовую...
settings-ai-error = Помилка перемикання
settings-ai-tips = Підказки
settings-llm-backend = LLM рушій
settings-llm-backend-desc = Де виконувати LLM-запити. Hot-swap, без перезапуску.
settings-tts-backend = TTS рушій
settings-tts-backend-desc = Застосується при наступному запуску jarvis-app.
settings-llm-context = Контекст розмови
settings-llm-context-desc = LLM пам'ятає попередні репліки. Скиньте, якщо відповіді дивні.
settings-llm-reset = Скинути контекст
settings-profile = Профіль
# Header buttons
header-macros = Макроси
header-scheduler = Розклад