docs(help): bring the user guide back in line with the current app The help was written on 2026-10-14 and about forty user-visible changes merged since without touching it, so several pages described controls that no longer exist: Missions still listed four playbooks and a Save step for preferences that now save on each change, the depth editor kept its old names, notifications still had their former switches, and voice input pointed to a microphone button that is not in the composer. Every English page was re-checked claim by claim against the current labels (English UI messages) and behaviour, then the nine translations were updated to match, using each locale's own UI labels. Notable corrections: Missions (Compare two models, autosaving defaults with Apply to / Global / Reset, Subsession nesting depth, prepared hand-offs, retired-task interrupts, the named causes of "Mission Control is unavailable", standalone server support); conversations and history (reasoning/tool durations, token lines adding up the cleanup selection, presets including Nothing, timeline markers following Message content, in-place reveal of long text, Open in session, focus after send, Queue message / Steer now, Retrying); settings (notification routing table and defaults, Stats, Mode, info tips, Server setting badge, localized native menus); shortcuts (72 actions, Clear shortcut, Ctrl/Cmd+K); voice (More actions entries, Save status); files (live Workspace refresh, Show 200 more); OpenCode, install, server and updates (2.1.1 recommended, OpenCode 2 beside an older installation, version card first, private loopback listener for Missions, preview releases offered once all builds are published); providers, integrations, browser, SideCars, desktop and remote pages. Translations also repaired older drift, mainly the project-tab closing passages. The Chat settings table header (Default state, its title, item column, the thinking row and its accessible label) was still English in eight locales; it is now translated so the help can cite what users see. AGENTS.md now asks every PR changing user-visible behavior to update the affected help pages in the same PR, since CI validates structure and links but not whether the text still matches the UI; it also corrects the needs-input notification default. USER_HELP.md no longer claims native menus stay English. Validation: npm run test:help (all ten locales, 25 pages, heading ids unchanged), a full help build, and the i18n and transcript-visibility unit tests.
8.1 KiB
Saisie et lecture vocales
Configurer la voix
- Ouvrez Paramètres → Voix. La carte Voix utilise un adaptateur côté serveur compatible OpenAI, indépendamment du fournisseur de modèles de la conversation.
- Saisissez Clé API, et éventuellement URL de base, Modèle de transcription, Modèle vocal et Voix par défaut.
- Si l’entrée et la sortie nécessitent des services différents, activez Fournisseurs séparés pour l'entrée et la sortie, puis remplissez les clés, URL de base et modèles d’entrée/sortie.
- Choisissez Mode de lecture et Format de sortie, puis Enregistrer (disponible tant que des changements ne sont pas enregistrés). Vérifiez l’état affiché à côté des boutons de test, Configuré, Partiellement configuré ou Clé API manquante, avant les tests ; un enregistrement échoué affiche Échec de l'enregistrement.
Les paramètres et clés vocaux appartiennent à la configuration du serveur CodeNomad connecté, pas au projet sélectionné ni à la connexion fournisseur OpenCode. Les autres clients qui la partagent les utilisent. Les clés enregistrées sont masquées : un champ vide conserve la valeur ; Effacer la clé enregistrée prévoit sa suppression à l’enregistrement. Une direction sans point d’accès ni clé propres peut utiliser les paramètres partagés ; un point d’accès séparé nécessite sa clé et une clé séparée nécessite son point d’accès. Lors d’un changement de point d’accès, fournissez explicitement la clé voulue et vérifiez la configuration enregistrée ; ce changement efface la clé enregistrée de cet emplacement plutôt que de l’envoyer à un autre hôte.
Le backend peut aussi utiliser OPENAI_API_KEY et OPENAI_BASE_URL comme valeurs partagées par défaut. Effacer une clé enregistrée ne retire pas un identifiant fourni par l’environnement ; changez cet environnement côté backend et redémarrez-le pour supprimer ce repli.
| Réglage | Sens / valeur par défaut |
|---|---|
| URL de base | Racine API compatible OpenAI, par défaut https://api.openai.com/v1. L’entrée utilise audio/transcriptions ; la sortie utilise audio/speech. |
| Modèle de transcription / Modèle d’entrée | Modèle accepté par le point d’accès STT ; par défaut gpt-4o-mini-transcribe. |
| Modèle vocal / Modèle de sortie | Modèle accepté par le point d’accès TTS ; par défaut gpt-4o-mini-tts. |
| Voix par défaut | Identifiant de voix fournisseur ; par défaut alloy. Ce n’est pas un sélecteur de voix système. |
| Flux continu | Valeur par défaut. Commence la lecture à l’arrivée de l’audio, si le fournisseur et le navigateur prennent en charge le format sélectionné. |
| Mis en mémoire tampon | Attend la réponse audio complète avant lecture. |
| Format de sortie | mp3, wav, opus ou aac ; par défaut mp3. La compatibilité varie selon le navigateur/fournisseur. |
Ce sont des demandes au service configuré, pas une garantie que chaque point d’accès compatible implémente chaque modèle, voix ou format. Un échec d’enregistrement laisse une erreur ; inspectez la configuration avant un autre changement.
Tester l’entrée et la sortie
- Enregistrez d’abord les changements de point d’accès, clé, modèle et voix.
- Choisissez Tester l'entrée, accordez l’accès au microphone, parlez, puis Arrêter l'enregistrement. Vérifiez la transcription reçue.
- Choisissez Tester la lecture pour entendre l’extrait ; Arreter l'extrait l’arrête.
Le test de lecture utilise immédiatement le mode/format sélectionné, mais le point d’accès, la clé, le modèle et la voix viennent des paramètres enregistrés. Tester l’entrée n’envoie pas de prompt de conversation. Les tests envoient malgré tout de l’audio/du texte au fournisseur vocal configuré et peuvent être facturés.
Si le flux continu échoue, sélectionnez Mis en mémoire tampon, essayez mp3, enregistrez et retestez. « Configuré » confirme les paramètres, pas la réussite de l’authentification fournisseur ou de la lecture du codec. Vérifiez l’accessibilité du point d’accès depuis l’hôte serveur, les noms de modèle/voix et le quota avant de réessayer.
Dicter un prompt
- Gardez Saisie vocale du prompt activée dans Voix (elle l’est par défaut).
- Dans la zone de saisie, ouvrez Plus d'actions, choisissez Démarrer la saisie vocale et autorisez l’accès au microphone sur cet appareil.
- Lorsque vous avez fini de parler, choisissez Arrêter l'enregistrement et transcrire dans le même menu ; Transcription de l'audio s’affiche pendant le traitement.
- Relisez et modifiez le texte inséré avant d’envoyer normalement le prompt.
La transcription insère le texte à la sélection actuelle ; elle ne le soumet pas automatiquement à OpenCode. L’entrée de menu apparaît seulement si STT est configuré et que le client accepte l’enregistrement. Celui-ci utilise le microphone de l’appareil client, même si CodeNomad s’exécute sur un serveur distant.
Si l’entrée manque, vérifiez le commutateur et la configuration STT. Pour les erreurs de permission, autorisez le microphone dans les paramètres de confidentialité du navigateur et du système. L’enregistrement dans un navigateur distant nécessite un contexte sécurisé, normalement un HTTPS de confiance ; voir Accès mobile et Accès distant direct. Changer de vue ou fermer la zone de saisie termine son cycle d’enregistrement ; ne comptez pas récupérer de l’audio non envoyé. Votre brouillon tapé reste l’endroit où vérifier le résultat.
Lire les messages à voix haute
- Utilisez Lire le message sur un message, ou la même action sur un appel d’outil, lorsque TTS est disponible.
- Utilisez Arreter la lecture sur la même commande pour l’arrêter ; démarrer une autre lecture arrête celle en cours.
- Changez la voix, le modèle, le mode ou le format enregistrés dans Voix pour les demandes suivantes.
La lecture utilise la projection textuelle CodeNomad, pas une capture d’écran racontée : les octets binaires/d’images et les reçus d’autorisation ne sont pas du contenu vocal. Elle n’exécute pas de prompt et ne change pas le modèle OpenCode sélectionné. La prise en charge audio du navigateur et les réponses fournisseur peuvent encore empêcher la lecture même si un format est sélectionnable.
Pour la voix automatique de conversation, utilisez Activer le mode conversation dans le menu Plus d'actions de la zone de saisie ; il s’applique à cet onglet de projet et n’est pas conservé après un rechargement. Tant qu’il est actif, CodeNomad demande à l’agent, avec chaque prompt que vous envoyez, de commencer sa réponse par un court résumé dans un bloc clôturé spoken. Seul ce bloc terminé est lu, dans la session principale active ; ce n’est pas une lecture automatique de chaque réponse ou sous-agent. Desactiver le mode conversation arrête sa file et ne demande plus le résumé. Démarrer le microphone arrête aussi la voix de conversation active. Le commutateur apparaît avec la saisie vocale, ou si le mode conversation est déjà actif, et exige un TTS fonctionnel pour l’activer.
Flux de données et confidentialité
L’audio microphone va du client au backend CodeNomad, puis au point d’accès STT configuré. Le texte sélectionné pour synthèse passe par ce backend vers le point d’accès TTS configuré ; l’audio reçu est lu sur le client. Les clés API restent côté serveur et ne sont pas renvoyées comme valeurs enregistrées au formulaire.
Utilisez un point d’accès auquel vous confiez le contenu dicté ou lu. Ce n’est pas une garantie de transcription hors ligne, et les identifiants OpenCode n’autorisent pas automatiquement la voix. Arrêtez l’enregistrement/la lecture une fois terminé ; changer une clé ou un point d’accès affecte les demandes futures, pas les données déjà envoyées. Voir Sécurité avant d’exposer un serveur à d’autres utilisateurs.