AJout disclaimer

This commit is contained in:
2026-04-07 23:18:57 +02:00
parent d100469a0c
commit 0372489f79

View File

@@ -2,6 +2,8 @@
Assistant vocal CLI personnalisé utilisant **Mistral Large** pour les réponses, **Voxtral TTS** pour la synthèse vocale, et **Voxtral Realtime** pour la transcription micro. Supporte le **Model Context Protocol (MCP)** pour appeler des outils externes depuis le LLM.
Disclaimer : Cet outil est un "proof-of-concept" expérimental pour investiguer les possibilités offertes par des agents vocaux personnalisés.
---
## Table des matières
@@ -90,19 +92,19 @@ python main.py
### Commandes disponibles dans le REPL
| Commande | Description |
|----------|-------------|
| `help` | Afficher l'aide |
| `exit` / `quit` | Quitter l'assistant |
| `reset` | Effacer l'historique de conversation |
| `profiles` | Lister les profils disponibles |
| Commande | Description |
| ---------------- | -------------------------------------------------- |
| `help` | Afficher l'aide |
| `exit` / `quit` | Quitter l'assistant |
| `reset` | Effacer l'historique de conversation |
| `profiles` | Lister les profils disponibles |
| `profile <slug>` | Charger un profil (ex : `profile traveller_scout`) |
| `voice <id>` | Définir la voix Voxtral manuellement |
| `voice clear` | Revenir à la voix automatique |
| `mode vocal` | Passer en mode entrée microphone |
| `mode texte` | Revenir en mode saisie clavier |
| `mcp` | Lister les serveurs MCP connectés |
| `mcp tools` | Lister tous les outils MCP disponibles |
| `voice <id>` | Définir la voix Voxtral manuellement |
| `voice clear` | Revenir à la voix automatique |
| `mode vocal` | Passer en mode entrée microphone |
| `mode texte` | Revenir en mode saisie clavier |
| `mcp` | Lister les serveurs MCP connectés |
| `mcp tools` | Lister tous les outils MCP disponibles |
---
@@ -154,9 +156,9 @@ mcp_servers:
### Profils inclus
| Slug | Nom | Description |
|------|-----|-------------|
| `default` | Arioch — Assistant général | Assistant généraliste en français |
| Slug | Nom | Description |
| ----------------- | ----------------------------- | -------------------------------------------------------------------------------------------------- |
| `default` | Arioch — Assistant général | Assistant généraliste en français |
| `traveller_scout` | Scout Ship AI — Traveller RPG | IA de bord d'un vaisseau Scout/Courier (Traveller RPG), avec accès à la carte de l'univers via MCP |
---
@@ -266,19 +268,19 @@ Serveur MCP pour l'API [travellermap.com](https://travellermap.com). Écrit en T
#### Outils disponibles
| Outil | Description |
|-------|-------------|
| `search_worlds` | Recherche un monde par nom dans l'univers Traveller |
| `find_route` | Calcule une route de saut entre deux mondes |
| `get_world_info` | Informations détaillées sur un monde (UWP décodé, atmosphère, etc.) |
| `get_worlds_in_jump_range` | Mondes accessibles depuis une position en N sauts |
| `get_jump_map` | Carte de la zone autour d'un monde |
| `get_subsector_map` | Image d'un sous-secteur |
| `render_custom_map` | Rendu de carte personnalisée |
| `get_sector_list` | Liste de tous les secteurs de l'univers |
| `get_sector_data` | Données d'un secteur (format SEC) |
| `get_sector_metadata` | Métadonnées d'un secteur (JSON) |
| `get_allegiance_list` | Liste des allégeances politiques |
| Outil | Description |
| -------------------------- | ------------------------------------------------------------------- |
| `search_worlds` | Recherche un monde par nom dans l'univers Traveller |
| `find_route` | Calcule une route de saut entre deux mondes |
| `get_world_info` | Informations détaillées sur un monde (UWP décodé, atmosphère, etc.) |
| `get_worlds_in_jump_range` | Mondes accessibles depuis une position en N sauts |
| `get_jump_map` | Carte de la zone autour d'un monde |
| `get_subsector_map` | Image d'un sous-secteur |
| `render_custom_map` | Rendu de carte personnalisée |
| `get_sector_list` | Liste de tous les secteurs de l'univers |
| `get_sector_data` | Données d'un secteur (format SEC) |
| `get_sector_metadata` | Métadonnées d'un secteur (JSON) |
| `get_allegiance_list` | Liste des allégeances politiques |
#### (Re)compiler le serveur
@@ -326,24 +328,23 @@ python scripts/list_voices.py
## Variables d'environnement
| Variable | Obligatoire | Défaut | Description |
|----------|-------------|--------|-------------|
| `MISTRAL_API_KEY` | ✅ | — | Clé API Mistral AI |
| `VOICE_ID` | ❌ | auto | ID voix Voxtral (sélection auto si vide) |
| `VOICE_LANGUAGE` | ❌ | `fr` | Langue préférée pour la sélection de voix |
| `SYSTEM_PROMPT` | ❌ | prompt Arioch | Prompt système par défaut |
| `TTS_PCM_SAMPLE_RATE` | ❌ | `24000` | Fréquence d'échantillonnage audio TTS |
| Variable | Obligatoire | Défaut | Description |
| --------------------- | ----------- | ------------- | ----------------------------------------- |
| `MISTRAL_API_KEY` | ✅ | — | Clé API Mistral AI |
| `VOICE_ID` | ❌ | auto | ID voix Voxtral (sélection auto si vide) |
| `VOICE_LANGUAGE` | ❌ | `fr` | Langue préférée pour la sélection de voix |
| `SYSTEM_PROMPT` | ❌ | prompt Arioch | Prompt système par défaut |
| `TTS_PCM_SAMPLE_RATE` | ❌ | `24000` | Fréquence d'échantillonnage audio TTS |
---
## Dépendances Python
| Package | Rôle |
|---------|------|
| `mistralai` | SDK Mistral (LLM, TTS, STT Realtime) |
| `python-dotenv` | Chargement des variables `.env` |
| `sounddevice` | Capture microphone (mode vocal) |
| `numpy` | Traitement PCM audio |
| `pyyaml` | Lecture des fichiers de profil |
| `mcp` | Client MCP (connexion aux serveurs d'outils) |
| Package | Rôle |
| --------------- | -------------------------------------------- |
| `mistralai` | SDK Mistral (LLM, TTS, STT Realtime) |
| `python-dotenv` | Chargement des variables `.env` |
| `sounddevice` | Capture microphone (mode vocal) |
| `numpy` | Traitement PCM audio |
| `pyyaml` | Lecture des fichiers de profil |
| `mcp` | Client MCP (connexion aux serveurs d'outils) |