#!/bin/bash # MiMo V2.5 ASR — Hermes Agent Plugin Setup # 用法: bash setup.sh [--uninstall] set -euo pipefail HERMES_HOME="${HERMES_HOME:-$HOME/.hermes}" PLUGIN_DIR="$HERMES_HOME/plugins/stt/mimo" SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" GREEN='\033[0;32m'; YELLOW='\033[1;33m'; RED='\033[0;31m'; NC='\033[0m' ok() { echo -e "${GREEN}✓${NC} $*"; } warn() { echo -e "${YELLOW}⚠${NC} $*"; } fail() { echo -e "${RED}✗${NC} $*" >&2; } # ── Uninstall ────────────────────────────────────────────────────── if [[ "${1:-}" == "--uninstall" ]]; then echo "Uninstalling MiMo ASR plugin..." command -v hermes &>/dev/null && hermes plugins disable stt/mimo 2>/dev/null || true rm -rf "$PLUGIN_DIR" rm -f "$HOME/xiaomi-asr.py" "$HOME/xiaomi-asr.sh" ok "Done. Restart Hermes session (/reset) to take effect." exit 0 fi # ── Install ──────────────────────────────────────────────────────── echo "Installing MiMo V2.5 ASR plugin for Hermes Agent..." # 1. Pre-flight checks [[ -d "$HERMES_HOME" ]] || { fail "Hermes not found at $HERMES_HOME"; exit 1; } if [[ -f "$HERMES_HOME/.env" ]]; then grep -q "^XIAOMI_API_KEY=" "$HERMES_HOME/.env" 2>/dev/null \ && ok "XIAOMI_API_KEY found" \ || warn "XIAOMI_API_KEY missing in $HERMES_HOME/.env" else warn ".env not found — add XIAOMI_API_KEY before using ASR" fi # 2. Install plugin mkdir -p "$PLUGIN_DIR" cp "$SCRIPT_DIR/plugin.yaml" "$PLUGIN_DIR/plugin.yaml" cp "$SCRIPT_DIR/__init__.py" "$PLUGIN_DIR/__init__.py" cp "$SCRIPT_DIR/provider.py" "$PLUGIN_DIR/provider.py" ok "Plugin installed → $PLUGIN_DIR" # 3. Copy standalone scripts cp "$SCRIPT_DIR/xiaomi-asr.py" "$HOME/xiaomi-asr.py" chmod +x "$HOME/xiaomi-asr.py" cp "$SCRIPT_DIR/xiaomi-asr.sh" "$HOME/xiaomi-asr.sh" chmod +x "$HOME/xiaomi-asr.sh" ok "Standalone scripts → $HOME/xiaomi-asr.{py,sh}" # 4. Enable in Hermes if command -v hermes &>/dev/null; then hermes plugins enable stt/mimo 2>/dev/null && ok "Enabled in Hermes" \ || warn "Run manually: hermes plugins enable stt/mimo" else warn "hermes not in PATH — run: hermes plugins enable stt/mimo" fi # 5. Done echo "" echo "── Next steps ──────────────────────────────────────" echo " hermes config set stt.provider mimo-asr" echo " hermes config set stt.providers.mimo-asr.type plugin" echo "" echo " Or use command mode (standalone script):" echo " hermes config set stt.providers.mimo-asr.type command" echo " hermes config set stt.providers.mimo-asr.command \"python \$HOME/xiaomi-asr.py {input_path} {output_path} mimo-v2.5-asr {language}\"" echo "" echo " /reset # restart session" echo "────────────────────────────────────────────────────"