Protocolo de Serviço de Modelos Locais (LMSP)
- Rascunho 1.0
- Atualizado em
- Ver como Markdown
O que o LMSP faz
O LMSP (Local Model Service Protocol) é um protocolo aberto para softwares que executam modelos de linguagem no próprio dispositivo ou na rede local do usuário, e para os clientes que usam esse software.
Um serviço local residente se descreve em um endereço well-known e lista seus modelos. Ele responde às requisições de geração com JSON ou com eventos enviados pelo servidor, e executa as gerações longas como tarefas persistidas, que podem ser canceladas e acompanhadas de novo após uma desconexão. O mesmo serviço também fala a API da OpenAI, de modo que os clientes que existem hoje continuam funcionando.
O LMSP não substitui a API da OpenAI, o Ollama nem o MCP. Ele combina os pontos fortes de cada um em uma camada de protocolo pensada para serviços locais residentes.
Visão rápida
| Tópico | Resumo |
|---|---|
| Endereço padrão | http://127.0.0.1:17832 |
| Descrição do serviço | GET /.well-known/lmsp.json |
| Interface principal | /lmsp/v1, JSON sobre HTTP, streaming com eventos enviados pelo servidor |
| Interfaces de compatibilidade | /v1 para clientes OpenAI, /api opcional para clientes Ollama |
| Descoberta | Endereço manual, sondagem de endereços locais, mDNS e DNS-SD opcionais (_lmsp._tcp.local.) |
| Autenticação | Tokens de portador obtidos por pareamento local |
| Persistência | SQLite embutido, com tarefas que sobrevivem a uma reinicialização |
| Contrato | OpenAPI 3.2 |
Experimente
Se um serviço LMSP estiver em execução na sua máquina, este é o fluxo completo. Faça primeiro o pareamento para obter um token, como descrito na seção 10.2, e guarde-o em LMSP_TOKEN.
# 1. Descobrir o serviço
curl http://127.0.0.1:17832/.well-known/lmsp.json
# 2. Listar os modelos locais
curl http://127.0.0.1:17832/lmsp/v1/models \
-H "Authorization: Bearer $LMSP_TOKEN"
# 3. Gerar uma resposta
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"}]}]}'
Como o LMSP se relaciona com outros protocolos
| Protocolo | O que cobre | Relação com o LMSP |
|---|---|---|
| API da OpenAI | Modelos hospedados. A Responses API é a sua interface mais recente. | O LMSP segue a estrutura do Responses em sua interface principal, e um serviço oferece, ao lado dela, uma interface compatível com a OpenAI. |
| Ollama | Um ambiente de execução local que já serve endpoints compatíveis com a OpenAI. | Pode ficar por trás de um serviço LMSP como adaptador, e o LMSP define endpoints opcionais compatíveis com o Ollama. |
| MCP | Conecta agentes a ferramentas e contexto. | O LMSP conecta agentes a modelos. Ambos preferem a descoberta sem estado a sessões obrigatórias. |
| A2A | Colaboração entre agentes. | O LMSP toma emprestados os cartões de serviço e os estados explícitos de tarefa para a descrição do serviço e para as suas tarefas. |
Recursos
- A especificação, versão 1.0 (rascunho).
- O contrato OpenAPI, em JSON ou YAML.
- llms.txt e llms-full.txt, para modelos de linguagem.
- Cada página está disponível em Markdown. Substitua a barra final do endereço por
.md, por exemplo/pt-br/lmsp/1.0/tasks.md.
Especificação 1.0
- Visão geral
Visão geral do rascunho do LMSP 1.0. O que é o Local Model Service Protocol, os projetos em que ele se baseia, sua arquitetura em camadas, como ler a especificação e os termos usados em todo o texto.
- Transporte e implantação
Endereços de escuta padrão, transporte, formato de streaming e layout de URLs de um serviço LMSP, e como ele roda como serviço do sistema operacional, separado dos processos dos modelos.
- Descoberta de serviços
Como os clientes LMSP encontram um serviço local por configuração manual, sondagem de loopback e mDNS/DNS-SD opcional, e como ler o documento well-known de descrição do serviço.
- Endpoints
A tabela completa dos endpoints do LMSP 1.0 com método, caminho, nível de exigência e finalidade, além das convenções para caminhos, autenticação e endpoints opcionais.
- Catálogo de modelos
Como um serviço LMSP lista seus modelos locais, o objeto de modelo e suas flags de capacidade, os estados do ciclo de vida do modelo, IDs de modelo estáveis e revisões do catálogo.
- Respostas e streaming
A interface de conversa principal do LMSP, com requisições e itens de saída no estilo Responses, geração síncrona e em streaming, tipos de eventos enviados pelo servidor, IDs de evento, reconexão e ferramentas.
- Tarefas assíncronas
Como o LMSP executa gerações longas como tarefas persistidas, com criação de tarefas, a máquina de estados, cancelamento idempotente, fluxos de eventos e políticas de reinicialização para tarefas inacabadas.
- Compatibilidade com OpenAI e Ollama
Como um serviço LMSP continua compatível com clientes OpenAI e Ollama existentes por meio de uma fina camada de conversão de dados sobre um único núcleo de execução, e onde essa compatibilidade termina.
- Regras comuns
Regras compartilhadas por todos os endpoints LMSP, com cabeçalhos de versão e extensões, chaves de idempotência, o formato de erro problem+json com seus códigos de erro e a verificação de integridade.
- Segurança local
Requisitos de segurança para serviços LMSP, com vínculo ao loopback, pareamento e tokens de portador, escopos, verificações de Origin e Host contra páginas web maliciosas, modo LAN e regras de logs.
- Persistência
Como um serviço LMSP armazena seu estado, com um banco SQLite embutido, as tabelas a manter, as regras transacionais para tarefas e eventos, a retenção e a recuperação na inicialização.
- Escopo mínimo viável
Um escopo sugerido para uma primeira implementação do LMSP, com as dez peças que formam um ciclo fechado utilizável e as partes da especificação que podem esperar por versões futuras.
Perguntas frequentes
O que é o LMSP?
O LMSP, o Local Model Service Protocol (Protocolo de Serviço de Modelos Locais), é um protocolo aberto para serviços de modelos de linguagem executados no próprio dispositivo do usuário ou na rede local. Ele define como os clientes descobrem um serviço, listam seus modelos, solicitam respostas, recebem a saída em streaming e executam tarefas longas.
O LMSP substitui a API da OpenAI, o Ollama ou o MCP?
Não. O LMSP se apoia neles. Sua interface principal segue a estrutura do OpenAI Responses, um serviço pode oferecer endpoints compatíveis com a OpenAI e com o Ollama, e o protocolo toma emprestados do MCP a descoberta sem estado e do A2A os estados das tarefas.
Os clientes OpenAI existentes podem usar um serviço LMSP?
Normalmente sim. Eles precisam de outra URL base e do token do LMSP como chave de API. Não encontram o serviço automaticamente, porque a descoberta exige um cliente compatível com o LMSP.
Como um cliente encontra um serviço LMSP local?
Ele tenta três coisas, nesta ordem. Primeiro um endereço digitado manualmente; depois o endereço local convencional, onde requisita /.well-known/lmsp.json; e por fim, opcionalmente, a busca por mDNS e DNS-SD de _lmsp._tcp.local. na rede local.
Um serviço de modelos no localhost é seguro?
Não automaticamente, porque páginas da web podem tentar acessar portas locais. Os serviços LMSP se vinculam ao loopback por padrão, exigem tokens de portador obtidos por pareamento local, verificam os cabeçalhos Origin e Host e exigem autenticação no modo LAN.
Qual é o status da especificação?
A versão 1.0 é um primeiro rascunho público e ainda pode mudar de forma incompatível. O texto em inglês é o normativo, e as traduções são oferecidas por conveniência.