Skip to content

Releases: PavelLizunov/suflyor

Suflyor v0.37.0

Choose a tag to compare

@PavelLizunov PavelLizunov released this 15 Aug 12:51
2470f19

Suflyor v0.37.0 promotes the owner-accepted RC16 build to stable.

Highlights:

  • reliable long-text read-aloud: the player stays visible until audio actually finishes;
  • remembered playback speed applies from the first audio frame of a new tile;
  • opening another tile no longer steals an active or paused player;
  • substantially improved rendering of matrices, fractions, roots, systems, and common algebraic notation;
  • restored reliable left-click recovery from the Windows tray;
  • agent workflow now keeps post-release branches, RC artifacts, worktrees, and build caches under control.

Known backlog after the macOS port:

  • some less-common TeX commands can still appear as raw text;
  • tray icon right-click can fail to open the custom menu on the owner's Windows.

Suflyor v0.36.0

Choose a tag to compare

@PavelLizunov PavelLizunov released this 04 Aug 03:57
bb9c42a

Suflyor v0.36.0

This release keeps saved memory exactly as approved, removes Suflyor's
auxiliary windows from the Windows taskbar, and makes interface language more
consistent.

Highlights

  • Explicitly saved memory from tiles and transcripts is now stored verbatim,
    preserving internal whitespace, newlines, table rows, identifiers, and
    repetitions. Approved memory is no longer rewritten in the background.
  • Added an explicit Restore original action for legacy memory entries that
    still have their original source. Manual edits disable restoration so newer
    user changes cannot be overwritten.
  • Auxiliary windows no longer create or briefly flash a Windows taskbar
    button. Taskbar exclusion is requested before the first visible frame, with
    a shared hardened Win32 tool-window fallback.
  • Deterministic tile chrome, notices, statuses, and errors now follow the
    selected interface language; generated answers continue to follow the
    separate AI response-language setting.
  • Polished Session Archive alignment, row actions, and scrollbar spacing, and
    refreshed the public screenshots with the current privacy-safe English UI.

Compatibility

  • Legacy memory entries can be restored only when an older version retained
    their original source; already-condensed entries without that provenance
    cannot be reconstructed automatically.
  • Windows 10/11 remains the supported platform. Native Linux and macOS versions
    are planned, with no announced delivery date.

suflyor v0.35.3

Choose a tag to compare

@PavelLizunov PavelLizunov released this 02 Aug 21:15
47263cb

suflyor v0.35.3

This release focuses on clearer setup and diagnostics, safer session handling,
and more predictable local speech and AI controls.

Highlights

  • Added guided speech-to-text provider and cloud Whisper model selection.
  • Added a consistent drag grip to the wizard and movable auxiliary windows.
  • Improved Help, Archive, empty answer tiles, Diagnostics, and audio-source
    labels so the app is easier to understand without an explanation.
  • Fixed local-AI context preset selection on high-RAM systems.
  • Added visible, debounced notices when the configured session cost cap is hit.

Reliability

  • Kept transcription suppressed correctly while read-aloud is playing or
    paused, then resumes it after playback.
  • Moved persistence work off the UI thread and flush session journals before
    exit.
  • Verifies the effective Windows capture-exclusion state and reports stealth
    failures instead of silently claiming success.
  • Fixed diarization model installation and window lifecycle handling.
  • Preserved journal response semantics and expanded translation guards.

Engineering and security

  • Updated Slint, base64, and TTS dependencies.
  • Added regression-tested fast CI for documentation-only changes.
  • Removed the Slint MCP debug server from normal production builds; UI QA can
    still enable it explicitly with the ui-mcp Cargo feature.

Windows 10/11 remains the supported platform. Native Linux and macOS versions
are planned, with no announced delivery date.

Validation

  • Full local gate and mandatory pre-push checks passed for all three Rust crates.
  • GitHub Actions Rust gate, gitleaks, and all cargo-deny jobs passed.
  • Live Slint MCP before/after audit and the complete 13-shortcut smoke passed.
  • Independent Qwen 3.8 release audit: READY.
  • The normal non-MCP release binary reports product/file version 0.35.3.

