feat(2.03.36): split STT Engines / LLM Engines into separate sidebar pages
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
79d6020fc6
commit
8181ad75f9
@ -9,6 +9,15 @@ The version is defined in [`blitztext/__init__.py`](blitztext/__init__.py).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [2.03.36] - 2026-06-10
|
||||
|
||||
### Changed
|
||||
- **STT Engines split from LLM Engines.** The single "STT Engines" sidebar
|
||||
page is now two pages — "STT Engines" (speech-to-text configuration) and
|
||||
"LLM Engines" (language model / rewrite configuration) — each with its
|
||||
own infobox. The underlying `_stt_section()` and `_llm_section()` methods
|
||||
are unchanged.
|
||||
|
||||
## [2.03.35] - 2026-06-10
|
||||
|
||||
### Fixed
|
||||
|
||||
@ -6,4 +6,4 @@ counterpart to the macOS Blitztext menu bar app: it runs natively on the host
|
||||
(not in a container) so it can type into any application via xdotool.
|
||||
"""
|
||||
|
||||
__version__ = "2.03.35"
|
||||
__version__ = "2.03.36"
|
||||
|
||||
@ -912,7 +912,8 @@ class SettingsDialog:
|
||||
_reg("General", "General", "preferences-system-symbolic", self._build_general)
|
||||
_reg("Input", "Keyboard", "input-keyboard-symbolic", self._build_keyboard)
|
||||
_reg(None, "Wakeword", "audio-input-microphone-symbolic", self._build_wakeword)
|
||||
_reg("Engines", "STT Engines", "network-server-symbolic", self._build_engines)
|
||||
_reg("Engines", "STT Engines", "network-server-symbolic", self._build_stt_engines)
|
||||
_reg(None, "LLM Engines", "applications-science-symbolic", self._build_llm_engines)
|
||||
_reg("Benchmark", "Benchmark — STT", "utilities-system-monitor-symbolic", self._build_benchmark_stt)
|
||||
_reg(None, "Benchmark — Wakeword", "audio-input-microphone-symbolic", self._build_benchmark_ww)
|
||||
_reg("System", "Log", "text-x-generic-symbolic", self._build_log)
|
||||
@ -1259,14 +1260,20 @@ class SettingsDialog:
|
||||
pop.show_all()
|
||||
search_sw.set_visible(False) # hide search results until user types
|
||||
|
||||
# ===== Engines ==========================================================
|
||||
def _build_engines(self, page: Gtk.Box) -> None:
|
||||
_infobox(page, "Engines do the work. The speech-to-text engine turns your voice into "
|
||||
"text; the language model rewrites it. Each can run locally or on "
|
||||
"a server you enter. A green dot means it is reachable, red means offline.")
|
||||
_section_title(page, "Speech-to-text engine", margin_top=4, icon="audio-input-microphone-symbolic")
|
||||
# ===== STT Engines ======================================================
|
||||
def _build_stt_engines(self, page: Gtk.Box) -> None:
|
||||
_infobox(page, "The speech-to-text engine transcribes your voice. It can run locally "
|
||||
"(faster-whisper, built-in) or connect to a remote OpenAI-compatible API "
|
||||
"or NVIDIA Riva stream. A green dot means the server is reachable.")
|
||||
page.pack_start(self._stt_section(), False, False, 0)
|
||||
_section_title(page, "Language model (rewrite)", icon="applications-science-symbolic")
|
||||
self._refresh_status()
|
||||
|
||||
# ===== LLM Engines ======================================================
|
||||
def _build_llm_engines(self, page: Gtk.Box) -> None:
|
||||
_infobox(page, "The language model rewrites your transcribed text — for example into a "
|
||||
"polished email or a code comment. It is optional: leave it disabled if "
|
||||
"you just want plain transcription. Connect to any OpenAI-compatible LAN "
|
||||
"server or cloud service.")
|
||||
page.pack_start(self._llm_section(), False, False, 0)
|
||||
self._refresh_status()
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user