fix(tools): harden OpenWebUI tool workflows

This commit is contained in:
Mikei386 committed 2026-08-24 00:40:32 +02:00
1 parent bfb990a4fd
commit e24839bfe1
24 files changed
+505 -100

No files matched your search

+18 -15
View File
@@ -16,7 +16,7 @@ Prompts heraus, verhindert den früher beobachteten Kontextverbrauch von über
| `mcp-homeassistant` | `http://mike-ai-mcp-homeassistant:8000/mcp` | Relay zum nativen HA-MCP; Token bleibt serverseitig | Profil `homeassistant` |
| `mcp-arr` | `http://mike-ai-mcp-arr:8000/mcp` | Sonarr/Radarr/Prowlarr mit serverseitiger Policy | Profil `arr` |
| `mcp-navidrome` | `http://mike-ai-mcp-navidrome:3000/mcp` | Navidrome-Bibliothek, Suche, Playlists, Favoriten und Hörverlauf | Profil `navidrome` |
| `mcp-github` | `http://mike-ai-mcp-github:8000/mcp` | offizieller GitHub-MCP, auf vier reine Repository-Lesewerkzeuge begrenzt | Profil `github` |
| `mcp-github` | `http://mike-ai-mcp-github:8000/mcp` | offizieller GitHub-MCP, auf drei kleine Repository-Lesewerkzeuge begrenzt | Profil `github` |
| `mcp-unraid-ssh` | `http://mike-ai-mcp-unraid-ssh:8000/mcp` | erweiterte Diagnose über einen erzwungenen SSH-Befehl | optional (`extended`) |
Unraid wird produktiv ausschließlich über das auf dem HomeServer laufende
@@ -67,11 +67,11 @@ Container-Neustart vollständig verworfen.
TinySearch und SearXNG sind interne Abhängigkeiten des Web-MCPs und werden
nicht direkt als allgemeine Werkzeuge angeboten.
Die fünf Open-WebUI-Profile Fast, Medium, Large, Ultra und Uncensored binden den Server als
`server:mcp:web-local` standardmäßig ein. Damit steht die begrenzte lokale
Websuche in jedem neuen Chat zur Verfügung, ohne zusätzlich Open WebUIs
separate eingebaute Websuche zu aktivieren. Das Modell entscheidet weiterhin,
ob eine aktuelle Frage tatsächlich einen Werkzeugaufruf benötigt.
Die fünf Open-WebUI-Profile Fast, Medium, Large, Ultra und Uncensored verwenden
für allgemeine öffentliche Recherche Open WebUIs native Werkzeuge `search_web`
und `fetch_url`. Der Server `server:mcp:web-local` bleibt als manuell
zuschaltbarer Spezialkatalog für gezielte YouTube- und Hugging-Face-Abfragen
erhalten. Er wird nicht mehr automatisch an öffentliche Fragen gebunden.
Ein gemeinsamer Systemhinweis der fünf Profile verlangt Webprüfung bei
aktuellen, veränderlichen oder wesentlich unsicheren Tatsachen. Stabiles
@@ -89,7 +89,7 @@ passenden Server wählen:
| Aufgabe | Werkzeugserver | Nicht zusätzlich verwenden |
|---|---|---|
| Aktuelle öffentliche Informationen, Quellen, Hugging Face, Produkte | Web | HA, ARR, Unraid |
| GitHub-Repository finden, Baum/README/Quellcode/API-Routen lesen | GitHub Repository | Web, HA, ARR |
| GitHub-Repository finden, README/Quellcode/API-Routen gezielt lesen | GitHub Repository | Web, HA, ARR |
| Entitäten, Zustände, Historie, Automationen und Dashboards | Home Assistant | Web, Unraid |
| Serien, Filme, fehlende Episoden und Indexer-Releases | Sonarr und Radarr | Web |
| Persönliche Musikbibliothek, Titel, Alben, Künstler und Playlists | Navidrome | Web, ARR |
@@ -120,12 +120,13 @@ oder ein anderes Werkzeug benötigt wird.
sudo platform/mcp/install-tools.sh
```
Der Grundstart enthält nur Websuche. Bereits konfigurierte Fachbereiche werden
explizit ergänzt:
Der Grundstart enthält Plattformwissen, den kontrollierten Athena Operator und
den Web-Spezialadapter. Bereits konfigurierte Fachbereiche werden explizit
ergänzt:
Das Skript erkennt vorhandene Secret-Dateien und aktiviert dadurch automatisch
`homeassistant`, `arr` und `unraid`. Ohne Fach-Secrets startet nur der sichere
Webbereich.
`homeassistant`, `arr` und `unraid`. Ohne Fach-Secrets bleiben nur die drei
secretfreien Grunddienste aktiv.
Für den derzeit migrierten Container kann der Name `Open-WebUI` lauten. Der
Netzwerkbefehl ist idempotent zu behandeln.
@@ -210,8 +211,10 @@ Server fällt dann irreführend auf die interaktive GitHub-Geräteanmeldung
zurück. Der Token bleibt dabei eine Umgebungsvariable und erscheint weder in
Kommandozeile noch Image, Log oder Open-WebUI-Konfiguration.
Dem Modell werden ausschließlich `search_repositories`, `get_repository_tree`,
`get_file_contents` und `search_code` angeboten. Der offizielle Server wird
Dem Modell werden ausschließlich `search_repositories`, `get_file_contents`
und `search_code` angeboten. Rekursive Komplettbäume wurden entfernt, nachdem
ein einzelner Aufruf mehr als 100.000 Zeichen erzeugte und die Antwort
verdrängte. Der offizielle Server wird
zusätzlich explizit mit `--read-only` gestartet; die Umgebungsvariablen im
Compose-Stack bleiben als zweite, deklarative Sicherung erhalten. Damit sind
Schreiboperationen auch serverseitig ausgeschlossen. Der Container
@@ -227,7 +230,7 @@ sudo platform/openwebui/install-filters.sh
```
Der Token muss eigens für Athena erzeugt werden und ausschließlich lesenden
Zugriff auf die tatsächlich benötigten Repositories erhalten. Die vier
Zugriff auf die tatsächlich benötigten Repositories erhalten. Die drei
begrenzten Werkzeuge werden bei vorhandener Secret-Datei an die fünf
MikeAI-Profile geheftet. Dadurch kann das Modell Repositoryfragen selbständig
prüfen, ohne den großen GitHub-Standardwerkzeugkatalog in den Kontext zu laden.
@@ -235,7 +238,7 @@ prüfen, ohne den großen GitHub-Standardwerkzeugkatalog in den Kontext zu laden
## Client-Auswahl
Große Fachwerkzeuge werden nicht pauschal an jedes Modell gehängt. Nur die
kompakte Websuche und die vier GitHub-Lesewerkzeuge sind allgemein verfügbar.
native OpenWebUI-Websuche und die drei GitHub-Lesewerkzeuge sind allgemein verfügbar.
Für Home-Assistant-Fragen wird HA ausgewählt, für Medien ARR und für die NAS
Unraid. Weitere Werkzeuge werden nur aktiviert, wenn die Aufgabe tatsächlich
mehrere Bereiche verbindet.