YazSes — Subsystem Architecture

Local, offline hold-to-talk voice dictation. Same diagram as yazses-architecture.mmd (Mermaid) and .txt (ASCII).

yazses CLI44 commands · 6 help panels
yazses-traymenu-bar UI (macOS / Windows)
JSON-RPC 2.0 · newline-delimited · Unix socket / Windows named pipe
IPC serveripc/
yazses-daemon — orchestrator (core/daemon.py)
1 Hotkey backendkeyboard hook OR EMG muscle-sensor (USB serial / BLE)
2 Audiorecorder → VAD gate (calibrated) → pre-speech padding
3 STTfaster-whisper (CPU int8) · streaming · disfluency filter · initial_prompt bias
4 Post-processcleaner · voice-punctuation · continuation spacing · optional LLM cleanup
5 CommandsTier-1 regex grammar → Tier-2 SLM router (low confidence) · LSP context
6 · dispatch()
dictate
Injectorauto → ydotool / xdotool / wtype / clipboard
command
Key sequencectrl+z · ctrl+s · arrows · …
Focused application (local)
— or — SSH reverse tunnel (remote/), text only, audio stays local
yazses-agentremote host
Configurationconfig.toml / config.py — every section has defaults; v2 features default off
Feature registrysystem/features.py — 135 capabilities across 9 categories
Platform abstractionplatform/base.py Protocols → linux · macos · windows · emg (Hotkey / Injector / Lifecycle / IPC / Permissions / Tray)
Opt-in subsystems (OFF by default)Learning loop (encrypted corpus · yazses tune) · v2 cognitive layer (voiceprint · gaze · personalize · polyglot · cocktail) · Recording import (yazses transcribe · diarization)
User-facing Orchestrator / core Output / injection Config / registry Opt-in (off by default)

Everything runs on-device. Nothing leaves the machine except the optional SSH remote path (final text only).