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.
|
the general web tool, then synthesize the available evidence or stop clearly.
|
||||||
Never enter a fallback or synonym-search loop.
|
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
|
Before designing, installing or migrating a backend, query the versioned
|
||||||
external-service catalog and then the listed specialist tool. Existing services
|
external-service catalog and then the listed specialist tool. Existing services
|
||||||
on Unraid or elsewhere in the home network are dependencies to integrate, not
|
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"]
|
result["tool_ids"], ["server:mcp:mua-readonly-local"]
|
||||||
)
|
)
|
||||||
self.assertNotIn("server:mcp:mua", result["tool_ids"])
|
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):
|
async def test_explicit_unraid_update_gets_read_and_management_tools(self):
|
||||||
result = await self._select(
|
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 |
|
| 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 |
|
| 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 |
|
| 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 |
|
| 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 |
|
| 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 |
|
| 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
|
oder Pi bis zum Prozessende. Die drei Werkzeuge erben dieselbe ausdrücklich
|
||||||
erteilte Berechtigung wie die uneingeschränkte Shell.
|
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
|
produktunabhängig. Der OpenWebUI-Agentenloop stellt dafür bis zu 64
|
||||||
Werkzeugausführungen insgesamt und 24 je Werkzeug bereit; normale Aufgaben
|
Werkzeugausführungen insgesamt und 24 je Werkzeug bereit; normale Aufgaben
|
||||||
bleiben bei 40/12. Zusätzlich verlangt der Systemhinweis das generische
|
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
|
inventarisiert auskommentierte YAML-Blöcke in einem Aufruf; MUA durchsucht
|
||||||
Community Applications mit mehreren Namensvarianten in einem Feed-Durchlauf
|
Community Applications mit mehreren Namensvarianten in einem Feed-Durchlauf
|
||||||
und filtert Containerlogs mit mehreren `focus_terms` in einem Aufruf.
|
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
|
## Abnahme
|
||||||
|
|
||||||
- OpenWebUI-Filtertests: 36
|
- OpenWebUI-Filtertests: 43
|
||||||
- Web-MCP-Tests: 9
|
- Web-MCP-Tests: 9
|
||||||
- Athena-Operator-Tests: 13
|
- Athena-Operator-Tests: 13
|
||||||
- Platform-Context-Test: bestanden
|
- Platform-Context-Test: bestanden
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
"""
|
"""
|
||||||
title: MikeAI Auto Tool Selector
|
title: MikeAI Auto Tool Selector
|
||||||
author: MikeAI
|
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.
|
description: Keeps broad web access available and adds relevant portable MCP domains without acting as a gate.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@@ -222,6 +222,17 @@ class Filter:
|
|||||||
)
|
)
|
||||||
elif "unraid" in selected:
|
elif "unraid" in selected:
|
||||||
rule += (
|
rule += (
|
||||||
|
" 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 "
|
"For bounded file or media-library inventory on Unraid, prefer "
|
||||||
"unraid_files_inventory over repeated ls/find shell calls. The "
|
"unraid_files_inventory over repeated ls/find shell calls. The "
|
||||||
"inventory tool can first locate matching collection directories; "
|
"inventory tool can first locate matching collection directories; "
|
||||||
|
|||||||
Reference in New Issue
Block a user