#!/usr/bin/env bash # Download the BF16 MiMo-V2.6-Distill-Qwen-9B payload for frank-dragoon # (vLLM/kyuz0 gfx1151, Strix Halo iGPU). Public repo — no auth header on the # command line (a Bearer token in argv is world-readable via /proc). # # Per-file FRESH downloads, no resume: the house rule (see # download-frank-zealot.sh); -f/--fail-with-body plus size+sha256 against the # Hub LFS oid is what makes an access error fail instead of "succeeding". # # Usage: # scripts/download-frank-dragoon-mimo.sh [DEST_DIR] [--verify-only] # # The verified set below is exactly what the 2026-10-01 bench window served: # 17.53 GiB of BF16 weights (4 shards, 18,819,720,848 B total with the rest). set -euo pipefail REPO="XiaomiMiMo/MiMo-V2.6-Distill-Qwen-9B" BASE="https://huggingface.co/${REPO}/resolve/main" DEST="" VERIFY_ONLY=0 for arg in "$@"; do case "$arg" in --verify-only) VERIFY_ONLY=1 ;; *) DEST="$arg" ;; esac done DEST="${DEST:-/home/dank/models/MiMo-V2.6-Distill-Qwen-9B-BF16}" # name bytes sha256(- = non-LFS, size-only check) FILES=( "model-00001-of-00004.safetensors 5276436216 aab052180118aee34abc3029b54eaa49096aac606b97d703866b420dceb703c3" "model-00002-of-00004.safetensors 5033171280 7a0486565f06d25ac4628e9dba470dc3f604353471d240d5a0bf7128f64df396" "model-00003-of-00004.safetensors 5234499504 6c73207563d1879bfd6c143a028cc70be68edff56280458c71a43df4240300f4" "model-00004-of-00004.safetensors 3275613848 1379a7cf8c0b8555a39ab65a47e830e0eb45e776b46045734da3afd73c09eea2" "model.safetensors.index.json 69217 -" "config.json 2784 -" "generation_config.json 126 -" "chat_template.jinja 3916 -" "tokenizer.json 19989325 06b9509352d2af50381ab2247e083b80d32d5c0aba91c272ca9ff729b6a0e523" "tokenizer_config.json 1165 -" "vocab.json 6722759 -" "merges.txt 3353259 -" "preprocessor_config.json 443 -" "processor_config.json 1191 -" "video_preprocessor_config.json 385 -" ) mkdir -p "$DEST" status=0 for entry in "${FILES[@]}"; do read -r name size sha <<<"$entry" f="$DEST/$name" have=0 if [[ -f "$f" ]] && [[ "$(stat -c%s "$f")" == "$size" ]]; then if [[ "$sha" == "-" ]] || sha256sum -c --quiet <(printf '%s %s\n' "$sha" "$f"); then have=1 fi fi if (( have )); then echo "OK $name" continue fi if (( VERIFY_ONLY )); then echo "MISSING $name" status=1 continue fi echo "FETCHING $name" tmp="$f.part" curl -fsSL --fail-with-body -o "$tmp" "$BASE/$name" mv "$tmp" "$f" if [[ "$(stat -c%s "$f")" != "$size" ]]; then echo "SIZE FAIL $name ($(stat -c%s "$f") != $size)" status=1 continue fi if [[ "$sha" != "-" ]] && ! sha256sum -c --quiet <(printf '%s %s\n' "$sha" "$f"); then echo "SHA FAIL $name" status=1 continue fi echo "VERIFIED $name" done if (( status == 0 )); then echo "DOWNLOAD_DONE $DEST" else echo "DOWNLOAD_FAILED $DEST" >&2 fi exit "$status"