› cavi-ai/
GitHub ↗

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 toStart with
Install the app and its engineInstallation
Get one model converted, verified and servingYour first model
Bring in a model from Hugging Face HubAdd from Hugging Face
Keep a model serving for your coding toolsRun and endpoints, then Clients
Decide between quantizations or modelsCompare
Classify content or generate music with one modelLibrary tasks
Free disk space safelyReclaim
Fine-tune on your own textTraining and studies
Change paths, defaults or the engineConfiguration

Screens

The sidebar groups thirteen screens.

GroupScreenPurpose
WorkbenchOverviewModel budget for this Mac, one next-step action and the selected model's flight path
LibraryLocal weights, fit, details, task workspaces, lineage, deletion and LM Studio source
LifecyclePreparePreview and confirm conversions; follow verification
CompareMeasured model comparisons with recorded prompts and outputs
RunLoopback servers, memory runway, always-on endpoints and serving profiles
OperationsActivityConversion, server, experiment and training jobs on one timeline
ReclaimQuarantine, Trash, source cleanup and restore
ClientsConfig wiring for local clients, with rollback
HealthRuntime readiness, model health and the Setup Assistant
LabDiscoverBrowse Hugging Face Hub candidates or request a task recommendation
StudiesControlled experiments, generation jobs and blind review
TrainingText LoRA training and base-versus-adapter evaluation
SettingsSettingsEngine, 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

  1. Preview. Every change starts as a plan: the command, destination, output size, fit and a preview hash.
  2. Confirm. Confirmation runs exactly the reviewed plan. A changed input invalidates the preview.
  3. 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.
  4. 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.