voicelens – Transcription audio et saisie vocale
Déclencheurs
- L'utilisateur fournit un chemin ou une URL de fichier audio et demande une "transcription / dictée / conversion parole-texte / extraction du contenu audio".
- L'utilisateur demande comment configurer le moteur ASR de voicelens (endpoint compatible OpenAI / Groq / whisper.cpp).
- (DSH uniquement) L'utilisateur appuie sur le bouton micro dans le champ de saisie – ce chemin est géré automatiquement par le plugin client, aucune intervention de cette compétence n'est nécessaire.
Règle fondamentale
Lorsque l'audio est présent mais que le modèle actuel "n'entend pas", ne pas écrire soi-même un script ffmpeg / OCR / transcription ; effectuer d'abord une transcription et citer le text renvoyé comme preuve.
Exécution (selon l'hôte)
- DeepSeek Harness (dispose de l'outil
transcribe_audio) → appeler directement cet outil, en transmettantpathouurl. - Autres hôtes (Claude Code / Codex / Pi / OpenClaw / OpenCode …) → exécuter la CLI :
Sortie JSON :voicelens transcribe <fichier-ou-url> [--lang zh] [--provider groq]{ "text", "language", "provider" }, citertextcomme preuve. - Diagnostic (tout hôte) :
voicelens doctor
Configuration (à faire exécuter par l'agent pour l'utilisateur)
Hiérarchie de configuration : variable d'environnement VOICELENS_* > ~/.voicelens/config.json > valeurs par défaut intégrées.
Option A : Groq (quota gratuit, recommandé)
VOICELENS_PROVIDER=groq
VOICELENS_GROQ_API_KEY=<gsk_...>
Option B : Endpoint compatible OpenAI (toute passerelle whisper)
VOICELENS_PROVIDER=openai
VOICELENS_OPENAI_API_KEY=<key>
VOICELENS_OPENAI_BASE_URL=https://api.openai.com/v1
VOICELENS_OPENAI_MODEL=whisper-1
Option C : whisper.cpp local (aucune clé)
VOICELENS_PROVIDER=whisper-local
VOICELENS_WHISPER_CPP=/chemin/vers/whisper.cpp/build/bin/main
VOICELENS_WHISPER_MODEL=/chemin/vers/ggml-base.bin
Ou écrire dans ~/.voicelens/config.json :
{ "provider": "groq", "groqApiKey": "gsk_..." }
Contrat de sortie
{ text, language?, provider } – la transcription côté modèle suit toujours cette forme (outil et CLI cohérents).
Limites connues
- DSH ne dispose pas actuellement de pipeline de messages audio (
attachmentsuniquement images,ModelModalityseulement text|image), donc la capture vocale côté client se fait via le bouton micro du client DSH ; la transcription des fichiers côté modèle passe par cette compétence/outil. - Le bouton micro de DSH repose sur
SpeechRecognitionde Chrome/Edge (zéro configuration) ; pour les autres navigateurs, une bascule est proposée.