#!/usr/bin/env bash # update-mem0-venv.sh — Idempotentes Update des mem0-venv # Aufruf: ./update-mem0-venv.sh # 1. Backup des aktuellen Venvs (nach ~/.mem0/venv-backup-YYYYMMDDHHMMSS) # 2. pip install --upgrade pip chromadb # 3. Kleiner Smoke-Test (Python-Import, einfache Chroma-Client-Initialisierung) set -euo pipefail MEM0_VENV="/home/hitonabi/.mem0/venv" BACKUP_DIR="${MEM0_VENV}-backup-$(date +%Y%m%d%H%M%S)" echo "=== mem0 venv update ===" # Venv existiert? if [[ ! -d "${MEM0_VENV}" ]]; then echo "FATAL: Venv ${MEM0_VENV} nicht gefunden." exit 1 fi # 1. Backup erstellen (symlinks erhalten, nur die notwendigen Dateien kopieren) echo "Backup erstellen: ${BACKUP_DIR} ..." cp -al "${MEM0_VENV}" "${BACKUP_DIR}" echo "Backup abgeschlossen." # 2. pip/chromadb aktualisieren echo "pip/chromadb aktualisieren..." "${MEM0_VENV}/bin/python" -m pip install --upgrade pip "chromadb>=1.6.0" # 3. Smoke-Test (einfacher Import + Client-Start) echo "Smoke-Test..." "${MEM0_VENV}/bin/python" -c " import chromadb client = chromadb.Client() print('ChromaDB Client erfolgreich initialisiert.') client.close() " echo "Update abgeschlossen. Backup löschen mit: rm -rf '${BACKUP_DIR}'"