#!/usr/bin/env bash set -euo pipefail # Load .env into the environment (skip comments and blank lines) if [ -f .env ]; then while IFS= read -r line; do line="${line%%#*}" # strip inline comments line="$(echo "$line" | xargs)" # trim whitespace [ -z "$line" ] && continue case "$line" in *=*) ;; *) continue ;; esac key="${line%%=*}" val="${line#*=}" val="${val%\"}" val="${val#\"}" export "$key=$val" done < .env fi if [ -z "${MIMO_API_KEY:-}" ]; then echo "Error: MIMO_API_KEY is not set. Copy .env.example to .env and add your Xiaomi MiMo API key." >&2 exit 1 fi HOST="${HOST:-127.0.0.1}" PORT="${PORT:-8787}" # Prefer python3, fall back to python if command -v python3 >/dev/null 2>&1; then PYTHON=python3 elif command -v python >/dev/null 2>&1; then PYTHON=python else echo "Error: Python 3.11 or newer was not found. Install Python, then run this script again." >&2 exit 1 fi exec "$PYTHON" -m uvicorn mimo_gateway:app --host "$HOST" --port "$PORT"