Bundle the whisper base model + one-shot standalone provisioning

- models/hf-cache/ vendors Systran/faster-whisper-base (142MB, gitignored);
  engine spawn pins HF_HUB_CACHE there, so transcription works with a cold
  ~/.cache and fully offline
- verified: HOME=/tmp/fakehome HF_HUB_OFFLINE=1 model loads and transcribes
  via the bundled cache alone
- setup-standalone.sh: idempotent fresh-clone provisioning (local venv,
  model copy-or-download, engine boot smoke on :8123) — runs green
- backend/README rewritten for the desktop bundled-lite reality (was
  pointing at a nonexistent root README/docs and a Postgres quickstart)

Kotlin suite still green (gradlew test, 0 failures)
This commit is contained in:
avi 2026-09-14 21:05:41 -05:00
commit c25d3ab150
4 changed files with 77 additions and 9 deletions

View file

@ -311,6 +311,9 @@ class DesktopState(private val appDir: File = defaultAppDir()) {
"SHONAR_STORAGE_PATH" to File(appDir, "storage").absolutePath,
"SHONAR_TRANSCRIPTION_PROVIDER" to "faster_whisper",
"SHONAR_TRANSCRIPTION_MODEL" to "base",
// Bundled whisper model: shipped in models/hf-cache so
// transcription works with a cold ~/.cache or offline.
"HF_HUB_CACHE" to File(repo, "models/hf-cache").absolutePath,
)
// Summarizer preference: LAN inference server (H200) when
// its key is present in the environment, then local Ollama.