Installer SHA-256: 957F6853832079D3955F7E6333A2601CCC36F5E530E6BBDD04C81BC2BDCDA0D9

suflyor v0.35.2

Choose a tag to compare

@PavelLizunov PavelLizunov released this 31 Jul 02:32
68d1086

suflyor v0.35.2

This release fixes local-model installation and hardware detection.

Changes

  • 4B, 12B, and 26B-A4B can be selected and downloaded on any hardware. RAM/VRAM estimates are advisory and no longer hard-block a model.
  • Near-nominal RAM/VRAM readings are normalized, including PCs with an enabled integrated GPU alongside a discrete NVIDIA GPU.
  • Existing legacy 4B and installed 12B models remain detected across upgrades instead of being downloaded again.
  • Managed model downloads use immutable pins, verify integrity, and resume interrupted transfers.
  • Model, OCR, and TTS download helpers no longer open visible console windows.

Validation

  • Full local gate and pre-push gate passed for all three Rust crates.
  • GitHub Actions Rust gate, gitleaks, and all cargo-deny jobs passed.
  • Independent Qwen 3.8 release-blocker review: PASS.

Installer SHA-256: 4E7249AAD5D75E9B161CF148BEF83D8CF216CA2C0C76E255A15D854216397AF1

suflyor v0.35.1

Choose a tag to compare

@PavelLizunov PavelLizunov released this 30 Jul 19:34
eb35b7a

suflyor v0.35.1 — надёжность локальных моделей и Vision

Исправлено

  • Gemma 26B-A4B теперь поддерживает Vision через совместимый проверяемый projector; F8 работает и настройка сохраняется.
  • Исправлен неверный размер Gemma 12B в метаданных 0.35.0; частичная загрузка корректно продолжается и больше не принимается за готовую модель.
  • Исправлены статусы установки и выбор локальных моделей, включая пользовательские GGUF.
  • Убрано крайнее нулевое положение контекста и уменьшены задержки при переключении размеров.
  • Исправлены лишние отступы и прокрутка общих карточек Settings.
  • Исправлена надёжность Shift+Alt+1 после отпускания модификаторов.

Проверка

  • Полный локальный gate прошёл для всех трёх Rust-crate.
  • GitHub CI, security и cargo-deny прошли успешно.
  • Все 16 вкладок Settings проверены через Slint MCP.
  • Vision Gemma 26B-A4B и F8 проверены на реальной локальной модели.

suflyor v0.35.0

Choose a tag to compare

@PavelLizunov PavelLizunov released this 30 Jul 15:37
506c472

suflyor v0.35.0 — локальные модели и управление контекстом

Что нового

  • Добавлен выбор окна контекста: Auto, 8K, 16K, 32K, 64K и 96K.
  • Настройки показывают предварительную оценку потребления VRAM для выбранного контекста.
  • Возвращён быстрый профиль Gemma 4B; доступны профили 4B, 12B QAT и 26B-A4B.
  • Для каждой модели явно показан статус: активна, установлена или не установлена.
  • Установка локального AI повторно использует проверенные файлы и продолжает частичные загрузки.
  • Запись сессии больше не запускается автоматически вместе с приложением.
  • Исправлено поведение курсора над скрытым оверлеем в stealth-режиме.
  • Выровнены размеры полей, кнопок и слайдеров на всех вкладках Settings.
  • Добавлена обязательная визуальная проверка интерфейса через Slint MCP.

Проверка

  • Владелец визуально принял сборку 0.35.0.
  • Все 16 вкладок Settings проверены при размере 720×600.
  • Полный локальный gate и GitHub CI для PR и master прошли успешно.
  • Независимая проверка Qwen: SHIP, без critical/important замечаний.

