Skip to content

Need ability to have server restart after a failure #202

Description

@NorthernMan54

mtplx doctor --json

{
"diagnostics": {
"checks": [
{
"command": null,
"docs_url": "https://ml-explore.github.io/mlx/build/html/install.html",
"expected": "macOS >= 14.0 on Apple Silicon",
"fix": "Upgrade to macOS 14+; MLX does not support older macOS.",
"id": "os.macos_version",
"observed": "26.6",
"severity": "error",
"status": "pass"
},
{
"command": "python3 -c "import platform; print(platform.machine(), platform.processor())"",
"docs_url": "https://ml-explore.github.io/mlx/build/html/install.html",
"expected": "native arm64 Python, not Rosetta",
"fix": "Install/use a native arm64 Python. If needed, reinstall via Homebrew arm64 or uv.",
"id": "python.native_arm64",
"observed": {
"machine": "arm64",
"processor": "arm"
},
"severity": "error",
"status": "pass"
},
{
"command": null,
"docs_url": "https://ml-explore.github.io/mlx/build/html/install.html",
"expected": "Python >= 3.10",
"fix": "Install Python 3.10 or newer.",
"id": "python.version",
"observed": "3.14.5",
"severity": "error",
"status": "pass"
},
{
"command": "python3 -m pip install mlx",
"docs_url": "https://ml-explore.github.io/mlx/build/html/install.html",
"expected": "mlx importable",
"fix": "Install MLX into this same native Python environment.",
"id": "mlx.import",
"observed": {
"default_device": "Device(gpu, 0)",
"get_active_memory": 0,
"get_peak_memory": 0,
"mlx": "0.31.2",
"mlx_lm": "0.31.3"
},
"severity": "error",
"status": "pass"
},
{
"command": null,
"docs_url": null,
"expected": "estimated peak <= 80% of unified memory; 48 GiB+ recommended",
"fix": "Close other heavy apps or use a smaller model/profile.",
"id": "resource.memory",
"observed": {
"estimated_peak_gib": 35.3,
"unified_memory_gib": 24.0
},
"severity": "error",
"status": "fail"
},
{
"command": null,
"docs_url": null,
"expected": "free space for model + temp download + safety headroom",
"fix": "Free disk space or set MTPLX_MODEL_DIR to a larger volume.",
"id": "resource.model_cache_disk",
"observed": {
"cache_dir": "/Users/sgracey/.mtplx/models",
"free_gib": 244.12,
"required_gib": 38.25
},
"severity": "warning",
"status": "pass"
},
{
"command": "mtplx pull Youssofal/Qwen3.6-27B-MTPLX-Optimized-Speed",
"docs_url": "https://huggingface.co/Youssofal/Qwen3.6-27B-MTPLX-Optimized-Speed",
"expected": "default model available in the HF cache or as the verified local startup model",
"fix": "Download the default model before first run.",
"id": "model.cache",
"observed": {
"hf_cache_exists": false,
"hf_cache_path": "/Users/sgracey/.mtplx/models/Youssofal--Qwen3.6-27B-MTPLX-Optimized-Speed",
"hf_cache_validation": null,
"startup_default_model": null
},
"severity": "warning",
"status": "warn"
},
{
"command": "mtplx pull Youssofal/Qwen3.6-27B-MTPLX-Optimized-Speed",
"docs_url": "https://huggingface.co/Youssofal/Qwen3.6-27B-MTPLX-Optimized-Speed",
"expected": "Youssofal/Qwen3.6-27B-MTPLX-Optimized-Speed",
"fix": "Update DEFAULT_HF_MODEL_ID to the published optimized-speed repo.",
"id": "model.default_repo",
"observed": "Youssofal/Qwen3.6-27B-MTPLX-Optimized-Speed",
"severity": "error",
"status": "pass"
},
{
"command": null,
"docs_url": "https://docs.docker.com/desktop/setup/install/mac-install/",
"expected": "Docker Desktop installed for Open WebUI Docker path",
"fix": "Install Docker Desktop if you want the Open WebUI Docker integration.",
"id": "docker.binary",
"observed": "/usr/local/bin/docker",
"severity": "warning",
"status": "pass"
},
{
"command": null,
"docs_url": null,
"expected": "port free before starting mtplx serve, or already a healthy MTPLX server",
"fix": "Use --port 8001 or stop the existing process.",
"id": "port.mtplx_server",
"observed": {
"host": "127.0.0.1",
"open": true,
"port": 8000
},
"severity": "warning",
"status": "warn"
},
{
"command": null,
"docs_url": null,
"expected": "port free before starting Open WebUI, or already an Open WebUI container",
"fix": "Use a different Open WebUI host port or stop the process on 3000.",
"id": "port.openwebui",
"observed": {
"host": "127.0.0.1",
"open": false,
"port": 3000
},
"severity": "warning",
"status": "pass"
},
{
"command": null,
"docs_url": null,
"expected": "ThermalForge or TG Pro available for explicit --max only",
"fix": "Install ThermalForge only if you want opt-in fan boost.",
"id": "thermal.control",
"observed": {
"kind": "thermalforge",
"path": "/Users/sgracey/.mtplx/bin/thermalforge",
"version": {
"command": [
"/Users/sgracey/.mtplx/bin/thermalforge",
"--version"
],
"ok": true,
"returncode": 0,
"stderr": "",
"stdout": "0.1.0"
}
},
"severity": "warning",
"status": "pass"
},
{
"command": null,
"docs_url": null,
"expected": "Low Power Mode off for best sustained decode",
"fix": "Turn off Low Power Mode before benchmarking or serving long responses.",
"id": "power.low_power_mode",
"observed": {
"available": true,
"lowpowermode": "0",
"powermode": null,
"thermal": "Note: No thermal warning level has been recorded\nNote: No performance warning level has been recorded\nNote: No CPU power status has been recorded",
"thermal_ok": true
},
"severity": "warning",
"status": "pass"
},
{
"command": null,
"docs_url": null,
"expected": "no recorded thermal or performance warning",
"fix": "Let the Mac cool down or improve airflow before sustained benchmarks.",
"id": "power.thermal_pressure",
"observed": "Note: No thermal warning level has been recorded\nNote: No performance warning level has been recorded\nNote: No CPU power status has been recorded",
"severity": "warning",
"status": "pass"
}
],
"created_at": "2026-07-24T08:28:34-0400",
"host": {
"cache_dir": "/Users/sgracey/.mtplx/models",
"chip": "Apple M4",
"disk_free_bytes": 262125871104,
"disk_free_gib": 244.12,
"mac_model": "Mac16,10",
"machine": "arm64",
"macos_version": "26.6",
"memory_bytes": 25769803776,
"memory_gib": 24.0,
"platform": "macOS-26.6-arm64-arm-64bit-Mach-O",
"processor": "arm",
"python_executable": "/Users/sgracey/Library/Application Support/MTPLX/runtime-venv/bin/python",
"python_version": "3.14.5",
"system": "Darwin"
},
"overall": "fail",
"resources": {
"default_model_size_bytes": 16430000000,
"estimated_runtime_memory_bytes": 37904836480,
"required_download_free_bytes": 41075000000
},
"schema_version": 1,
"support_matrix": {
"preview_test_targets": [
"M3 Max",
"M4 Max",
"M3 Ultra / Mac Studio",
"M5 Max developer machine"
],
"supported": {
"default_model": "Youssofal/Qwen3.6-27B-MTPLX-Optimized-Speed",
"default_profile": "sustained",
"docker": "Docker Desktop current plus previous two macOS major releases",
"macos": ">= 14.0",
"platform": "Apple Silicon arm64 Mac",
"python": "native arm64 Python >= 3.10"
}
}
},
"environment": {
"git_branch": "not a git worktree",
"git_status": "not a git worktree",
"hf_path": "/Users/sgracey/Library/Application Support/MTPLX/runtime-venv/bin/hf",
"mlx": {
"default_device": "Device(gpu, 0)",
"get_active_memory": 0,
"get_peak_memory": 0,
"mlx": "0.31.2",
"mlx_lm": "0.31.3"
},
"platform": "macOS-26.6-arm64-arm-64bit-Mach-O",
"project_root": "/Users/sgracey/Library/Application Support/MTPLX/runtime-venv/bin",
"python_executable": "/Users/sgracey/Library/Application Support/MTPLX/runtime-venv/bin/python",
"python_version": "3.14.5 (main, Jun 2 2026, 22:28:56) [Clang 22.1.3 ]",
"uv_path": null
},
"huggingface": {
"cache_dir": "/Users/sgracey/.mtplx/models",
"cache_exists": true,
"cache_writable": true,
"cached_models": 2,
"disk_free_bytes": 262125871104,
"disk_free_gb": 262.126,
"token_present": false,
"token_source": null
},
"policy": {
"benchmark_exactness_smoke_context": 2048,
"fanmax_counts_for_product_gate": false
},
"thermal_control": {
"available": true,
"clock_anchor_enabled": false,
"clock_anchor_policy": "explicit experimental only; never used for product claims",
"instructions": "Install ThermalForge and ensure the thermalforge CLI is on PATH.",
"selected": {
"kind": "thermalforge",
"path": "/Users/sgracey/.mtplx/bin/thermalforge",
"version": {
"command": [
"/Users/sgracey/.mtplx/bin/thermalforge",
"--version"
],
"ok": true,
"returncode": 0,
"stderr": "",
"stdout": "0.1.0"
}
},
"tools": [
{
"kind": "thermalforge",
"path": "/Users/sgracey/.mtplx/bin/thermalforge",
"version": {
"command": [
"/Users/sgracey/.mtplx/bin/thermalforge",
"--version"
],
"ok": true,
"returncode": 0,
"stderr": "",
"stdout": "0.1.0"
}
}
]
},
"tools": {
"powermetrics": "/usr/bin/powermetrics",
"python": "/Users/sgracey/Library/Application Support/MTPLX/runtime-venv/bin/python",
"smc_atlas": null,
"smc_atlas_exists": false,
"sovereign": null,
"sovereign_exists": false,
"sudo": "/usr/bin/sudo"
}
}

Exact command

None

Model path or repo id

Youssofal/Qwen3.6-27B-MTPLX-Optimized-Speed

Chip, RAM, macOS version

M4 Mac mini, 24Gb, Tahoe

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions