Guide bounded evidence-first diagnostics
This commit is contained in:
@@ -71,6 +71,17 @@ failure. For public information make at most one focused fallback attempt with
|
||||
the general web tool, then synthesize the available evidence or stop clearly.
|
||||
Never enter a fallback or synonym-search loop.
|
||||
|
||||
For open-ended technical diagnosis, use a bounded evidence ladder rather than
|
||||
a broad inventory. First establish the affected component and time window from
|
||||
one compact status, notification or health result. Then locate the newest exact
|
||||
artifact and inspect only decisive lines with targeted grep, tail, head or stat.
|
||||
Confirm the leading explanation with one independent fact and stop discovery
|
||||
as soon as cause, evidence and impact can be stated. Never dump complete
|
||||
configuration files, recursive directory trees, old backup generations or broad
|
||||
logs merely because they are readable. Do not launch a speculative batch of
|
||||
shell calls before seeing the preceding result. Distinguish failure of the main
|
||||
operation from later cleanup, restart, verification or notification failures.
|
||||
|
||||
Before designing, installing or migrating a backend, query the versioned
|
||||
external-service catalog and then the listed specialist tool. Existing services
|
||||
on Unraid or elsewhere in the home network are dependencies to integrate, not
|
||||
|
||||
@@ -245,6 +245,8 @@ class AutoToolSelectorTests(unittest.IsolatedAsyncioTestCase):
|
||||
result["tool_ids"], ["server:mcp:mua-readonly-local"]
|
||||
)
|
||||
self.assertNotIn("server:mcp:mua", result["tool_ids"])
|
||||
self.assertIn("bounded evidence ladder", result["messages"][0]["content"])
|
||||
self.assertIn("Do not dump complete configuration files", result["messages"][0]["content"])
|
||||
|
||||
async def test_explicit_unraid_update_gets_read_and_management_tools(self):
|
||||
result = await self._select(
|
||||
|
||||
+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 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 |
|
||||
| Unraid/MUA | MUA r023+ auf dem HomeServer, direkter MCP-Endpunkt | read-only Automatik; serverseitig begrenzte Diagnoseausgaben; 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 |
|
||||
|
||||
@@ -205,7 +205,16 @@ 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.6 kennzeichnet allgemeine lange Operator-Aufgaben
|
||||
Ab MUA r023 begrenzt `unraid_system_shell_readonly` seine Ausgabe bereits auf
|
||||
dem Unraid-Server standardmäßig auf 12.000 Zeichen; pro Aufruf sind explizit
|
||||
1.000 bis 30.000 Zeichen möglich. Auto Tool Selector 4.7 ergänzt für offene
|
||||
Diagnosen eine allgemeine Beweiskette: kompakten Status oder Benachrichtigung
|
||||
prüfen, das neueste exakte Artefakt lokalisieren, nur entscheidende Zeilen
|
||||
lesen, die führende Ursache mit einem unabhängigen Fakt bestätigen und dann
|
||||
antworten. Vollständige Konfigurationen, rekursive Verzeichnisbäume und breite
|
||||
historische Logs sind kein zulässiger Standardweg.
|
||||
|
||||
Auto Tool Selector 4.7 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
|
||||
|
||||
@@ -65,10 +65,20 @@ benötigte deshalb kleinere, klarere Werkzeuge und harte Abbruchgrenzen.
|
||||
inventarisiert auskommentierte YAML-Blöcke in einem Aufruf; MUA durchsucht
|
||||
Community Applications mit mehreren Namensvarianten in einem Feed-Durchlauf
|
||||
und filtert Containerlogs mit mehreren `focus_terms` in einem Aufruf.
|
||||
10. Offene technische Diagnosen folgen unabhängig vom konkreten Plugin einer
|
||||
begrenzten Beweiskette: betroffene Komponente und Zeitfenster aus einem
|
||||
kompakten Status bestimmen, das jüngste exakte Artefakt finden, nur
|
||||
entscheidende Zeilen lesen und die führende Ursache mit einem zweiten Fakt
|
||||
bestätigen. MUA r023 begrenzt die Nur-Lese-Shell dafür bereits serverseitig
|
||||
auf standardmäßig 12.000 Zeichen. Auto Tool Selector 4.7 untersagt als
|
||||
Standard vollständige Konfigurationsausgaben, rekursive Verzeichnisbäume
|
||||
und spekulative Shell-Batches. Auslöser war ein realer Appdata-Backup-Test:
|
||||
Die notwendigen Belege waren vorhanden, wurden jedoch durch eine breite
|
||||
Konfigurations- und Verzeichnisinventur verdrängt.
|
||||
|
||||
## Abnahme
|
||||
|
||||
- OpenWebUI-Filtertests: 36
|
||||
- OpenWebUI-Filtertests: 43
|
||||
- Web-MCP-Tests: 9
|
||||
- Athena-Operator-Tests: 13
|
||||
- Platform-Context-Test: bestanden
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
title: MikeAI Auto Tool Selector
|
||||
author: MikeAI
|
||||
version: 4.6.0
|
||||
version: 4.7.0
|
||||
description: Keeps broad web access available and adds relevant portable MCP domains without acting as a gate.
|
||||
"""
|
||||
|
||||
@@ -222,7 +222,18 @@ class Filter:
|
||||
)
|
||||
elif "unraid" in selected:
|
||||
rule += (
|
||||
" For bounded file or media-library inventory on Unraid, prefer "
|
||||
" For Unraid diagnosis, follow a bounded evidence ladder: (1) establish "
|
||||
"the affected component and time window from one compact status or "
|
||||
"notification call; (2) locate the newest exact log or state artifact; "
|
||||
"(3) inspect only decisive lines with grep, tail, head, or stat; (4) test "
|
||||
"the leading cause with one independent targeted fact; then stop discovery "
|
||||
"and answer. Do not dump complete configuration files, recursive directory "
|
||||
"trees, historical backup directories, or broad logs merely because they "
|
||||
"are readable. Do not issue a large speculative batch of shell calls: use "
|
||||
"the result of each narrowing step to choose the next one. A successful "
|
||||
"overall job marker does not erase component-level errors; distinguish the "
|
||||
"primary operation from cleanup, restart, or verification failures. "
|
||||
"For bounded file or media-library inventory on Unraid, prefer "
|
||||
"unraid_files_inventory over repeated ls/find shell calls. The "
|
||||
"inventory tool can first locate matching collection directories; "
|
||||
"then call it once more on the exact returned relative_path with an "
|
||||
|
||||
Reference in New Issue
Block a user