On this page
On this page
Providers
oMLX
oMLX serves MLX models on Apple Silicon.
OpenClaw's bundled oMLX provider supports chat and memory embeddings through
its OpenAI-compatible API at http://127.0.0.1:8000/v1.
Quick start
Install and start oMLX
Install oMLX with Homebrew:
Download a supported MLX chat model and an embedding model into your model directory. See the oMLX installation and model guide for the macOS app, source installation, and models. Native custom kernels are optional for some models and require full Xcode when built locally.
Check the models exposed by the running server:
Use the exact id values returned by this endpoint. A model alias configured
in oMLX is also an API-visible ID; it may differ from the download directory.
Connect OpenClaw
Confirm the server URL, leave the API key blank for a local server with
authentication disabled, and choose a chat model. Alternatively, run
openclaw onboard and choose oMLX. Guided setup detects the running local
server and discovers models through /v1/models.
Entering a new key replaces saved request authentication, including custom
headers. An explicitly blank key disables authentication. In noninteractive
setup, omit --custom-api-key to reuse the saved connection, or pass
--custom-api-key "" to clear its authentication.
The inference catalog does not report model types, so it can also list embedding models. Choose a chat model for conversations and configure the embedding model separately below.
Chat model references use the omlx/ prefix:
Memory embeddings
Choose an embedding model served by oMLX, then set its exact API-visible ID in
memory.search.model. The chat model and embedding model are separate choices;
a chat model cannot produce memory embeddings.
After switching embedding providers or models, rebuild the index and verify it:
oMLX owns model loading. OpenClaw sends embedding requests to /v1/embeddings
and does not install models or call oMLX management endpoints.
Server URL and authentication
The default endpoint needs no configuration. To use a different port or host,
set models.providers.omlx.baseUrl. Both chat and memory embeddings use this
provider configuration:
Keep /v1 on the base URL. For authenticated chat, set OMLX_API_KEY in the
Gateway environment or configure models.providers.omlx.apiKey. Embeddings
reuse the provider connection saved by setup. For an authenticated memory-only
setup, set memory.search.remote.apiKey, for example to "${OMLX_API_KEY}";
the environment variable alone does not configure memory authentication.
No real key is required when authentication is disabled on a local server.
Non-interactive onboarding
Pass the chat model ID without the omlx/ prefix:
For an authenticated server, also pass --custom-api-key "$OMLX_API_KEY".
Configure the embedding model separately under memory.search.
Troubleshooting
- Connection refused: start oMLX and check that the configured host and port
match
curl http://127.0.0.1:8000/v1/models. - HTTP 401: set the key required by your server. Leave it blank only when the server permits unauthenticated requests.
- Embedding model rejected: use the exact ID of an embedding model in
/v1/models, not a chat model or itsomlx/chat reference. - Index identity warning after switching models: run
openclaw memory index --forceto rebuild with the new embeddings.