Auftragsbuch: 'wartung/betriebs-luecken' angenommen (Ein-Klick-Gate)
This commit is contained in:
@@ -34,6 +34,14 @@ mkdir -p "$STAGE/mem0" "$STAGE/hermes" "$STAGE/llama-swap"
|
|||||||
[ -f "$HERMES/.env" ] && cp -a "$HERMES/.env" "$STAGE/hermes/" || true
|
[ -f "$HERMES/.env" ] && cp -a "$HERMES/.env" "$STAGE/hermes/" || true
|
||||||
[ -d "$HERMES/plugins" ] && cp -a "$HERMES/plugins" "$STAGE/hermes/plugins" || true
|
[ -d "$HERMES/plugins" ] && cp -a "$HERMES/plugins" "$STAGE/hermes/plugins" || true
|
||||||
[ -f "$LSWAP" ] && cp -a "$LSWAP" "$STAGE/llama-swap/" || true
|
[ -f "$LSWAP" ] && cp -a "$LSWAP" "$STAGE/llama-swap/" || true
|
||||||
|
# Hermes-Desktop-/Gate-Infrastruktur (09.07.2026) — ohne sie verliert ein Restore die
|
||||||
|
# Desktop-Verbindung und die pre_verify-Gates STILL (config.yaml referenziert die Hooks):
|
||||||
|
[ -d "$HERMES/agent-hooks" ] && cp -a "$HERMES/agent-hooks" "$STAGE/hermes/agent-hooks" || true
|
||||||
|
[ -f "$HERMES/shell-hooks-allowlist.json" ] && cp -a "$HERMES/shell-hooks-allowlist.json" "$STAGE/hermes/" || true
|
||||||
|
[ -f "$HERMES/desktop-gateway-token" ] && cp -a "$HERMES/desktop-gateway-token" "$STAGE/hermes/" || true
|
||||||
|
[ -f "$HERMES/pc-paths.yaml" ] && cp -a "$HERMES/pc-paths.yaml" "$STAGE/hermes/" || true
|
||||||
|
_TOKDROPIN="$HOME/.config/systemd/user/hermes-builtin-ui.service.d/session-token.conf"
|
||||||
|
[ -f "$_TOKDROPIN" ] && { mkdir -p "$STAGE/hermes/systemd-dropins"; cp -a "$_TOKDROPIN" "$STAGE/hermes/systemd-dropins/"; } || true
|
||||||
|
|
||||||
# --- Known-Good-Manifest -----------------------------------------------------
|
# --- Known-Good-Manifest -----------------------------------------------------
|
||||||
# Versions-Schnappschuss des LAUFENDEN Stacks: pip freeze je venv, Engine-Build,
|
# Versions-Schnappschuss des LAUFENDEN Stacks: pip freeze je venv, Engine-Build,
|
||||||
|
|||||||
+4
-1
@@ -123,7 +123,10 @@ systemctl --user enable mem0-service >/dev/null 2>&1 || true
|
|||||||
systemctl --user enable voice-service >/dev/null 2>&1 || true
|
systemctl --user enable voice-service >/dev/null 2>&1 || true
|
||||||
systemctl --user enable hermes-builtin-ui >/dev/null 2>&1 || true
|
systemctl --user enable hermes-builtin-ui >/dev/null 2>&1 || true
|
||||||
systemctl --user enable --now mc2-backup.timer >/dev/null 2>&1 || true
|
systemctl --user enable --now mc2-backup.timer >/dev/null 2>&1 || true
|
||||||
systemctl --user enable --now mc2-autoupdate.timer >/dev/null 2>&1 || true
|
# mc2-autoupdate.timer wird BEWUSST NICHT enabled (User-Entscheid 04.07.2026: Updates nur
|
||||||
|
# bestätigt). Die frühere enable-Zeile hier hat den Entscheid bei jedem Deploy still
|
||||||
|
# rückgängig gemacht (aufgefallen 09.07. nach der Annahme-Kaskade). Wer Auto-Updates will:
|
||||||
|
# einmalig manuell `systemctl --user enable --now mc2-autoupdate.timer`.
|
||||||
systemctl --user enable --now mc2-selfsmoke.timer >/dev/null 2>&1 || true
|
systemctl --user enable --now mc2-selfsmoke.timer >/dev/null 2>&1 || true
|
||||||
loginctl enable-linger "$USER" >/dev/null 2>&1 || true
|
loginctl enable-linger "$USER" >/dev/null 2>&1 || true
|
||||||
# Mem0-Sidecar VOR dem Backend (re)starten, damit /api/memory sofort bedient wird.
|
# Mem0-Sidecar VOR dem Backend (re)starten, damit /api/memory sofort bedient wird.
|
||||||
|
|||||||
@@ -124,6 +124,12 @@ if [ -d "$STAGE/mem0" ]; then rm -rf "$MEM0_DIR"; mkdir -p "$MEM0_DIR"; cp -a "$
|
|||||||
[ -f "$STAGE/hermes/.env" ] && cp -a "$STAGE/hermes/.env" "$HERMES/"
|
[ -f "$STAGE/hermes/.env" ] && cp -a "$STAGE/hermes/.env" "$HERMES/"
|
||||||
[ -d "$STAGE/hermes/plugins" ] && { mkdir -p "$HERMES/plugins"; cp -a "$STAGE/hermes/plugins/." "$HERMES/plugins/"; }
|
[ -d "$STAGE/hermes/plugins" ] && { mkdir -p "$HERMES/plugins"; cp -a "$STAGE/hermes/plugins/." "$HERMES/plugins/"; }
|
||||||
[ -f "$STAGE/llama-swap/config.yaml" ] && cp -a "$STAGE/llama-swap/config.yaml" "$LSWAP" 2>/dev/null || true
|
[ -f "$STAGE/llama-swap/config.yaml" ] && cp -a "$STAGE/llama-swap/config.yaml" "$LSWAP" 2>/dev/null || true
|
||||||
|
# Hermes-Desktop-/Gate-Infrastruktur (Gegenstück zu backup.sh, 09.07.2026):
|
||||||
|
[ -d "$STAGE/hermes/agent-hooks" ] && { mkdir -p "$HERMES/agent-hooks"; cp -a "$STAGE/hermes/agent-hooks/." "$HERMES/agent-hooks/"; chmod +x "$HERMES/agent-hooks/"*.sh 2>/dev/null || true; }
|
||||||
|
[ -f "$STAGE/hermes/shell-hooks-allowlist.json" ] && cp -a "$STAGE/hermes/shell-hooks-allowlist.json" "$HERMES/"
|
||||||
|
[ -f "$STAGE/hermes/desktop-gateway-token" ] && { cp -a "$STAGE/hermes/desktop-gateway-token" "$HERMES/"; chmod 600 "$HERMES/desktop-gateway-token"; }
|
||||||
|
[ -f "$STAGE/hermes/pc-paths.yaml" ] && cp -a "$STAGE/hermes/pc-paths.yaml" "$HERMES/"
|
||||||
|
[ -f "$STAGE/hermes/systemd-dropins/session-token.conf" ] && { mkdir -p "$HOME/.config/systemd/user/hermes-builtin-ui.service.d"; cp -a "$STAGE/hermes/systemd-dropins/session-token.conf" "$HOME/.config/systemd/user/hermes-builtin-ui.service.d/"; chmod 600 "$HOME/.config/systemd/user/hermes-builtin-ui.service.d/session-token.conf"; systemctl --user daemon-reload 2>/dev/null || true; }
|
||||||
|
|
||||||
echo "→ Dienste starten…"
|
echo "→ Dienste starten…"
|
||||||
systemctl --user start $SERVICES 2>/dev/null || true
|
systemctl --user start $SERVICES 2>/dev/null || true
|
||||||
|
|||||||
@@ -53,6 +53,17 @@ if [ -n "$API_KEY" ]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# ── 2b) Desktop-Gateway: hermes-builtin-ui antwortet ────────────────────────
|
||||||
|
# Seit dem Hermes-Desktop-Umzug (09.07.2026) hängt die Desktop-App an :9119
|
||||||
|
# (via MC2-Proxy /hermes-ui/). Stirbt der Dienst, ist die Arbeits-Oberfläche
|
||||||
|
# am PC tot — das muss der Selbst-Test melden, nicht erst der User.
|
||||||
|
if curl -sf -m 10 "http://127.0.0.1:9119/api/status" | grep -q '"gateway_running"'; then
|
||||||
|
say "PASS · Desktop-Gateway (:9119 /api/status)"
|
||||||
|
else
|
||||||
|
say "FAIL · Desktop-Gateway: :9119/api/status antwortet nicht (hermes-builtin-ui prüfen)"
|
||||||
|
FAILED+=("Desktop-Gateway (hermes-builtin-ui :9119)")
|
||||||
|
fi
|
||||||
|
|
||||||
# ── 3) Voice: Lucys Sprech-Stream ────────────────────────────────────────────
|
# ── 3) Voice: Lucys Sprech-Stream ────────────────────────────────────────────
|
||||||
# Retry: der erste Turn nach Idle zahlt evtl. den Session-Kaltstart (Prefill).
|
# Retry: der erste Turn nach Idle zahlt evtl. den Session-Kaltstart (Prefill).
|
||||||
# Subshell OHNE pipefail — head -c schließt die Pipe früh (curl endet mit 23/SIGPIPE),
|
# Subshell OHNE pipefail — head -c schließt die Pipe früh (curl endet mit 23/SIGPIPE),
|
||||||
|
|||||||
Reference in New Issue
Block a user