Hay tres formas de instalar oMLX en un Mac y solo una deja el servidor arrancando solo después de un reinicio. Esta guía cubre la vía de Homebrew de punta a punta: el tap, la fórmula, el servicio de launchd que queda detrás, dónde acaban los registros, cómo actualizar y cómo desinstalarlo sin dejar restos.

Puntos clave

  • Son dos órdenes: brew tap jundot/omlx https://github.com/jundot/omlx y luego brew install jundot/omlx/omlx.
  • La fórmula solo acepta Apple Silicon con macOS 15 o superior. En un Mac con Intel se rechaza durante la instalación.
  • El servicio se gobierna con omlx start, omlx stop y omlx restart, que por dentro llaman a brew services. La etiqueta de launchd es homebrew.mxcl.omlx.
  • Actualizar es brew update && brew upgrade omlx. La versión actual es la 0.6.4, publicada el 29 de agosto de 2026.
  • El descargable DMG trae actualización automática dentro de la aplicación; la vía de Homebrew no, y ahí está la diferencia práctica entre ambas.

Las tres vías de instalación y cuál te conviene

oMLX se distribuye de tres maneras y no son intercambiables. El paquete DMG está firmado y notarizado, se arrastra a Aplicaciones, trae la aplicación de la barra de menús y se actualiza solo desde dentro. Además deja un enlace de línea de comandos en ~/.omlx/bin/omlx, así que también tienes las órdenes de terminal.

Homebrew instala el servidor y su envoltorio de servicio, sin aplicación gráfica. Es la vía natural si administras el Mac por SSH, si quieres que el servidor sobreviva a los reinicios sin que nadie inicie sesión en el escritorio, o si prefieres que la actualización pase por el mismo gestor que el resto de tus herramientas.

La instalación desde el código fuente (git clone y pip install -e .) tiene sentido cuando quieres compilar los núcleos nativos o seguir la rama principal. No la elijas para un servidor que quieres olvidar.

Vía Aplicación de barra de menús Servicio al arrancar Actualización
DMG Con la aplicación abierta Automática dentro de la aplicación
Homebrew No Sí, vía launchd brew upgrade omlx
Código fuente No Manual git pull y reinstalar

Si quieres las dos cosas, la combinación que funciona es instalar el DMG para tener el panel y la barra de menús, y dejar el servicio de Homebrew apagado. Dos instancias peleando por el puerto 8000 no acaban bien.

Instalar oMLX con Homebrew paso a paso

El tap apunta directamente al repositorio, no a un repositorio de fórmulas aparte:

brew tap jundot/omlx https://github.com/jundot/omlx
brew install jundot/omlx/omlx

La fórmula vive en Formula/omlx.rb dentro del propio repositorio y trae dos comprobaciones que conviene conocer antes de escribir la orden: exige arquitectura de Apple Silicon y exige macOS Sequoia o posterior. Un Mac con Intel o un macOS 14 se rechazan ahí mismo, con un mensaje de la fórmula y no un fallo de compilación a medio camino.

Si vas a usar el puente de Model Context Protocol, el paquete de Python correspondiente se instala en el entorno aislado de la fórmula:

/opt/homebrew/opt/omlx/libexec/bin/pip install mcp

Y si quieres los núcleos compilados que aceleran modelos como GLM-5.2 o MiniMax M3, hay una variante que compila desde la rama principal:

brew install jundot/omlx/omlx --HEAD --with-custom-kernel

Esa última tarda bastante más porque compila, así que no la lances si solo quieres probar el servidor.

El servicio de launchd y por qué usar omlx start

Una vez instalada la fórmula tienes un servicio gestionado por launchd con la etiqueta estándar de Homebrew, homebrew.mxcl.omlx. Se gobierna con tres órdenes:

omlx start          # arranca el servicio en segundo plano
omlx stop           # lo detiene
omlx restart        # lo reinicia
brew services info omlx   # estado, PID y ruta del fichero plist

omlx start y brew services start omlx hacen lo mismo, y puedes mezclarlas sin problema. La primera es más corta y es la que aparece en la documentación del proyecto.

Lo que aporta el servicio frente a lanzar omlx serve a mano es la supervisión: launchd tiene activada la opción de mantenerlo vivo, así que si el proceso cae por un modelo que no cabe en memoria, vuelve a levantarse solo. Esto importa porque un servidor de inferencia local se cae con más frecuencia de la que uno espera, casi siempre por memoria.

El servicio arranca omlx serve sin argumentos. Eso significa que cualquier ajuste que quieras aplicar de forma permanente (un puerto distinto, un directorio de modelos, un techo de memoria) no va en la orden sino en ~/.omlx/settings.json o en el panel de administración. Lo cubro en detalle en la guía de la API y la configuración de oMLX.

Dónde están los registros

Hay dos ficheros distintos y confundirlos hace perder tiempo:

# registro del servicio (arranques, caídas, reinicios de launchd)
tail -f $(brew --prefix)/var/log/omlx.log

 # registro del servidor (peticiones, carga de modelos, errores de memoria)
tail -f ~/.omlx/logs/server.log

Si el servicio no arranca, mira el primero. Si arranca pero un modelo falla, mira el segundo.

Actualizar y saber qué versión tienes

La actualización pasa por el flujo normal de Homebrew:

brew update
brew upgrade omlx
omlx restart

