diff --git a/services/hermes/setup_hermes.sh b/services/hermes/setup_hermes.sh index f124882..b895452 100644 --- a/services/hermes/setup_hermes.sh +++ b/services/hermes/setup_hermes.sh @@ -66,7 +66,7 @@ else # Vollständige Installation wenn noch nicht vorhanden if [[ "${hermes_installed}" == "false" ]]; then - log "Hermes CLI nicht gefunden — installiere in ${PAPERCLIP_CONTAINER} (pip install hermes-agent)..." + log "Hermes CLI nicht gefunden — installiere in ${PAPERCLIP_CONTAINER} (pip install hermes-agent 'anthropic>=0.39.0')..." docker exec -u root "${PAPERCLIP_CONTAINER}" bash -c ' set -e @@ -74,7 +74,7 @@ else apt-get install -y -qq --no-install-recommends python3-pip python3-venv curl git mkdir -p /opt/hermes-venv python3 -m venv /opt/hermes-venv - /opt/hermes-venv/bin/pip install --no-cache-dir hermes-agent + /opt/hermes-venv/bin/pip install --no-cache-dir hermes-agent "anthropic>=0.39.0" openai mistralai ln -sf /opt/hermes-venv/bin/hermes /usr/local/bin/hermes chmod -R a+rx /opt/hermes-venv rm -rf /var/lib/apt/lists/* @@ -84,6 +84,16 @@ else log "Hermes CLI ist bereits in ${PAPERCLIP_CONTAINER} installiert." fi + # Prüfe ob Provider-Pakete (insbesondere anthropic) im Venv vorhanden sind + if ! docker exec "${PAPERCLIP_CONTAINER}" /opt/hermes-venv/bin/python3 -c "import anthropic" >/dev/null 2>&1; then + log "Installiere fehlende Provider-Pakete in hermes-venv (anthropic>=0.39.0, openai, mistralai)..." + docker exec -u root "${PAPERCLIP_CONTAINER}" bash -c ' + /opt/hermes-venv/bin/pip install --no-cache-dir "anthropic>=0.39.0" openai mistralai + chmod -R a+rx /opt/hermes-venv + ' + log "Provider-Pakete erfolgreich nachinstalliert!" + fi + # ------------------------------------------------------------------------- # 3. Hermes Konfiguration & Keys für PaperClip User (node) vorbereiten # ------------------------------------------------------------------------- @@ -94,19 +104,19 @@ else chown -R node:node /home/node/.hermes ' - # API Keys in ~/.hermes/.env schreiben, damit hermes sie immer findet - if [[ -n "${OPENROUTER_API_KEY}" ]]; then - docker exec -u root "${PAPERCLIP_CONTAINER}" bash -c "cat > /home/node/.hermes/.env <&1 || true + docker exec -u node "${PAPERCLIP_CONTAINER}" /opt/hermes-venv/bin/python3 -c "import anthropic; print('anthropic package ok')" 2>&1 || true fi # -----------------------------------------------------------------------------