feat(kon): add transcription crate — transcribe-rs wrapper, model manager

- LocalEngine wraps transcribe-rs SpeechModel behind Kon's own abstraction
- load_parakeet() and load_whisper() factory functions
- Unified model manager: download with progress callback, check, list, path resolution
- Atomic downloads: .part suffix with rename on completion
- run_inference() encapsulates spawn_blocking threading
- Zero Tauri dependency in this crate (progress via callback, not events)
- transcribe-rs v0.3.2 with onnx + whisper-cpp features
- 4 tests passing, clippy clean

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
jake
2026-03-16 20:39:37 +00:00
parent 0738fca22c
commit 100ecb4eae
5 changed files with 320 additions and 2 deletions

View File

@@ -1,2 +1,7 @@
// kon-transcription: transcribe-rs wrapper behind SpeechToText trait,
// unified model manager, and inference threading.
pub mod concurrency;
pub mod local_engine;
pub mod model_manager;
pub use concurrency::run_inference;
pub use local_engine::{load_parakeet, load_whisper, LocalEngine};
pub use model_manager::{download, is_downloaded, list_downloaded, model_dir, models_dir};