El reinicio final no es opcional: brew upgrade reemplaza los binarios pero el proceso en marcha sigue siendo el viejo hasta que lo reinicias.

La sincronización de versiones entre el paquete de Python y la fórmula de Homebrew está automatizada con GitHub Actions, que actualiza la URL de origen y su suma de verificación en cada publicación. En la práctica esto significa que la fórmula rara vez va por detrás de la versión publicada, aunque el índice local de Homebrew sí puede estarlo si llevas semanas sin ejecutar brew update.

El ritmo de publicación del proyecto es alto. Entre el 18 y el 29 de agosto de 2026 salieron seis versiones: la 0.6.2, tres candidatas de la 0.6.3, la 0.6.3 y la 0.6.4. Merece la pena leer las notas antes de actualizar un servidor que usas a diario, porque varias de esas versiones tocan el motor de inferencia. La 0.6.4, por ejemplo, mejoró el procesamiento de prompt de Qwen3.8-Flash-Next un 33,5 % y redujo el tiempo total de petición un 24,2 % con contexto de 32K, medido sobre un Apple M3 Ultra.

Cuando brew install falla

El fallo más reportado no es de oMLX sino de una de sus dependencias de Python. Al instalar el paquete cryptography dentro del entorno aislado, Homebrew reescribe los identificadores de las bibliotecas dinámicas y a veces no cabe la cabecera:

Error: Failed changing dylib ID of
/opt/homebrew/Cellar/omlx/0.2.2/libexec/lib/python3.11/site-packages/
cryptography/hazmat/bindings/_rust.abi3.so

Updated load commands do not fit in the header of . needs to be relinked,
possibly with -headerpad or -headerpad_max_install_names

El síntoma característico es que la instalación deja el servidor a medias y no la aplicación. Se reportó en la incidencia 78 del repositorio, sobre oMLX 0.2.2 en macOS Tahoe 26.3. Si te lo encuentras, la salida más rápida es instalar el DMG desde GitHub Releases, que trae sus dependencias ya enlazadas y no depende del reenlazado de Homebrew.

Antes de dar por perdida la instalación, comprueba también lo obvio: que estás en Apple Silicon, que la versión de macOS es la 15 o superior y que Python está entre la 3.11 y la 3.13. Esos tres requisitos aparecen en la documentación del proyecto y son la causa de buena parte de los fallos que se atribuyen a Homebrew.

Desinstalar sin dejar restos

Homebrew se lleva el paquete, pero no lo que oMLX ha ido escribiendo en tu carpeta personal:

brew services stop omlx
brew uninstall omlx
brew untap jundot/omlx

Después quedan tres cosas por decidir. ~/.omlx/settings.json guarda tu configuración, ~/.omlx/logs/ los registros y ~/.omlx/cache/ la caché KV en disco, que puede ocupar mucho porque por defecto se le permite hasta el 10 % de la capacidad del disco. Los modelos descargados viven en el directorio que hayas fijado, normalmente ~/.omlx/models, y suelen ser decenas de gigabytes.

Si vas a reinstalar, conserva la configuración y los modelos y borra solo la caché. Si te marchas del todo, rm -rf ~/.omlx se lo lleva todo, incluidos los modelos, así que muévelos antes si piensas usarlos con otra herramienta.

Preguntas frecuentes

¿Puedo instalar oMLX con Homebrew en Linux o en un Mac con Intel?

No. La fórmula comprueba explícitamente que la arquitectura sea Apple Silicon y que macOS sea Sequoia o posterior, y aborta si no se cumple. oMLX se apoya en el framework MLX de Apple, que depende de la memoria unificada y del motor Metal de los chips de la serie M, así que no existe versión para Linux, Windows ni Docker.

¿Qué diferencia hay entre omlx start y omlx serve?

omlx serve ejecuta el servidor en primer plano, en tu terminal, y muere cuando cierras la sesión. omlx start registra el servicio en launchd, que lo mantiene vivo entre reinicios y lo relanza si se cae. Para trabajo diario usa omlx start; usa omlx serve cuando quieras probar banderas de configuración sin tocar el servicio.

¿Cómo sé qué versión tengo instalada?

brew info omlx muestra la versión de la fórmula instalada y si hay una más reciente disponible. El panel de administración también la enseña, y las notas de cada publicación están en la página de Releases del repositorio.

Conclusión

La vía de Homebrew es la buena si quieres oMLX como una pieza de infraestructura: un servicio supervisado que arranca solo, con registros en sitios previsibles y una actualización que pasa por el mismo gestor que el resto del Mac. La vía del DMG es mejor si lo que quieres es la aplicación de la barra de menús y las actualizaciones automáticas. Elegir las dos a la vez y dejar ambas activas es la única combinación que da problemas.

Con el servidor instalado, el siguiente paso es configurarlo: la clave de API, el puerto y los endpoints están en la guía de la API de oMLX, y el reparto de memoria entre modelos en gestión de modelos y memoria. La versión inglesa de este artículo está en Installing, updating and uninstalling oMLX with Homebrew.

Fuentes

  1. jundot/omlx, repositorio y documentación oficiales
  2. Notas de la versión 0.6.4 de oMLX
  3. Incidencia 78: fallo de brew install al reenlazar cryptography
  4. DeepWiki: servicio de Homebrew de oMLX
  5. Homebrew Formula Cookbook
  6. MLX, el framework de Apple sobre el que corre oMLX