feat(stt): OpenAiWhisperEngine + VoskEngine (#6) #83

Closed
charles wants to merge 9 commits from feat/6-openai-vosk-engines into main
Owner

Résumé

Deux moteurs STT alternatifs : cloud OpenAI-compatible et local Vosk.

Changements

  • openai_whisper.rs : OpenAiWhisperEngine — appel HTTP multipart vers /v1/audio/transcriptions
    • SecretString : type opaque qui masque la clé dans les logs
    • base_url configurable → compatible OpenAI, Groq, Together.ai…
    • health_check() via /v1/models
  • vosk.rs : VoskEngine — invocation subprocess avec parse JSON ligne par ligne
    • default_model_dir(lang)~/.local/share/fractal-plus/models/vosk-{lang}/
    • health_check() vérifie binaire + répertoire modèle
  • Cargo.toml : ajout reqwest (rustls-tls, multipart), dirs, tempfile

Plan de test

  • cargo check -p fractal-stt passe
  • SecretString affiche [REDACTED] dans les logs
  • health_check() retourne Unavailable si binaire/clé absents

Closes #6

## Résumé Deux moteurs STT alternatifs : cloud OpenAI-compatible et local Vosk. ## Changements - `openai_whisper.rs` : `OpenAiWhisperEngine` — appel HTTP multipart vers `/v1/audio/transcriptions` - `SecretString` : type opaque qui masque la clé dans les logs - `base_url` configurable → compatible OpenAI, Groq, Together.ai… - `health_check()` via `/v1/models` - `vosk.rs` : `VoskEngine` — invocation subprocess avec parse JSON ligne par ligne - `default_model_dir(lang)` → `~/.local/share/fractal-plus/models/vosk-{lang}/` - `health_check()` vérifie binaire + répertoire modèle - `Cargo.toml` : ajout `reqwest` (rustls-tls, multipart), `dirs`, `tempfile` ## Plan de test - [ ] `cargo check -p fractal-stt` passe - [ ] `SecretString` affiche `[REDACTED]` dans les logs - [ ] `health_check()` retourne `Unavailable` si binaire/clé absents Closes #6
fix(stt): corriger EngineStatus + importer SecretString depuis secret.rs (#6)
Some checks are pending
CI / cargo check (pull_request) Waiting to run
CI / cargo test (pull_request) Blocked by required conditions
CI / clippy + rustfmt (pull_request) Waiting to run
94e419b2cc
fix(stt): corriger EngineStatus dans VoskEngine (#6)
Some checks are pending
CI / cargo check (pull_request) Waiting to run
CI / cargo test (pull_request) Blocked by required conditions
CI / clippy + rustfmt (pull_request) Waiting to run
bafb41d3e9
feat(stt): exposer tous les modules + moteurs (#6)
Some checks are pending
CI / cargo check (pull_request) Waiting to run
CI / cargo test (pull_request) Blocked by required conditions
CI / clippy + rustfmt (pull_request) Waiting to run
fa754cbd5c
fix(stt): supprimer dep dirs inutilisée (#6)
Some checks failed
CI / cargo check (pull_request) Has been cancelled
CI / cargo test (pull_request) Has been cancelled
CI / clippy + rustfmt (pull_request) Has been cancelled
edab0c898b
charles closed this pull request 2026-04-06 01:50:11 +00:00
Some checks are pending
CI / cargo check (pull_request) Has been cancelled
CI / cargo test (pull_request) Has been cancelled
CI / clippy + rustfmt (pull_request) Has been cancelled
qa
Required

Pull request closed

Sign in to join this conversation.
No description provided.