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. 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 ## Table des matières
@@ -90,19 +92,19 @@ python main.py
### Commandes disponibles dans le REPL ### Commandes disponibles dans le REPL
| Commande | Description | | Commande | Description |
|----------|-------------| | ---------------- | -------------------------------------------------- |
| `help` | Afficher l'aide | | `help` | Afficher l'aide |
| `exit` / `quit` | Quitter l'assistant | | `exit` / `quit` | Quitter l'assistant |
| `reset` | Effacer l'historique de conversation | | `reset` | Effacer l'historique de conversation |
| `profiles` | Lister les profils disponibles | | `profiles` | Lister les profils disponibles |
| `profile <slug>` | Charger un profil (ex : `profile traveller_scout`) | | `profile <slug>` | Charger un profil (ex : `profile traveller_scout`) |
| `voice <id>` | Définir la voix Voxtral manuellement | | `voice <id>` | Définir la voix Voxtral manuellement |
| `voice clear` | Revenir à la voix automatique | | `voice clear` | Revenir à la voix automatique |
| `mode vocal` | Passer en mode entrée microphone | | `mode vocal` | Passer en mode entrée microphone |
| `mode texte` | Revenir en mode saisie clavier | | `mode texte` | Revenir en mode saisie clavier |
| `mcp` | Lister les serveurs MCP connectés | | `mcp` | Lister les serveurs MCP connectés |
| `mcp tools` | Lister tous les outils MCP disponibles | | `mcp tools` | Lister tous les outils MCP disponibles |
--- ---
@@ -154,9 +156,9 @@ mcp_servers:
### Profils inclus ### Profils inclus
| Slug | Nom | Description | | Slug | Nom | Description |
|------|-----|-------------| | ----------------- | ----------------------------- | -------------------------------------------------------------------------------------------------- |
| `default` | Arioch — Assistant général | Assistant généraliste en français | | `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 | | `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 #### Outils disponibles
| Outil | Description | | Outil | Description |
|-------|-------------| | -------------------------- | ------------------------------------------------------------------- |
| `search_worlds` | Recherche un monde par nom dans l'univers Traveller | | `search_worlds` | Recherche un monde par nom dans l'univers Traveller |
| `find_route` | Calcule une route de saut entre deux mondes | | `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_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_worlds_in_jump_range` | Mondes accessibles depuis une position en N sauts |
| `get_jump_map` | Carte de la zone autour d'un monde | | `get_jump_map` | Carte de la zone autour d'un monde |
| `get_subsector_map` | Image d'un sous-secteur | | `get_subsector_map` | Image d'un sous-secteur |
| `render_custom_map` | Rendu de carte personnalisée | | `render_custom_map` | Rendu de carte personnalisée |
| `get_sector_list` | Liste de tous les secteurs de l'univers | | `get_sector_list` | Liste de tous les secteurs de l'univers |
| `get_sector_data` | Données d'un secteur (format SEC) | | `get_sector_data` | Données d'un secteur (format SEC) |
| `get_sector_metadata` | Métadonnées d'un secteur (JSON) | | `get_sector_metadata` | Métadonnées d'un secteur (JSON) |
| `get_allegiance_list` | Liste des allégeances politiques | | `get_allegiance_list` | Liste des allégeances politiques |
#### (Re)compiler le serveur #### (Re)compiler le serveur
@@ -326,24 +328,23 @@ python scripts/list_voices.py
## Variables d'environnement ## Variables d'environnement
| Variable | Obligatoire | Défaut | Description | | Variable | Obligatoire | Défaut | Description |
|----------|-------------|--------|-------------| | --------------------- | ----------- | ------------- | ----------------------------------------- |
| `MISTRAL_API_KEY` | ✅ | — | Clé API Mistral AI | | `MISTRAL_API_KEY` | ✅ | — | Clé API Mistral AI |
| `VOICE_ID` | ❌ | auto | ID voix Voxtral (sélection auto si vide) | | `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 | | `VOICE_LANGUAGE` | ❌ | `fr` | Langue préférée pour la sélection de voix |
| `SYSTEM_PROMPT` | ❌ | prompt Arioch | Prompt système par défaut | | `SYSTEM_PROMPT` | ❌ | prompt Arioch | Prompt système par défaut |
| `TTS_PCM_SAMPLE_RATE` | ❌ | `24000` | Fréquence d'échantillonnage audio TTS | | `TTS_PCM_SAMPLE_RATE` | ❌ | `24000` | Fréquence d'échantillonnage audio TTS |
--- ---
## Dépendances Python ## Dépendances Python
| Package | Rôle | | Package | Rôle |
|---------|------| | --------------- | -------------------------------------------- |
| `mistralai` | SDK Mistral (LLM, TTS, STT Realtime) | | `mistralai` | SDK Mistral (LLM, TTS, STT Realtime) |
| `python-dotenv` | Chargement des variables `.env` | | `python-dotenv` | Chargement des variables `.env` |
| `sounddevice` | Capture microphone (mode vocal) | | `sounddevice` | Capture microphone (mode vocal) |
| `numpy` | Traitement PCM audio | | `numpy` | Traitement PCM audio |
| `pyyaml` | Lecture des fichiers de profil | | `pyyaml` | Lecture des fichiers de profil |
| `mcp` | Client MCP (connexion aux serveurs d'outils) | | `mcp` | Client MCP (connexion aux serveurs d'outils) |