#!/bin/bash # Install the Qwen-Image-Layered MLX runtime (mflux PR#302 fork, vendored at # our Gitea) into vendor/mflux-qwen-layered + a uv venv. Idempotent. # # Model weights are NOT fetched here. run.py resolves, in order: # $QWEN_LAYERED_MODEL -> ~/qwen-layered/qwen-layered-q8 (m3) # -> ~/qwen-layered-staging/qwen-layered-q8 (m1) # -> HF Qwen/Qwen-Image-Layered with on-the-fly -q8 (54GB download). # Bake a local q8 once per box: .venv/bin/mflux-save \ # --model Qwen/Qwen-Image-Layered --base-model qwen-image-layered \ # --quantize 8 --path ~/qwen-layered/qwen-layered-q8 set -euo pipefail ROOT="$(cd "$(dirname "$0")/.." && pwd)" DEST="$ROOT/vendor/mflux-qwen-layered" REPO="ssh://git@100.71.119.27:222/monster/Qwen-Image-Layered-MRP-MLX.git" if [ ! -d "$DEST/.git" ]; then git clone "$REPO" "$DEST" else echo "already cloned: $DEST" fi cd "$DEST" /opt/homebrew/bin/uv venv .venv --python 3.12 /opt/homebrew/bin/uv pip install -q --python .venv/bin/python -e . .venv/bin/mflux-generate-qwen-layered --help >/dev/null && echo "qwen-layered OK: $DEST"