Visão geral
- Informativa
- Rascunho 1.0
- Atualizado em
- Ver como Markdown
1.1 Resumo
O Local Model Service Protocol (LMSP) define como os clientes encontram e usam serviços de modelos de linguagem executados no próprio dispositivo ou na rede local do usuário. Ele especifica a descoberta de serviços, um catálogo de modelos, a geração síncrona e em streaming, e tarefas assíncronas que sobrevivem a reinicializações. Também define como um mesmo serviço oferece uma interface compatível com a OpenAI ao lado da interface LMSP, para que os clientes existentes continuem 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 um serviço local residente.
1.2 Status deste documento
Este é o primeiro rascunho público do LMSP 1.0, publicado em 2026-11-08. “LMSP” é um nome provisório. O texto está aberto a comentários e pode mudar de forma incompatível até que a 1.0 seja definitiva.
O texto em inglês é normativo. As traduções são oferecidas por conveniência; se houver divergência, prevalece o texto em inglês.
1.3 Base do projeto
O LMSP reaproveita projetos comprovados em vez de inventar novos:
- API OpenAI Responses. Itens de saída estruturados, eventos semânticos enviados pelo servidor e execução em segundo plano, com consulta e cancelamento, para trabalhos de longa duração. É a referência da interface de conversa principal do LMSP. Veja respostas em streaming e modo em segundo plano.
- Ollama. Serve os endpoints compatíveis com a OpenAI
/v1/models,/v1/chat/completionse/v1/responses, o que mostra que um serviço mais uma camada de adaptação à OpenAI reduz drasticamente o custo de adoção. Veja a compatibilidade do Ollama com a OpenAI. - Model Context Protocol (MCP). Seu projeto mais recente deixa a inicialização obrigatória de sessão e passa à descoberta sem estado: cada requisição carrega suas próprias informações de versão, e os clientes conhecem as capacidades por meio de uma interface de descoberta. Isso combina com serviços locais, em que reinicializações, falhas de clientes e conexões interrompidas não devem corromper o estado do protocolo. Veja o MCP.
- Agent2Agent (A2A). Cartões de serviço, estados explícitos de tarefa, assinatura de tarefas e cancelamento inspiram a descrição do serviço e o modelo de tarefas assíncronas do LMSP. Veja o A2A.
1.4 Arquitetura
O LMSP é organizado em três camadas, sobre os adaptadores que conversam com os ambientes de execução dos modelos:
+---------------------------------------------------------------+
| Discovery mDNS / DNS-SD + well-known service document |
+---------------------------------------------------------------+
| Core model catalog, responses, SSE, async tasks |
+---------------------------------------------------------------+
| Compatibility OpenAI API, optional Ollama API |
+---------------------------------------------------------------+
| Adapters llama.cpp, Ollama, vLLM, custom runtimes |
+---------------------------------------------------------------+
- Descoberta. mDNS/DNS-SD e um documento well-known de descrição do serviço (página 3).
- Núcleo. O catálogo de modelos, as respostas síncronas, os eventos enviados pelo servidor e as tarefas assíncronas (páginas 5 a 7).
- Compatibilidade. Uma API compatível com a OpenAI e, opcionalmente, uma API compatível com o Ollama (página 8).
- Adaptadores. Pontes para o llama.cpp, o Ollama, o vLLM ou um ambiente de execução próprio.
O princípio orientador é um único núcleo de execução de modelos, duas famílias de interfaces. Um serviço oferece a interface LMSP e a interface OpenAI sobre o mesmo núcleo, de modo que há um único lugar onde os modelos são carregados, as requisições são executadas e as tarefas são acompanhadas.
1.5 Linguagem de conformidade
As palavras-chave DEVE/DEVEM (MUST), NÃO DEVE/NÃO DEVEM (MUST NOT), OBRIGATÓRIO (REQUIRED), DEVERIA/DEVERIAM (SHOULD), NÃO DEVERIA/NÃO DEVERIAM (SHOULD NOT), RECOMENDADO (RECOMMENDED), PODE/PODEM (MAY) e OPCIONAL (OPTIONAL) deste documento devem ser interpretadas conforme descrito na BCP 14 (RFC 2119, RFC 8174) quando, e somente quando, aparecem em negrito e em letras maiúsculas. Fora desse caso, são palavras comuns.
Cada página é marcada como normativa ou informativa. As páginas normativas definem requisitos; as informativas oferecem orientação. Os exemplos são informativos. O JSON usa UTF-8, e os nomes de campo usam snake_case.
1.6 Terminologia
| Termo | Significado |
|---|---|
| Serviço | Um processo residente que implementa o LMSP e executa modelos por meio de adaptadores. |
| Cliente | Software que descobre e chama um serviço: um agente, um aplicativo ou uma ferramenta. |
| Adaptador | O componente que conecta o serviço a um único ambiente de execução de modelos, como llama.cpp, Ollama ou vLLM. |
| Modelo | Um modelo disponível localmente, identificado por um id estável. |
| Resposta | O resultado de uma requisição de geração: itens de saída, uso e um status. |
| Tarefa | Uma execução assíncrona e persistida de uma requisição de resposta, com um estado explícito. |
| Evento | Um evento enviado pelo servidor, com número de sequência, emitido enquanto uma resposta é gerada. |