Protokoll für lokale Modelldienste (LMSP)
- Entwurf 1.0
- Aktualisiert
- Als Markdown anzeigen
Was LMSP leistet
LMSP (Local Model Service Protocol) ist ein offenes Protokoll für Software, die Sprachmodelle auf dem eigenen Gerät oder im lokalen Netzwerk des Nutzers ausführt, und für die Clients, die diese Software verwenden.
Ein dauerhaft laufender lokaler Dienst beschreibt sich unter einer wohlbekannten Adresse selbst und listet seine Modelle auf. Er beantwortet Generierungsanfragen mit JSON oder mit Server-Sent Events und führt lange Generierungen als persistente Aufgaben aus, die sich abbrechen und nach einem Verbindungsabbruch erneut verfolgen lassen. Derselbe Dienst spricht außerdem die OpenAI-API, sodass die heute vorhandenen Clients weiter funktionieren.
LMSP ersetzt weder die OpenAI-API noch Ollama oder MCP. Es vereint ihre Stärken in einer Protokollschicht, die für dauerhaft laufende lokale Dienste gebaut ist.
Auf einen Blick
| Thema | Zusammenfassung |
|---|---|
| Standardadresse | http://127.0.0.1:17832 |
| Dienstbeschreibung | GET /.well-known/lmsp.json |
| Kernschnittstelle | /lmsp/v1, JSON über HTTP, Streaming mit Server-Sent Events |
| Kompatibilitätsschnittstellen | /v1 für OpenAI-Clients, optional /api für Ollama-Clients |
| Erkennung | Manuelle Adresse, Prüfen lokaler Adressen, optional mDNS und DNS-SD (_lmsp._tcp.local.) |
| Authentifizierung | Bearer-Tokens aus einer lokalen Kopplung |
| Persistenz | Eingebettetes SQLite, mit Aufgaben, die einen Neustart überstehen |
| Vertrag | OpenAPI 3.2 |
Ausprobieren
Läuft auf Ihrem Rechner ein LMSP-Dienst, ist das der gesamte Ablauf. Koppeln Sie sich zuerst, um ein Token zu erhalten, wie in Abschnitt 10.2 beschrieben, und legen Sie es in LMSP_TOKEN ab.
# 1. Den Dienst erkennen
curl http://127.0.0.1:17832/.well-known/lmsp.json
# 2. Die lokalen Modelle auflisten
curl http://127.0.0.1:17832/lmsp/v1/models \
-H "Authorization: Bearer $LMSP_TOKEN"
# 3. Eine Antwort generieren
curl http://127.0.0.1:17832/lmsp/v1/responses \
-H "Authorization: Bearer $LMSP_TOKEN" \
-H "Content-Type: application/json" \
-d '{"model":"qwen3:14b-q4_k_m","input":[{"type":"message","role":"user","content":[{"type":"input_text","text":"Hello"}]}]}'
Wie LMSP zu anderen Protokollen steht
| Protokoll | Was es abdeckt | Verhältnis zu LMSP |
|---|---|---|
| OpenAI-API | Gehostete Modelle. Die Responses-API ist ihre neueste Schnittstelle. | LMSP folgt für seine Kernschnittstelle der Responses-Struktur, und ein Dienst bietet daneben eine OpenAI-kompatible Schnittstelle an. |
| Ollama | Eine lokale Laufzeitumgebung, die bereits OpenAI-kompatible Endpunkte bereitstellt. | Sie kann als Adapter hinter einem LMSP-Dienst sitzen, und LMSP definiert optionale Ollama-kompatible Endpunkte. |
| MCP | Verbindet Agenten mit Tools und Kontext. | LMSP verbindet Agenten mit Modellen. Beide bevorzugen zustandslose Erkennung statt verpflichtender Sitzungen. |
| A2A | Zusammenarbeit zwischen Agenten. | LMSP übernimmt Service Cards und explizite Aufgabenzustände für seine Dienstbeschreibung und seine Aufgaben. |
Ressourcen
- Die Spezifikation, Version 1.0 (Entwurf).
- Der OpenAPI-Vertrag, als JSON oder YAML.
- llms.txt und llms-full.txt, für Sprachmodelle.
- Jede Seite ist als Markdown verfügbar. Ersetzen Sie den abschließenden Schrägstrich ihrer Adresse durch
.md, zum Beispiel/de/lmsp/1.0/tasks.md.
Spezifikation 1.0
- Überblick
Überblick über den Entwurf von LMSP 1.0. Was das Local Model Service Protocol ist, auf welchen Entwürfen es aufbaut, seine Schichtenarchitektur, wie die Spezifikation zu lesen ist und welche Begriffe durchgehend gelten.
- Transport und Betrieb
Standard-Lauschadressen, Transport, Streaming-Format und URL-Aufbau eines LMSP-Dienstes sowie sein Betrieb als Betriebssystemdienst, getrennt von den Modellprozessen.
- Diensterkennung
Wie LMSP-Clients einen lokalen Dienst per manueller Konfiguration, Loopback-Prüfung und optionalem mDNS/DNS-SD finden und wie das Dokument mit der Dienstbeschreibung unter der wohlbekannten Adresse zu lesen ist.
- Endpunkte
Die vollständige Tabelle der Endpunkte von LMSP 1.0 mit Methode, Pfad, Verbindlichkeit und Zweck sowie die Konventionen für Pfade, Authentifizierung und optionale Endpunkte.
- Modellkatalog
Wie ein LMSP-Dienst seine lokalen Modelle auflistet, das Modellobjekt und seine Capability-Schalter, die Zustände des Modell-Lebenszyklus, stabile Modell-IDs und Katalogrevisionen.
- Antworten und Streaming
Die zentrale Konversationsschnittstelle von LMSP mit Responses-artigen Anfragen und Ausgabeelementen, synchroner und gestreamter Generierung, Server-Sent-Event-Typen, Ereignis-IDs, Wiederverbindung und Tool-Aufrufen.
- Asynchrone Aufgaben
Wie LMSP lange Generierungen als persistierte Aufgaben ausführt, mit Aufgabenerstellung, Zustandsautomat, idempotentem Abbruch, Ereignisströmen und Neustartrichtlinien für unfertige Aufgaben.
- OpenAI- und Ollama-Kompatibilität
Wie ein LMSP-Dienst über eine dünne Datenkonvertierungsschicht auf einem einzigen Ausführungskern mit bestehenden OpenAI- und Ollama-Clients kompatibel bleibt und wo diese Kompatibilität endet.
- Allgemeine Regeln
Regeln, die für jeden LMSP-Endpunkt gelten, mit Versions-Headern und Erweiterungen, Idempotenzschlüsseln, dem Fehlerformat problem+json samt Fehlercodes und der Zustandsprüfung.
- Lokale Sicherheit
Sicherheitsanforderungen an LMSP-Dienste, mit Loopback-Bindung, Kopplung und Bearer-Tokens, Scopes, Origin- und Host-Prüfungen gegen bösartige Webseiten, LAN-Modus und Protokollierungsregeln.
- Persistenz
Wie ein LMSP-Dienst seinen Zustand speichert, mit einer eingebetteten SQLite-Datenbank, den Tabellen, den Transaktionsregeln für Aufgaben und Ereignisse, der Aufbewahrung und der Wiederherstellung beim Start.
- Minimaler tragfähiger Umfang
Ein vorgeschlagener Umfang für eine erste LMSP-Implementierung, mit den zehn Bausteinen, die einen nutzbaren geschlossenen Kreislauf bilden, und den Teilen der Spezifikation, die auf spätere Versionen warten können.
Häufig gestellte Fragen
Was ist LMSP?
LMSP, das Local Model Service Protocol, ist ein offenes Protokoll für Sprachmodell-Dienste, die auf dem eigenen Gerät oder im lokalen Netzwerk des Nutzers laufen. Es legt fest, wie Clients einen Dienst finden, seine Modelle auflisten, Antworten anfordern, Ausgaben streamen und lange Aufgaben ausführen.
Ersetzt LMSP die OpenAI-API, Ollama oder MCP?
Nein. LMSP baut auf ihnen auf. Die Kernschnittstelle folgt der Struktur von OpenAI Responses, ein Dienst kann OpenAI-kompatible und Ollama-kompatible Endpunkte anbieten, und das Protokoll übernimmt von MCP die zustandslose Erkennung und von A2A die Aufgabenzustände.
Können bestehende OpenAI-Clients einen LMSP-Dienst nutzen?
In der Regel ja. Sie brauchen eine andere Basis-URL und das LMSP-Token als API-Schlüssel. Den Dienst finden sie nicht automatisch, denn die Erkennung setzt einen Client voraus, der LMSP unterstützt.
Wie findet ein Client einen lokalen LMSP-Dienst?
Er probiert drei Dinge nacheinander aus. Zuerst eine von Hand eingegebene Adresse, dann die übliche lokale Adresse, unter der er /.well-known/lmsp.json abruft, und zuletzt optional die mDNS- und DNS-SD-Suche nach _lmsp._tcp.local. im lokalen Netzwerk.
Ist ein Modelldienst auf localhost sicher?
Nicht automatisch, denn Webseiten können versuchen, lokale Ports zu erreichen. LMSP-Dienste binden sich standardmäßig an Loopback, verlangen Bearer-Tokens aus einer lokalen Kopplung, prüfen die Header Origin und Host und verlangen im LAN-Modus eine Authentifizierung.
In welchem Zustand ist die Spezifikation?
Version 1.0 ist ein erster öffentlicher Entwurf und kann sich noch inkompatibel ändern. Der englische Text ist maßgeblich, Übersetzungen dienen der Bequemlichkeit.