d2fed6087a
- Introduced `mcp-server.js` to expose KXKM personas as MCP tools, supporting chat, persona listing, web search, and status checks. - Implemented `mcp-server-smoke.js` for testing the MCP server functionality, ensuring compatibility with both new and legacy message formats. - Created `setup-voice-clone.sh` for managing voice cloning environment setup, including bootstrapping, sample generation, and smoke testing. - Added `state.json` to track project status and task outputs for various batches. - Generated summary files for deep cycle and overall project status, capturing performance and security findings.
2.0 KiB
2.0 KiB
Voice / MCP Spike - 2026-03-17
Etat local confirme
apps/web/src/components/VoiceChat.tsxest un chat vocal browser-side base surMediaRecorder,WebSocketet un flux upload STT.apps/api/src/ws-multimodal.tsfournit deja le TTS, la synthese vocale par persona et les garde-fous de concurrence.scripts/discord-voice.jsest un rail voice externe distinct, centre Discord, STT Python et TTS Python.scripts/mcp-server.jsutilise maintenant le SDK MCP officiel sur stdio.@modelcontextprotocol/sdkest actif dans le runtime local et valide par smoke autonome.- Aucun paquet
@livekit/*n'est installe dans le workspace pour l'instant.
Gaps reels
- Pas de runtime LiveKit agent dans le repo.
- Pas de transport browser WebRTC/room/agent pour remplacer le chat vocal WebSocket.
- Pas de health check dedicated pour valider le serveur MCP local de maniere autonome.
Recommandation minimale
- Garder
VoiceChatcomme experience browser actuelle tant que le spike LiveKit n'a pas montre un vrai gain. - Introduire un agent LiveKit dans un script adjoint seulement apres preuve de valeur, sans toucher au chat WebSocket principal.
- Conserver le serveur MCP sur le SDK officiel et garder le smoke stdio comme garde-fou de protocole.
- N'ajouter LiveKit/voice-cloning qu'apres validation d'un vrai besoin runtime.
Commandes utiles
node scripts/mcp-server-smoke.jsnode scripts/mcp-server-smoke.js --with-tool-callnode scripts/mcp-server.jsnpm run smoke:voice-mcp
Etat machine observe
- Le smoke MCP valide
initialize+tools/listsans API locale demarree, avec le SDK officiel. - Le
tools/callpeut etre force avec--with-tool-call, mais il depend alors deKXKM_API_URL.
Sources officielles
- LiveKit Agents JS: https://github.com/livekit/agents-js
- LiveKit Agents docs: https://docs.livekit.io/agents/
- MCP SDK officiel: https://github.com/modelcontextprotocol/typescript-sdk
- MCP SDK docs: https://modelcontextprotocol.io/docs/sdk