fix: Install anthropic package in hermes-venv
PaperClip Hermes agent requires anthropic>=0.39.0 package to communicate with Anthropic models. Also copies all keys from shared.env into hermes .env.
This commit is contained in:
1 parent
ddf678fb9c
commit
47bfdfbd49
1 file changed
+20
-10
@@ -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 <<EOF
|
||||
OPENROUTER_API_KEY=${OPENROUTER_API_KEY}
|
||||
EOF
|
||||
chown node:node /home/node/.hermes/.env
|
||||
chmod 600 /home/node/.hermes/.env
|
||||
"
|
||||
# Alle API Keys aus shared.env in ~/.hermes/.env kopieren
|
||||
if [[ -f "${SHARED_ENV}" ]]; then
|
||||
docker cp "${SHARED_ENV}" "${PAPERCLIP_CONTAINER}:/home/node/.hermes/.env"
|
||||
docker exec -u root "${PAPERCLIP_CONTAINER}" bash -c '
|
||||
chown node:node /home/node/.hermes/.env
|
||||
chmod 600 /home/node/.hermes/.env
|
||||
'
|
||||
fi
|
||||
|
||||
# Verifikation im Container
|
||||
log "Verifiziere Hermes im PaperClip-Container:"
|
||||
docker exec -u node "${PAPERCLIP_CONTAINER}" hermes --version 2>&1 || true
|
||||
docker exec -u node "${PAPERCLIP_CONTAINER}" /opt/hermes-venv/bin/python3 -c "import anthropic; print('anthropic package ok')" 2>&1 || true
|
||||
fi
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
Reference in new issue
Block a user