Context
oMLX exposes per-model configuration via its app UI and admin API:
Sampling: max tokens, temperature, top-p, top-k, min-p, repetition penalty, presence penalty
Advanced: thinking budget, force sampling
Experimental: turbo quant, kv cache, spec pre-fill, dflash, native MTP, VLM MTP
Currently, offgrid-ai's oMLX setup flow (configureManagedProfile in profile-setup.mjs) only picks a model and saves. The full glass-box setup flow (explanation cards, prompts, defaults) is only implemented for llama.cpp.
What to do
- Use the oMLX admin API to configure per-model settings during setup, same glass-box pattern as llama.cpp
- Surface sampling parameters with explanation cards and sensible defaults
- Surface advanced/experimental settings with appropriate warnings
- Investigate which settings are per-model vs. server-level via the admin API
- Maintain parity as oMLX evolves (check
omlx --version and API changes)
Design considerations
- oMLX is a managed server — unlike llama.cpp where we build the server command, oMLX has its own settings layer
- Need to determine which settings can be configured via the admin API (
/admin/api/models/<id>/settings) vs. only through the app UI
- Some experimental settings may not have API endpoints — handle gracefully
- Keep the glass-box principle: every setting gets an explanation, not just a prompt
References
- MTP enable/disable already implemented via admin API:
ensureOmlxMtpSetting in process.mjs
- llama.cpp glass-box flow:
configureLocalProfile in profile-setup.mjs (17 prompts with explanation cards)
- oMLX admin API: PUT
/admin/api/models/<id>/settings
Context
oMLX exposes per-model configuration via its app UI and admin API:
Sampling: max tokens, temperature, top-p, top-k, min-p, repetition penalty, presence penalty
Advanced: thinking budget, force sampling
Experimental: turbo quant, kv cache, spec pre-fill, dflash, native MTP, VLM MTP
Currently, offgrid-ai's oMLX setup flow (
configureManagedProfileinprofile-setup.mjs) only picks a model and saves. The full glass-box setup flow (explanation cards, prompts, defaults) is only implemented for llama.cpp.What to do
omlx --versionand API changes)Design considerations
/admin/api/models/<id>/settings) vs. only through the app UIReferences
ensureOmlxMtpSettinginprocess.mjsconfigureLocalProfileinprofile-setup.mjs(17 prompts with explanation cards)/admin/api/models/<id>/settings