80 lines
3.9 KiB
Markdown
80 lines
3.9 KiB
Markdown
# Client-unabhängiger Werkzeugstandard
|
|
|
|
## Ziel
|
|
|
|
Eine Aufgabe darf nicht nur deshalb scheitern, weil sie in Hermes oder Pi statt
|
|
in OpenWebUI gestellt wurde. OpenWebUI-Filter sind eine Komfort- und
|
|
Kontextoptimierung, aber niemals die eigentliche Berechtigungs- oder
|
|
Fähigkeitsschicht.
|
|
|
|
## Kernfähigkeiten für jeden vertrauenswürdigen VPN-Client
|
|
|
|
| Fähigkeit | MCP-Endpunkt | Zweck |
|
|
|---|---|---|
|
|
| Breiter Operator | `http://192.168.1.212:8202/mcp` | Terminal, Dateien, Docker, Git, Downloads, Konvertierung, APIs und SSH zu konfigurierten Systemen |
|
|
| Allgemeines Web | `http://192.168.1.212:8203/mcp` | Site-unabhängige Suche und Seitenabruf |
|
|
| Plattformwissen | `http://192.168.1.212:8201/mcp` | Aufbau, Ist-Zustand, Quellen und Änderungsablauf von Athena |
|
|
|
|
Diese drei Server bilden das tragfähige Minimum. Fach-MCPs wie Home Assistant,
|
|
MUA, ARR, Navidrome und GitHub ergänzen kurze strukturierte Operationen. Sie
|
|
sind der bevorzugte Weg, aber keine Voraussetzung: Fehlt eine Spezialfunktion,
|
|
bleiben allgemeines Web und Operator verfügbar.
|
|
|
|
## Client-Verhalten
|
|
|
|
- **OpenWebUI:** Native Websuche bleibt grundsätzlich verfügbar. Der Auto Tool
|
|
Selector hängt Fach-MCPs und den Operator anhand allgemeiner
|
|
Fähigkeitsklassen an. Allgemeine Hostarbeit wird anhand von Ausführungs- oder
|
|
Änderungsabsicht plus Host-, Datei-, Kommando- oder Dienstkontext erkannt;
|
|
nicht anhand einzelner Programme oder Websites.
|
|
- **Hermes:** Die drei Kernendpunkte werden in `~/.hermes/config.yaml`
|
|
eingetragen. Hermes verbindet sie beim Start, ruft MCP `tools/list` auf und
|
|
stellt die entdeckten Werkzeuge in jedem Gespräch bereit. Vorlage:
|
|
`config/hermes-mcp-core.yaml.example`.
|
|
- **Pi und weitere MCP-Clients:** Dieselben Streamable-HTTP-Endpunkte direkt
|
|
konfigurieren. Es ist kein OpenWebUI-Filter und kein zusätzlicher Proxy
|
|
erforderlich.
|
|
|
|
## Verbindliche Sicherheitsgrenze
|
|
|
|
Toolbeschreibungen und Systemprompts helfen dem Modell bei der Wahl, sind aber
|
|
keine Sicherheitsgrenze. Unverzichtbare Verbote, Ausgabelimits,
|
|
Schreibabläufe und Schutz vor dem Verlust der Remote-Erreichbarkeit werden im
|
|
MCP beziehungsweise im Athena-Operator-Dienst erzwungen. Dadurch gelten sie
|
|
identisch für OpenWebUI, Hermes, Pi und zukünftige Clients.
|
|
|
|
## Lange operative Aufgaben
|
|
|
|
Lange Arbeiten verwenden clientunabhängig das Muster
|
|
`Start -> kompakter Status -> Ergebnis/Verifikation`. Recherche wird vor der
|
|
Mutation abgeschlossen; Hilfsmittel werden gebündelt vorbereitet und lange
|
|
Kommandos asynchron gestartet, wenn ein synchroner Werkzeugaufruf in ein
|
|
Zeitlimit laufen könnte. OpenWebUI gewährt dieser allgemeinen Aufgabenklasse
|
|
ein höheres, aber weiterhin endliches Ausführungsbudget: 64 Aufrufe insgesamt
|
|
und 24 je Werkzeug. Normale Recherche bleibt bei 40 beziehungsweise 12. Das
|
|
ist keine Sonderregel für YouTube, ffmpeg, MUA oder einen bestimmten Server.
|
|
|
|
## Lebensdauer von Hilfsprogrammen
|
|
|
|
Die Absicht des Benutzers bestimmt die Lebensdauer einer Abhängigkeit:
|
|
|
|
- **nutzen, ausführen, testen, ausprobieren:** zuerst ein vorhandenes Programm
|
|
verwenden; fehlt es, nur eine auftragsbezogene Kopie unter `/tmp` oder im
|
|
temporären Arbeitsbereich ablegen und nach der Verifikation entfernen;
|
|
- **installieren, einrichten, dauerhaft bereitstellen:** reproduzierbar und
|
|
persistent über die versionierte Plattformkonfiguration installieren;
|
|
- **unklare Formulierung:** flüchtig bleiben und im Ergebnis offen angeben,
|
|
was temporär verwendet wurde.
|
|
|
|
Diese Regel gilt für alle Clients und Zielsysteme. Sie ist nicht auf FFmpeg,
|
|
Downloads oder Unraid beschränkt.
|
|
|
|
## Community-Bezug
|
|
|
|
Das folgt dem MCP-Modell: Ein Client verbindet einen vertrauenswürdigen
|
|
Streamable-HTTP-Server und entdeckt dessen Werkzeuge über `tools/list`.
|
|
Hermes registriert konfigurierte HTTP-MCPs beim Start als normale Werkzeuge;
|
|
OpenWebUI registriert Remote-MCPs global und kann sie pro Anfrage über
|
|
`tool_ids` aktivieren. Clientseitige Auswahl optimiert Kontext und Bedienung,
|
|
serverseitige Regeln bleiben maßgeblich.
|