self-smoke/postcheck: Browser-Tool-Check + Selbstheilung (agent-browser-Link-Falle, Vorfall 16.07.)

Hermes' browser_navigate starb still als "Failed to open <url>": das
Hermes-Update 15.07. 23:53 (npm ci --workspace) bog ~/.local/bin/agent-browser
per postinstall auf node_modules/ um und loeschte das Paket im selben Lauf
wieder -> toter Symlink. Kein fehlender MCP/Skill.

Neu, damit die Box das OHNE Zuruf erkennt und heilt:
- self-smoke.sh Check 6: agent-browser --version; bei totem Link auf das
  npm-global-Binary (~/.local/lib/node_modules/...) zurueckbiegen und
  hermes-gateway/hermes-builtin-ui try-restarten (browser_tool cached
  "nicht installiert" pro Prozess). Selbstheilung wird als Info gemeldet
  (neuer HEALED-Kanal), nicht als Alarm; unfixbar -> Rot wie gehabt.
- hermes-postcheck.sh: gleicher Check direkt nach jedem Hermes-Update,
  denn genau dort entsteht der Bruch.

Heil-Logik isoliert auf der Box getestet (Fake-HOME + systemctl-Stub):
toter Link -> geheilt+Restart; danach PASS ohne Restart; Binary weg -> FAIL.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-07-16 11:38:15 +02:00
parent 0890698750
commit 31fde2a68e
2 changed files with 56 additions and 0 deletions
+19
View File
@@ -86,6 +86,25 @@ else
echo "FAIL · Voice-Smoke: /api/voice/chat streamt nicht (3 Versuche)"; fail=1
fi
# --- Browser-Tool: agent-browser überlebt das Update? (Vorfall 15./16.07.2026: das ---
# --- npm ci des Updates bog ~/.local/bin/agent-browser per postinstall auf ---
# --- node_modules/ um und löschte das Paket im selben Lauf → toter Link, jedes ---
# --- „Website öffnen" starb still als „Failed to open".) Heilung direkt hier, denn ---
# --- genau NACH einem Update entsteht der Bruch; try-restart räumt den ---
# --- „nicht installiert"-Cache, den browser_tool pro Prozess hält. ---
export XDG_RUNTIME_DIR="${XDG_RUNTIME_DIR:-/run/user/$(id -u)}"
AB_LINK="$HOME/.local/bin/agent-browser"
AB_GOOD="$HOME/.local/lib/node_modules/agent-browser/bin/agent-browser-linux-x64"
if "$AB_LINK" --version >/dev/null 2>&1; then
echo "PASS · Browser-Tool (agent-browser erreichbar)"
elif [ -x "$AB_GOOD" ] && "$AB_GOOD" --version >/dev/null 2>&1 \
&& ln -sfn "$AB_GOOD" "$AB_LINK" && "$AB_LINK" --version >/dev/null 2>&1; then
systemctl --user try-restart hermes-gateway hermes-builtin-ui >/dev/null 2>&1 || true
echo "GEHEILT · Browser-Tool: toter agent-browser-Link nach Update neu gesetzt (Dienste neu gestartet)"
else
echo "FAIL · Browser-Tool: agent-browser nicht lauffähig (npm install -g agent-browser && agent-browser install --with-deps)"; fail=1
fi
if [ "$fail" -eq 0 ]; then
echo "=== GEHIRN OK ✓ ==="
else