feat: standardize long-running tool workflows
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
# 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.
|
||||
|
||||
## 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.
|
||||
+1
-1
@@ -16,7 +16,7 @@
|
||||
| Platform Context MCP | Athena-/MikeAI-Wissen, begrenzter Laufzeitsnapshot und kontrollierte Dokumentationspflege | eigener Container ohne Docker-Socket, Shell, Egress oder Secrets | Kern |
|
||||
| Athena Operator MCP | Entwicklung und vollständiger Betrieb der KI-Plattform | strukturierte Operationen plus breites, begrenztes Terminal; Erreichbarkeitsänderungen blockiert | Kern |
|
||||
| Operator-Kontext | `docs/QWEN_OPERATOR_CONTEXT.md` plus `config/operator-system-prompt.txt` | versionierte Selbstbeschreibung und Sicherheitsregeln für Qwen | Kern |
|
||||
| Unraid/MUA | MUA r020+ auf dem HomeServer, direkter MCP-Endpunkt | read-only Automatik; begrenzte Datei-/Medieninventare; Verwaltung bei explizitem Änderungsauftrag; idempotente Batch-Updates | Kern |
|
||||
| Unraid/MUA | MUA r022+ auf dem HomeServer, direkter MCP-Endpunkt | read-only Automatik; begrenzte Datei-/Medieninventare; Verwaltung bei explizitem Änderungsauftrag; idempotente Batch-Updates; asynchrone Jobs mit Start/Status/Aufräumen für lange Arbeiten | Kern |
|
||||
| Whisper | ggml-org/whisper.cpp | Service im Router-Deploy | optional |
|
||||
| XTTS-v2 | Coqui, offizielles CUDA-12.1-Image per Digest | RTX-3060-Container, Stimme `Annmarie Nele`, CPML | Kern |
|
||||
| TTS-Gateway | `platform/docker/tts-gateway/` | interne Queue, stabile deutsche Satzblöcke, automatische Erkennung rein englischer Texte und Piper-Fallback | Kern |
|
||||
|
||||
@@ -197,6 +197,21 @@ aktiviert er zusätzlich die native Websuche. Der Ablauf steht in
|
||||
`docs/UNRAID_MEDIA_AUDIT_WORKFLOW.md`. Der frühere GraphQL-basierte Unraid-MCP wurde
|
||||
entfernt und gehört weder zum Start noch zum Recovery.
|
||||
|
||||
Ab MUA r022 stehen für lange, explizit autorisierte Arbeiten zusätzlich
|
||||
`unraid_system_job_start`, `unraid_system_job_status` und
|
||||
`unraid_system_job_cleanup` bereit. Der Start kehrt sofort mit einer Job-ID
|
||||
zurück; Statusabfragen liefern nur kompakte, redigierte Ausgaben. Damit blockiert
|
||||
ein Download, Transcode oder vergleichbarer Auftrag weder Open WebUI noch Hermes
|
||||
oder Pi bis zum Prozessende. Die drei Werkzeuge erben dieselbe ausdrücklich
|
||||
erteilte Berechtigung wie die uneingeschränkte Shell.
|
||||
|
||||
Auto Tool Selector 4.5 kennzeichnet allgemeine lange Operator-Aufgaben
|
||||
produktunabhängig. Der OpenWebUI-Agentenloop stellt dafür bis zu 64
|
||||
Werkzeugausführungen insgesamt und 24 je Werkzeug bereit; normale Aufgaben
|
||||
bleiben bei 40/12. Zusätzlich verlangt der Systemhinweis das generische
|
||||
Start-Status-Ergebnis-Muster und reserviert den Abschluss für Verifikation,
|
||||
Zielablage und Aufräumen.
|
||||
|
||||
Der GitHub-Container läuft produktiv. Token-Datei, interner
|
||||
Streamable-HTTP-Handshake, fehlende Host-Portfreigabe und exakt drei
|
||||
read-only Werkzeuge wurden am 24. August 2026 verifiziert.
|
||||
@@ -204,14 +219,15 @@ Die Transportbrücke verwendet den OpenWebUI-kompatiblen `mcp-proxy` 0.12.0 im
|
||||
stateless Betrieb. Supergateway wurde nach reproduzierbaren HTTP-400-Fehlern
|
||||
bei `notifications/initialized` aus diesem Pfad entfernt.
|
||||
|
||||
Die agentische OpenWebUI-Schleife führt höchstens 40 einzelne Werkzeuge aus,
|
||||
höchstens zwölf Aufrufe desselben Werkzeugnamens und höchstens zweimal exakt
|
||||
dieselbe Signatur. Nach Ende des Budgets stehen zusätzliche interne Runden ausschließlich
|
||||
für eine sichtbare werkzeugfreie Schlussantwort bereit. Das produktive
|
||||
OpenWebUI-Derivat trägt den Tag
|
||||
`mike-ai/openwebui:main-01f4282-agent-loop-v8`.
|
||||
Die agentische OpenWebUI-Schleife führt bei normalen Aufgaben höchstens 40
|
||||
einzelne Werkzeuge und höchstens zwölf Aufrufe desselben Werkzeugnamens aus.
|
||||
Allgemeine lange Operator-Aufgaben erhalten 64 beziehungsweise 24. Exakt
|
||||
dieselbe Signatur bleibt stets auf zwei Wiederholungen begrenzt. Nach Ende des
|
||||
Budgets stehen zusätzliche interne Runden ausschließlich für eine sichtbare
|
||||
werkzeugfreie Schlussantwort bereit. Das produktive OpenWebUI-Derivat trägt
|
||||
den Tag `mike-ai/openwebui:main-01f4282-agent-loop-v9`.
|
||||
|
||||
Das in V8 enthaltene Verhalten aus V7 begrenzt zusätzlich die
|
||||
Das in V9 enthaltene Verhalten aus V8 begrenzt zusätzlich die
|
||||
Werkzeugantworten in OpenWebUIs internen Fortsetzungsrunden auf 12.000 Zeichen
|
||||
je Ergebnis und 64.000 Zeichen pro Antwortlauf. Damit greift die Begrenzung
|
||||
auch bei Ergebnissen, die erst nach dem ersten Request entstehen.
|
||||
@@ -238,6 +254,22 @@ Angebote und sortierte Notebook, Zubehör sowie ein Ersatzteilgerät aus. Das
|
||||
belegt sowohl die technische Grenze als auch eine brauchbare Synthese; ein
|
||||
eBay-spezifischer MCP war nicht erforderlich.
|
||||
|
||||
Auto Tool Selector 4.5 erkennt zusätzlich allgemeine operative Arbeit über
|
||||
Fähigkeitsklassen: Eine ausdrückliche Ausführungs- oder Änderungsabsicht in
|
||||
Verbindung mit Host, Dateisystem, Kommando, Dienst, Pfad oder typischen
|
||||
Kommandozeilenwerkzeugen stellt den Athena Operator bereit. Dadurch benötigen
|
||||
neue Programme wie Download- oder Medienwerkzeuge keine eigene Selector-Regel.
|
||||
Bei Unraid-Arbeit werden MUA für kompakte Bestandsaufnahme und der Operator für
|
||||
die ausdrücklich verlangte allgemeine Schreibarbeit gemeinsam angeboten.
|
||||
Lange Operator-Aufgaben werden dabei produktunabhängig markiert und folgen dem
|
||||
Start-Status-Ergebnis-Muster, damit Recherche und Vorbereitung nicht das
|
||||
Budget für Ausführung, Verifikation und Aufräumen verbrauchen.
|
||||
|
||||
Für andere Clients gilt `docs/CLIENT_TOOL_STANDARD.md`. Hermes lädt die drei
|
||||
Kern-MCPs Web, Operator und Plattformwissen direkt per Streamable HTTP; die
|
||||
Vorlage liegt unter `config/hermes-mcp-core.yaml.example`. Damit hängt die
|
||||
Fähigkeit nicht vom OpenWebUI-Filter ab.
|
||||
|
||||
Der Platform Context MCP läuft ohne Docker-Socket, Shell, Egress oder Secrets.
|
||||
Ein root-eigener Minutentimer erzeugt nur einen begrenzten Laufzeitsnapshot.
|
||||
Der Schreibpfad ist auf `docs/*.md`, Vorschau, ausdrückliche Freigabe, atomare
|
||||
|
||||
@@ -31,6 +31,13 @@ bereit und hängt anhand der Anfrage passende Fachkataloge an. Er verweigert
|
||||
keine Fähigkeit und erfordert keine Site-spezifischen Regeln. Alle zentralen
|
||||
MCPs sind über feste WireGuard-Ports auch für Hermes und Pi erreichbar.
|
||||
|
||||
Der verbindliche client-unabhängige Mindeststandard ist in
|
||||
`docs/CLIENT_TOOL_STANDARD.md` festgelegt: allgemeines Web, Athena Operator und
|
||||
Plattformwissen werden in jedem vertrauenswürdigen VPN-Client konfiguriert.
|
||||
OpenWebUI darf diese Grundfähigkeiten zur Kontextoptimierung automatisch
|
||||
auswählen; Hermes und Pi entdecken sie direkt über die MCP-Endpunkte. Die
|
||||
Sicherheitsgrenze liegt immer serverseitig und hängt nicht von einem Filter ab.
|
||||
|
||||
Marketplace-Recherche bleibt ebenfalls allgemein: Der Selector erkennt
|
||||
Kauf-, Angebots-, Preis- und Versandsuchen unabhängig von einer einzelnen
|
||||
Website. Qwen beginnt mit einer fokussierten Suche, nutzt höchstens zwei
|
||||
|
||||
Reference in New Issue
Block a user