- Fix install_mac.sh: use venv + Python 3.12 (3.14 incompatible with ML libs) - Fix run_mac.sh: activate venv, add CPU thread optimization env vars - Fix agent.py: remove f-string from SYSTEM_PROMPT template (NameError on import) - Add missing deps: sounddevice, pydub, imageio-ffmpeg, omegaconf - Optimize for M1: torch.inference_mode, set_num_threads, OMP/MKL tuning - Switch to qwen2.5:3b for faster LLM responses on Mac - Switch Whisper to medium model with auto compute (small+int8 had poor Russian) - Add initial_prompt for better Russian transcription - Add open_app tool for native macOS app launching - Fix TTS: sanitize Latin text to Cyrillic for Silero compatibility - Fix wake word echo: add cooldown after TTS, reset model state, raise threshold - Make "Слушаю" TTS synchronous to avoid mic interference - Fix train Dockerfile: remove tensorflow/onnx2tf (only ONNX needed), fix deps - Fix train.sh: use wget for dataset download, add --shm-size=2g - Add trained hey_cosmo.onnx wake word model - Add TODO section to CLAUDE.md (ChatterBox TTS, Ollama Modelfile ideas) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
62 lines
2.3 KiB
Bash
62 lines
2.3 KiB
Bash
#!/usr/bin/env bash
|
||
set -e
|
||
|
||
echo "============================================"
|
||
echo " Установка Cosmo на macOS"
|
||
echo "============================================"
|
||
|
||
# --- Python ---
|
||
# Предпочитаем Python 3.12 (лучшая совместимость с ML-пакетами)
|
||
PYTHON_BIN=""
|
||
for py in python3.12 python3.11 python3.13 python3; do
|
||
if command -v "$py" &>/dev/null; then
|
||
PYTHON_BIN="$py"
|
||
break
|
||
fi
|
||
done
|
||
|
||
if [ -z "$PYTHON_BIN" ]; then
|
||
echo "ОШИБКА: Python3 не найден."
|
||
echo "Установи через Homebrew: brew install python@3.12"
|
||
exit 1
|
||
fi
|
||
|
||
PYTHON_VERSION=$($PYTHON_BIN -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')")
|
||
echo "Python: $PYTHON_VERSION ($PYTHON_BIN)"
|
||
|
||
# --- Homebrew зависимости ---
|
||
if command -v brew &>/dev/null; then
|
||
echo "[1/5] Устанавливаю системные зависимости через Homebrew..."
|
||
brew install portaudio ffmpeg 2>/dev/null || true
|
||
else
|
||
echo "Homebrew не найден — пропускаю системные зависимости."
|
||
echo "Если будут ошибки с аудио — установи: /bin/bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\""
|
||
fi
|
||
|
||
echo "[2/5] Создаю виртуальное окружение..."
|
||
rm -rf venv
|
||
$PYTHON_BIN -m venv venv
|
||
source venv/bin/activate
|
||
|
||
echo "[3/5] Обновляю pip и устанавливаю зависимости..."
|
||
pip install --upgrade pip
|
||
pip install -r requirements.txt
|
||
|
||
echo "[4/5] Устанавливаю faster-whisper..."
|
||
# На Mac (Apple Silicon) используем CPU compute type
|
||
pip install faster-whisper
|
||
|
||
echo "[5/5] Устанавливаю openwakeword..."
|
||
pip install openwakeword
|
||
python -c "import openwakeword; openwakeword.utils.download_models()" 2>/dev/null || true
|
||
|
||
echo ""
|
||
echo "============================================"
|
||
echo " Установка завершена!"
|
||
echo ""
|
||
echo " Следующие шаги:"
|
||
echo " 1. Установи и запусти Ollama: https://ollama.com"
|
||
echo " 2. Скачай модель: ollama pull qwen2.5:7b"
|
||
echo " 3. Запусти Cosmo: bash run_mac.sh"
|
||
echo "============================================"
|