# Обзор

> Обзор черновика LMSP 1.0. Что такое Local Model Service Protocol, на каких решениях он основан, его слоистая архитектура, как читать спецификацию и какие термины используются во всём тексте.

Source: https://madeforagent.com/ru/lmsp/1.0/
Language: ru
Specification: LMSP 1.0 (draft)
Updated: 2026-11-08

## 1.1 Аннотация {#abstract}

Local Model Service Protocol (LMSP) определяет, как клиенты находят и используют сервисы языковых моделей, работающие на устройстве пользователя или в его локальной сети. Он описывает обнаружение сервисов, каталог моделей, синхронную и потоковую генерацию, а также асинхронные задачи, переживающие перезапуск. Кроме того, он определяет, как один и тот же сервис предлагает интерфейс, совместимый с OpenAI, рядом с интерфейсом LMSP, чтобы существующие клиенты продолжали работать.

LMSP не заменяет API OpenAI, Ollama или MCP. Он объединяет их сильные стороны в слое протокола, рассчитанном на резидентный локальный сервис.

## 1.2 Статус документа {#status}

Это первый публичный черновик LMSP 1.0, опубликованный 2026-11-08. «LMSP» — рабочее название. Текст открыт для замечаний и может измениться несовместимо до выхода окончательной версии 1.0.

Нормативным является английский текст. Переводы предоставляются для удобства; при расхождениях приоритет имеет английский текст.

## 1.3 Основа проектирования {#design-basis}

LMSP повторно использует проверенные решения вместо того, чтобы изобретать новые:

- **OpenAI Responses API.** Структурированные элементы вывода, семантические события, отправляемые сервером, и фоновое выполнение с запросом состояния и отменой для долгих задач. Это эталон для основного интерфейса диалога LMSP. См. [потоковые ответы](https://developers.openai.com/api/docs/guides/streaming-responses) и [фоновый режим](https://developers.openai.com/api/docs/guides/background).
- **Ollama.** Предоставляет эндпоинты `/v1/models`, `/v1/chat/completions` и `/v1/responses`, совместимые с OpenAI, что показывает: один сервис и слой адаптации к OpenAI резко снижают стоимость внедрения. См. [совместимость Ollama с OpenAI](https://docs.ollama.com/api/openai-compatibility).
- **Model Context Protocol (MCP).** Его новейшая версия отказывается от обязательной инициализации сессии в пользу обнаружения без состояния: каждый запрос несёт собственные сведения о версии, а клиенты узнают возможности через интерфейс обнаружения. Это подходит для локальных сервисов, где перезапуски, сбои клиентов и обрывы соединений не должны портить состояние протокола. См. [MCP](https://modelcontextprotocol.io/).
- **Agent2Agent (A2A).** Карточки сервисов, явные состояния задач, подписка на задачи и их отмена легли в основу описания сервиса и модели асинхронных задач LMSP. См. [A2A](https://a2a-protocol.org/).

## 1.4 Архитектура {#architecture}

LMSP состоит из трёх слоёв над адаптерами, которые общаются со средами выполнения моделей:

```text
+---------------------------------------------------------------+
| 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       |
+---------------------------------------------------------------+
```

- **Обнаружение.** mDNS/DNS-SD и well-known-документ с описанием сервиса ([страница 3](https://madeforagent.com/ru/lmsp/1.0/discovery.md)).
- **Ядро.** Каталог моделей, синхронные ответы, события, отправляемые сервером, и асинхронные задачи ([страницы 5–7](https://madeforagent.com/ru/lmsp/1.0/models.md)).
- **Совместимость.** API, совместимый с OpenAI, и, по желанию, API, совместимый с Ollama ([страница 8](https://madeforagent.com/ru/lmsp/1.0/compatibility.md)).
- **Адаптеры.** Мосты к llama.cpp, Ollama, vLLM или собственной среде выполнения.

Ведущий принцип — **одно ядро выполнения моделей, два семейства интерфейсов**. Сервис предлагает интерфейс LMSP и интерфейс OpenAI поверх одного и того же ядра, так что есть единственное место, где загружаются модели, выполняются запросы и отслеживаются задачи.

## 1.5 Язык требований {#conformance}

Ключевые слова **ДОЛЖЕН/ДОЛЖНЫ** (MUST), **НЕ ДОЛЖЕН/НЕ ДОЛЖНЫ** (MUST NOT), **ОБЯЗАТЕЛЬНО** (REQUIRED), **СЛЕДУЕТ** (SHOULD), **НЕ СЛЕДУЕТ** (SHOULD NOT), **РЕКОМЕНДУЕТСЯ** (RECOMMENDED), **МОЖЕТ/МОГУТ** (MAY) и **НЕОБЯЗАТЕЛЬНО** (OPTIONAL) в этом документе следует понимать так, как описано в [BCP 14](https://www.rfc-editor.org/info/bcp14) ([RFC 2119](https://www.rfc-editor.org/rfc/rfc2119), [RFC 8174](https://www.rfc-editor.org/rfc/rfc8174)), тогда и только тогда, когда они набраны жирным шрифтом заглавными буквами. В остальных случаях это обычные слова.

Каждая страница помечена как нормативная или информативная. Нормативные страницы определяют требования; информативные дают рекомендации. Примеры информативны. JSON кодируется в UTF-8, а имена полей используют `snake_case`.

## 1.6 Терминология {#terminology}

| Термин | Значение |
| --- | --- |
| Сервис | Резидентный процесс, который реализует LMSP и запускает модели через адаптеры. |
| Клиент | Программа, которая обнаруживает и вызывает сервис: агент, приложение или инструмент. |
| Адаптер | Компонент, который соединяет сервис с одной средой выполнения моделей, например llama.cpp, Ollama или vLLM. |
| Модель | Локально доступная модель, обозначаемая стабильным `id`. |
| Ответ | Результат одного запроса генерации: элементы вывода, статистика использования и статус. |
| Задача | Сохраняемое асинхронное выполнение запроса ответа с явным состоянием. |
| Событие | Одно событие, отправляемое сервером, с порядковым номером, которое выдаётся во время генерации ответа. |
