Périmètre minimal viable

12.1 Première version

La première version n’a pas à implémenter toutes les fonctions multimodales, le téléchargement de modèles ni la voix en temps réel. Elle forme une boucle fermée utilisable dès qu’elle fournit :

  1. La découverte du service via /.well-known/lmsp.json.
  2. L’annonce facultative sur le réseau local de _lmsp._tcp.local..
  3. GET /lmsp/v1/models.
  4. POST /lmsp/v1/responses, à la fois en synchrone et sous forme de flux SSE.
  5. Les tâches asynchrones : créer, consulter et annuler, avec persistance SQLite.
  6. La reprise des flux interrompus avec Last-Event-ID ou after.
  7. Les jetons porteurs, l’appairage local, et la protection Origin et Host.
  8. Les points de terminaison /v1/models et /v1/chat/completions compatibles OpenAI.
  9. Un fichier de contrat OpenAPI 3.2 et des tests de conformité multilingues.
  10. Au moins un vrai backend, et une vérification que les tâches se rétablissent correctement après un redémarrage du service.

L’idée de cette conception : LMSP fournit l’ensemble complet des capacités, l’interface OpenAI fournit une compatibilité prête à l’emploi, mDNS et la description du service fournissent la découverte automatique, et le modèle de tâches SQLite fournit la persistance locale.

12.2 Ce qui peut attendre

Tout ce que la liste ci-dessus ne mentionne pas peut suivre dans des versions ultérieures. Cela comprend les points de terminaison facultatifs (réponses stockées, et chargement et déchargement de modèles), les points de terminaison /v1/responses et /v1/embeddings d’OpenAI, l’API compatible Ollama, et tous les types de contenu autres que le texte.

Ce périmètre est un chemin vers une première version utilisable, pas un profil de conformité. Un service qui se réclame de LMSP 1.0 implémente toujours chaque point de terminaison obligatoire de la page 4 et le comportement obligatoire décrit dans les autres pages.