# Transporte y despliegue

> Direcciones de escucha por defecto, transporte, formato de streaming y estructura de URL de un servicio LMSP, y cómo se ejecuta como servicio del sistema operativo, separado de los procesos de modelo.

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

## 2.1 Despliegue por defecto {#deployment}

Un servicio **DEBE** escuchar por defecto en las direcciones loopback `127.0.0.1` y `::1`. El puerto convencional es `17832`, lo que fija la dirección base por defecto en `http://127.0.0.1:17832`.

| Elemento | Valor |
| --- | --- |
| Direcciones de escucha | `127.0.0.1` y `::1` |
| Transporte | HTTP/1.1 o HTTP/2 con JSON |
| Streaming | Eventos enviados por el servidor, `Content-Type: text/event-stream` |
| Prefijo de la interfaz principal | `/lmsp/v1` |
| Prefijo compatible con OpenAI | `/v1` |
| Descripción del servicio | `GET /.well-known/lmsp.json` |
| Contrato legible por máquina | `GET /lmsp/v1/openapi.json` |
| Canal local opcional | Socket de dominio Unix o canal con nombre de Windows |

Las solicitudes y las respuestas usan JSON en UTF-8 (`Content-Type: application/json`), salvo los flujos (`text/event-stream`) y los errores (`application/problem+json`). Las marcas de tiempo son enteros: segundos desde la época Unix. Los identificadores son cadenas opacas; un prefijo de tipo como `resp_` o `task_` es **RECOMENDADO**.

El contrato de la interfaz es un documento OpenAPI 3.2. OpenAPI 3.2 puede describir eventos enviados por el servidor, JSON Lines y JSON Sequences, de modo que los endpoints de streaming se especifican en el mismo documento que el resto. El contrato de esta versión se publica en [`/lmsp/1.0/openapi.json`](https://madeforagent.com/lmsp/1.0/openapi.json).

Un servicio **PUEDE** aceptar también conexiones en un socket de dominio Unix o en un canal con nombre de Windows con la misma semántica HTTP. En 1.0, la forma de anunciar esos endpoints se deja a las extensiones.

## 2.2 Funcionamiento permanente {#operation}

Un servicio **DEBERÍA** ser alojado por el sistema operativo: launchd en macOS, systemd en Linux y el administrador de servicios en Windows.

El proceso del servicio y los procesos de modelo **DEBERÍAN** estar separados. Un fallo de un modelo **DEBERÍA** afectar solo a las tareas que usan ese modelo. **NO DEBERÍA** dejar sin disponibilidad el descubrimiento del servicio, el catálogo de modelos ni las consultas sobre tareas anteriores.
