name: chatto-plugin-update description: "Use when the local Chatto plugin repo must catch up to its remote and the changes must go live in the running Hermes gateway." version: 1.0.0 author: Hermes Agent license: MIT metadata: hermes:
tags: [chatto, plugin, update, git, gateway]
Das lokale Chatto-Plugin-Repo auf den Remote-Stand bringen (git fetch/pull) und die neuen Commits im laufenden Hermes Gateway aktivieren (Neustart). Repo: ~/.hermes/plugins/chatto-platform/, Remote ssh://gogs.netdome.biz:10022/paul/hermes-chatto-plugin.git.
Remote-Status PRÜFEN, nie behaupten:
git -C ~/.hermes/plugins/chatto-platform fetch --all
git -C ~/.hermes/plugins/chatto-platform status -sb
git -C ~/.hermes/plugins/chatto-platform branch -avv
Erst fetchen, dann Sync-Status (ahead/behind) reporten. Aussagen wie "synchron" nur NACH einem fetch — der lokale status -sb ohne fetch zeigt ahead/behind nur gegen den zuletzt bekannten Remote-Stand. Aktueller Branch: git branch --show-current.
git pull (Fast-forward). Bei Divergenz: mit dem User abklären, NICHT automatisch mergen/rebasen.bash
git log <alter_stand>..<neuer_stand> # oneline
git log <alter_stand>..<neuer_stand> --stat # Datei-Umfang
Commits haben ausführliche Messages — daraus eine nutzerverständliche Zusammenfassung machen: WAS ändert sich für den Bot-Nutzer, nicht Implementierungsdetails. Für jede Änderung eine Quelle angeben (Commit-Hash).Gateway-Neustart ANBIETEN (nie selbst ausführen): Plugin-Code-Änderungen werden erst nach einem Neustart des Hermes-Gateways aktiv — die laufende Session hält das alte Modul im Speicher.
/restart als Chat-Nachricht (Gateway-Slash-Command, "Restart gateway after draining active runs"). User tippt es direkt im Channel/DM. IMMER zuerst diesen Weg nennen.hermes gateway restart oder systemctl restart hermes-gateway.service.at, systemd-run, Aliase/Wrapper), weil der Restart die eigene Session killt. Nicht umgehen versuchen; keine Restart-Skripte/Aliase bauen, wenn /restart genügt.Nach dem Neustart verifizieren: Plugin-Tools live testen (chatto_list_rooms via tool_call), im Log prüfen, dass der Adapter sauber lädt.
git fetch treffen — ohne fetch ist der lokale Status wertlos./dev/null-Referenzen (z.B. beim Sourcen der ~/.bashrc im Terminal) — Änderungen an Shell-Dateien stattdessen über Datei-Tools (search_files/patch) verifizieren.