AJout disclaimer
This commit is contained in:
89
README.md
89
README.md
@@ -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) |
|
||||
|
||||
Reference in New Issue
Block a user