Известно

  • Дополнительная полировка крайнего положения и плавности ползунка контекста запланирована на следующую мини-версию.

suflyor v0.34.0

Choose a tag to compare

@PavelLizunov PavelLizunov released this 14 Jul 06:36
82312bc

suflyor v0.34.0 — качество озвучки, диаризации и интерфейса

Что нового

  • Neural TTS произносит числа, проценты, время, версии, диапазоны и десятичные значения естественными русскими словами.
  • Диаризация склеивает короткие разрывы и осколки, автоматически выбирает число говорящих и сохраняет стабильную WeSpeaker-модель.
  • Auto-sweep останавливается сразу после вырожденного кандидата: reference-аудио 6:29 ускорено примерно с 6:00 до 1:41 без изменения выбранных трёх голосов.
  • Длинный STT-блок со сменой голоса показывает все значимые подписи (Говорящий 1 + Говорящий 2), а не только доминирующую.
  • Плеер стал чище на скоростях 2×/3× благодаря расширенному WSOLA crossfade.
  • Интерфейс Settings, overlay bar и тайлов приведён к общей системе отступов.
  • Все SVG приведены к сетке 16×16 и stroke 1.6; разные действия получили отдельные понятные иконки.

Техническое

  • Slint обновлён до 1.17.1.
  • Обновлены global-hotkey, rfd, reqwest, rodio, timestretch и sha2.
  • Добавлены icon guard и security-проверки cargo-deny для всех трёх crates.
  • Системный звук теперь обозначается привычной иконкой динамика в стиле Windows.

Проверка

  • Полный CI: fmt, clippy и тесты всех трёх crates — PASS.
  • Backend: 481 passed; TTS sidecar: 9 passed; UI/guard тесты — PASS.
  • Release build, NSIS installer и live smoke v0.34.0 — PASS.

v0.33.0 — Hermes: установка плагина в один клик

Choose a tag to compare

@PavelLizunov PavelLizunov released this 10 Jul 09:01

suflyor v0.33.0 — интеграция с Hermes: установка в один клик

Локальный двусторонний мост между suflyor и Hermes-агентом. Всё по умолчанию выключено, включается во вкладке Настройки → Hermes. Никаких скриптов и распаковок — установка целиком из приложения.

Установка плагина — одна кнопка

Настройки → Hermes → «Установить плагин в Hermes»: приложение само кладёт файлы плагина в Hermes, прописывает токен и включает плагин (комментарии в твоём config.yaml сохраняются — правка точечная). Повторный клик безопасен (обновление). После установки — перезапусти Hermes.

① Мост: Hermes читает suflyor

Токен-защищённый HTTP-сервер: недавние созвоны, стенограммы, сводки, полнотекстовый поиск, одобренная память, профили; предложение факта в память (идёт в очередь на одобрение) и создание/обновление профиля. 9 инструментов + команда /suflyor.

Хост привязки настраивается: по умолчанию 127.0.0.1 (Hermes на той же машине); для удалённого Hermes по Tailscale — Tailscale-IP этой машины (100.x) или 0.0.0.0 (Настройки предупреждают; токен обязателен всегда). Ручная установка плагина на удалённый сервер: integrations/hermes-plugin/README.md.

② API: suflyor дергает Hermes для профиля

Кнопка «Подготовить профиль (Hermes)» отдаёт вводную агенту (он ресёрчит) и пишет активный профиль созвона. Живой путь ответов не затронут.

Безопасность

Мост: bearer-токен обязателен (пустой ⇒ не стартует), только текст (без аудио/скринов), тела не логируются, generic-ошибки, loopback по умолчанию. Установщик плагина: .env правится line-merge'ем (остальное байт-в-байт), нечитаемый .env — стоп, а не перезапись; нестандартный YAML не трогается (подсказка hermes plugins enable suflyor).


Установка: suflyor-slint-setup.exe → меню Пуск → suflyor. Приёмка тестером: docs/retest-hermes-v0.33.0.html (плагин ставится кнопкой — шаг H1b).

