Nightly Build / build (push) Successful in 6m38s
- Strip ~55 stale upstream docs (dev docs never meant for the agents)
- Write new slim index.md as an agent-facing guide to the app's features
- Add new plugin docs: comfyui, elevenlabs, kokoro_tts, orpheus_tts_3b,
remote_connectivity, whisper_local (replacing old names)
- Add docs_host to UserFs: docs/… and ~/docs/… resolve to {WD}/docs,
mounted read-only at /root/docs in every user's container
- Instruct assistant/kid/project-coordinator agents to read docs/index.md
when users ask how the software works
2.1 KiB
2.1 KiB
Whisper Local
- Plugin id:
whisper_local - Category: Speech-to-text, local
- Runs: on this machine, in-process (via
whisper.cpp, Metal-accelerated on Apple Silicon) — no cloud, no API key
What it does
Transcribes voice messages entirely on-device using whisper.cpp. Nothing leaves the machine — the right choice when privacy matters more than raw speed, or when there's no budget for a cloud transcription API.
The model (roughly 1–3 GB depending on size) is loaded into memory only when first needed ("lazy" loading) and unloaded again after a configurable idle period to free RAM — unless eager loading is turned on.
Requirements
- A GGML
.binWhisper model file, downloaded manually onto the host filesystem — this plugin does not fetch it automatically. Example:Smaller/faster models (e.g.curl -L -o models/ggml-large-v3.bin \ https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3.binggml-medium.bin,ggml-small.bin) trade accuracy for speed and size — point at any of them. ffmpeginstalled on the host (used to convert incoming audio to the 16 kHz mono format Whisper needs).
Enabling & configuring (admin)
- Download a model file first (see above) and note its path.
- Plugin catalog → Whisper Local → enable, then Configure.
- Fields:
model(required) — path to the.binfile, e.g.models/ggml-large-v3.bin.language— a BCP-47 code (it,en, …) orautofor automatic detection (defaultauto).load_at_startup— load the model into memory as soon as the plugin starts, instead of on first use (default off).idle_timeout_secs— unload the model from memory after this many seconds of inactivity,0= never unload (default1200, 20 minutes).
Notes
- The model occupies roughly 1–3 GB of RAM while loaded.
- The very first transcription after an idle unload is slower, since the model has to reload.
- No external service and no per-use cost — the trade-off is local CPU/GPU time and disk space for the model file.