Fast-Path-Plugin raus, offizielle quick_commands rein (funktioniert auch in der TUI)

Root Cause fuers "geht trotzdem ans LLM": unser fast-paths-Plugin war auf
pre_gateway_dispatch registriert -- der Hook feuert laut Sourcecode nur fuer
die Gateway-Plattformen (Telegram/Discord/...), nicht fuer die TUI
(tui_gateway/server.py), die komplett am Gateway-Dispatcher vorbei direkt in
den Agent-Loop laeuft. Ein Patch an tui_gateway/server.py waere noetig
gewesen, aber Concurrency-kritischer Kern-Code -- zu riskant.

Hermes hat dafuer schon einen eigenen Mechanismus: quick_commands (type:
exec) bypassen den Agent-Loop nachweislich auf JEDER Plattform inkl. TUI,
kein LLM-Call, keine Tokens, offiziell dokumentiert. Trade-off: fester
Slash-Befehl statt Freitext (/next statt "naechstes Lied") -- gleiches
Prinzip wie Alexas Intent-Slots, ohne Slot-Fuellung.

scripts/spotify_quick.py buendelt next/previous/pause/play/volume_up/
volume_down/current in einem Skript (ein Argument pro Aktion), nutzt
denselben SpotifyClient wie der echte Tool-Dispatch. docker-compose.yml
mountet scripts/ jetzt read-only nach /opt/data/scripts statt fast-paths/
nach /opt/data/plugins/fast-paths.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
ARIA
2026-07-20 16:48:55 +00:00
co-authored by Claude Sonnet 5
parent 9ea72886dd
commit 6a989d55e4
9 changed files with 199 additions and 723 deletions
+6 -11
View File
@@ -220,17 +220,12 @@ services:
# Start einmalig hierher kopiert (siehe README) und dann von Hermes
# NICHT mehr angefasst (nur geseedet wenn's fehlt).
- ./hermes-data/agent-home:/opt/data
# Unser eigener Fast-Path-Layer (siehe fast-paths/README.md): faengt
# einfache Steuerbefehle wie "pause"/"naechstes Lied" per Regex VOR dem
# LLM-Aufruf ab. Wird als Hermes-USER-Plugin unter $HERMES_HOME/plugins/
# erwartet ($HERMES_HOME=/opt/data, siehe ENV oben) -- ein verschachtelter
# Bind-Mount UEBER dem agent-home-Mount oben, versioniert in unserem
# eigenen Git-Repo statt im gitignorten hermes-data/. Read-only, damit
# Hermes (oder ein kompromittierter Plugin-Code) den Code hier nie
# veraendern kann. MUSS zusaetzlich in config.yaml unter
# "plugins: enabled: [fast-paths]" eingetragen werden (siehe README) --
# Plugins sind bei Hermes standardmaessig opt-in.
- ./fast-paths:/opt/data/plugins/fast-paths:ro
# scripts/ (Spotify-Quick-Steuerung etc.) READ-ONLY in den Container,
# damit `quick_commands` in config.yaml (siehe README, Abschnitt
# "Fast-Path ohne LLM") sie unter einem festen Pfad aufrufen koennen,
# ohne jedes Mal manuell `docker cp` machen zu muessen. Versioniert in
# unserem eigenen Git-Repo statt im gitignorten hermes-data/.
- ./scripts:/opt/data/scripts:ro
environment:
- HERMES_UID=${HERMES_UID:-10000}
- HERMES_GID=${HERMES_GID:-10000}