v0.32.0 — Hermes integration (bridge + agent plugin)

Choose a tag to compare

@PavelLizunov PavelLizunov released this 10 Jul 00:01

suflyor v0.32.0 — двусторонняя интеграция с Hermes

Локальный двусторонний мост между suflyor и Hermes-агентом. Всё по умолчанию выключено, включается во вкладке Настройки → Hermes.

① Мост: Hermes читает suflyor

Токен-защищённый HTTP-сервер, который локальный (или доступный по Tailscale) Hermes-агент читает через плагин:

  • недавние созвоны, стенограммы, сводки, полнотекстовый поиск;
  • одобренная память и профили созвонов;
  • предложить факт в память (идёт в очередь на одобрение, не напрямую) и создать/обновить профиль.

Хост привязки настраивается: по умолчанию 127.0.0.1 (Hermes на той же машине); для удалённого Hermes по Tailscale впишите Tailscale-IP этой машины (100.x) или 0.0.0.0. При не-loopback адресе Настройки показывают предупреждение — токен обязателен в любом случае.

② API: suflyor дергает Hermes для профиля

Кнопка «Подготовить профиль (Hermes)» в редакторе профилей отдаёт вводную агенту (он ресёрчит) и пишет активный профиль созвона. Живой путь ответов это НЕ трогает (остаётся быстрым/локальным).

Плагин для Hermes

suflyor-hermes-plugin.zip — распакуйте, запустите install.ps1, следуйте README.md. Zero-deps (stdlib urllib), 9 инструментов + команда /suflyor.

Безопасность

Мост: bearer-токен обязателен (пустой токен ⇒ не стартует), только текст (без аудио/скринов), тела ответов не логируются, generic-ошибки. По умолчанию loopback.


Установка: suflyor-slint-setup.exe → меню Пуск → suflyor. Приёмка тестером: docs/retest-hermes-v0.32.0.html.

suflyor v0.31.0

Choose a tag to compare

@PavelLizunov PavelLizunov released this 09 Jul 16:24

suflyor v0.31.0

🧠 Память: отвечает по фактам (фикс «нет информации»)

  • Вопрос теперь выбирает релевантные факты из одобренной памяти, а не слепо 8 последних (раньше факт №9+ молча выпадал → «в моей базе нет информации»).
  • Нечёткий матч имён: сокращения («Влад» ↔ «Владислав»), склонения («у Влада»), и даже опечатки в фамилиях («Писчанкин» ↔ «Писчаскин») находят нужный факт.
  • Если совпадений нет — память подмешивается как раньше (всегда).
  • Модель получает явную инструкцию: вопрос о факте из памяти → ответ ИЗ памяти.

📸 Скрин-тайл: перегенерация умным облаком

  • В меню «⋯» тайла ответа по скриншоту появился пункт Smart cloud — переотправляет тот же скриншот в умную облачную модель и обновляет ответ (как у текстовых тайлов). Тайл помечается «cloud (escalated)».
  • Пункт показывается, когда первый ответ шёл через локальную модель и настроен облачный ключ; в OCR-режиме его нет (намеренно).

🖱 Плашка ввода: перетаскивание + память позиции

  • «Напишите вопрос ассистенту» теперь таскается мышью за заголовок в любое место (включая второй монитор).
  • Позиция запоминается — после закрытия и даже перезапуска плашка открывается там же. Если сохранённая позиция ушла вместе с отключённым монитором — вернётся в центр.

🔒 Безопасность

  • Обновлена транзитивная зависимость crossbeam-epoch 0.9.18 → 0.9.20 (RUSTSEC-2026-0204).

Тестеру: чек-лист приёмки — docs/retest-v0.31.0-tz.html в репозитории (открыть в браузере, заполнить, «Скачать отчёт»).

Установка: скачайте suflyor-slint-setup.exe ниже, установите и запустите установленный suflyor (ярлык из меню «Пуск»).