Overview
MLX Workbench 0.7.1 is a native SwiftUI app for the local model lifecycle on Apple Silicon. It inventories the weights on your Mac, converts them to MLX, verifies the result, serves models on loopback ports, measures them against each other and wires them into local clients.
The app is the desktop front end for MLX Agent. It runs the selected engine's scripts/mlx-agent with argv tokens and --json, and renders the result. The engine owns execution: conversion jobs and their queue, serving processes, classification and music tasks, experiments and training receipts. The app has no web server and no background UI service.
These pages describe release v0.7.1 from commit 5c6c7b7cd90b91d9299ac55bc50f6455f993c184.
Choose a path
The workspace uses dark surfaces, yellow primary actions and a grouped sidebar. Warnings, failures and verification states keep their own labels and symbols. Each screen opens with its title and a short description.
| You want to | Start with |
|---|---|
| Install the app and its engine | Installation |
| Get one model converted, verified and serving | Your first model |
| Bring in a model from Hugging Face Hub | Add from Hugging Face |
| Keep a model serving for your coding tools | Run and endpoints, then Clients |
| Decide between quantizations or models | Compare |
| Classify content or generate music with one model | Library tasks |
| Free disk space safely | Reclaim |
| Fine-tune on your own text | Training and studies |
| Change paths, defaults or the engine | Configuration |
Screens
The sidebar groups thirteen screens.
| Group | Screen | Purpose |
|---|---|---|
| Workbench | Overview | Model budget for this Mac, one next-step action and the selected model's flight path |
| Library | Local weights, fit, details, task workspaces, lineage, deletion and LM Studio source | |
| Lifecycle | Prepare | Preview and confirm conversions; follow verification |
| Compare | Measured model comparisons with recorded prompts and outputs | |
| Run | Loopback servers, memory runway, always-on endpoints and serving profiles | |
| Operations | Activity | Conversion, server, experiment and training jobs on one timeline |
| Reclaim | Quarantine, Trash, source cleanup and restore | |
| Clients | Config wiring for local clients, with rollback | |
| Health | Runtime readiness, model health and the Setup Assistant | |
| Lab | Discover | Browse Hugging Face Hub candidates or request a task recommendation |
| Studies | Controlled experiments, generation jobs and blind review | |
| Training | Text LoRA training and base-versus-adapter evaluation | |
| Settings | Settings | Engine, model locations, storage, defaults, advisors and updates |
Overview's flight path includes only stages supported by the selected model: verification requires an available canary, measurement requires a compatible comparison mode, and serving applies to chat and vision models. Measured requires a usable metric from a completed compatible comparison with the same path and a known matching model signature. Missing signatures remain unmeasured.
For a completed model, the next-step action uses its declared backend's installation status. Strata and declared backends have their own execution environments; the base-runtime warning does not establish their readiness. Run still previews the selected runtime and requires confirmation before serving.
The menu bar item shows endpoint status and starts or stops each endpoint. The toolbar's memory header shows estimated RAM use and headroom on every screen.
How it works
- Preview. Every change starts as a plan: the command, destination, output size, fit and a preview hash.
- Confirm. Confirmation runs exactly the reviewed plan. A changed input invalidates the preview.
- Receipt. Launched work leaves an engine receipt. Running state is recovered from receipts, so a restart of the app does not lose jobs or servers.
- Evidence. Verification verdicts, measured comparisons and human ratings are recorded with model signatures and an environment fingerprint. When either changes, the evidence no longer counts as current.
Boundaries
- Serving binds to loopback, such as
127.0.0.1. Hugging Face Hub discovery and downloads contact the network; loopback binding is not a promise of network isolation. - Downloads, conversions, client writes, cleanup and restore each have their own preview and confirmation.
- Repository runtime code from a model is never executed, and intake never passes
--trust-remote-code. - Speed does not establish quality. Measured speed and human task ratings stay separate everywhere.