Instalar, actualizar y desinstalar oMLX con Homebrew
Índice de contenidos
- Puntos clave
- Las tres vías de instalación y cuál te conviene
- Instalar oMLX con Homebrew paso a paso
- El servicio de launchd y por qué usar omlx start
- Dónde están los registros
- Actualizar y saber qué versión tienes
- Cuando brew install falla
- Desinstalar sin dejar restos
- Preguntas frecuentes
- ¿Puedo instalar oMLX con Homebrew en Linux o en un Mac con Intel?
- ¿Qué diferencia hay entre omlx start y omlx serve?
- ¿Cómo sé qué versión tengo instalada?
- Conclusión
- Fuentes
oMLX se instala con Homebrew en dos órdenes: primero el tap del repositorio de jundot y después la fórmula. Queda un servicio de launchd que arranca con omlx start, un registro en la carpeta var de Homebrew y una actualización con brew upgrade. La versión actual es la 0.6.4, del 29 de agosto de 2026.
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/omlxy luegobrew 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 stopyomlx restart, que por dentro llaman abrew services. La etiqueta de launchd eshomebrew.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 | Sí | 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
Código fuente
Accede a todo el código fuente de este artículo en GitHub.
Ver en GitHub