feat: default task dependencies to temporary
This commit is contained in:
@@ -52,6 +52,14 @@ still requires current-state inspection, bounded output, verification, versioned
|
||||
source and recovery documentation. Preserve unrelated user changes and dirty
|
||||
worktrees.
|
||||
|
||||
Treat dependencies as transient by default. If the user asks to use, run, test
|
||||
or try a program, first use an existing executable. If it is unavailable,
|
||||
obtain only a task-local copy under `/tmp` or the tool's temporary workspace,
|
||||
use it for the current request, verify the result and remove it afterwards.
|
||||
Install packages, services, containers or configuration persistently only when
|
||||
the current request explicitly asks to install, set up or keep them permanently.
|
||||
When persistence intent is ambiguous, choose the transient path and report it.
|
||||
|
||||
For GitHub implementation details, README files, source trees, API routes and
|
||||
code search, use the official read-only GitHub Repository MCP. Use general web
|
||||
search for broader public research. Avoid repeated synonymous tool calls and
|
||||
|
||||
@@ -307,6 +307,8 @@ class AutoToolSelectorTests(unittest.IsolatedAsyncioTestCase):
|
||||
self.assertIn("direct MUA management or shell tool", result["messages"][0]["content"])
|
||||
self.assertIn("Do not ask the user to enable another tool", result["messages"][0]["content"])
|
||||
self.assertIn("start-status-result pattern", result["messages"][0]["content"])
|
||||
self.assertIn("transient-by-default dependency handling", result["messages"][0]["content"])
|
||||
self.assertIn("task-local copy under /tmp", result["messages"][0]["content"])
|
||||
self.assertTrue(result["metadata"]["mikeai_long_operator_task"])
|
||||
|
||||
async def test_generic_remote_host_file_operation_gets_operator(self):
|
||||
|
||||
@@ -54,6 +54,21 @@ 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
|
||||
|
||||
@@ -205,7 +205,7 @@ 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
|
||||
Auto Tool Selector 4.6 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
|
||||
@@ -254,7 +254,7 @@ 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
|
||||
Auto Tool Selector 4.6 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""
|
||||
title: MikeAI Auto Tool Selector
|
||||
author: MikeAI
|
||||
version: 4.5.0
|
||||
version: 4.6.0
|
||||
description: Keeps broad web access available and adds relevant portable MCP domains without acting as a gate.
|
||||
"""
|
||||
|
||||
@@ -169,7 +169,14 @@ class Filter:
|
||||
"A missing, disabled or failed specialist tool is not evidence that a service "
|
||||
"does not exist. Use an available broad capability such as native web search or "
|
||||
"the Athena Operator terminal when it can answer the unresolved question. Never "
|
||||
"duplicate an existing backend; integrate or relay it and report any remaining gap."
|
||||
"duplicate an existing backend; integrate or relay it and report any remaining gap. "
|
||||
"Apply transient-by-default dependency handling: when the user asks to use, run, "
|
||||
"test or try a program, first use an existing executable; if it is missing, obtain "
|
||||
"only a task-local copy under /tmp (or the target tool's temporary workspace), use "
|
||||
"it for this request and remove it after verification. Persist packages, services, "
|
||||
"containers or configuration only when the current request explicitly says install, "
|
||||
"set up, configure permanently or otherwise clearly requests persistence. If the "
|
||||
"wording is ambiguous, keep the dependency transient and state what was done."
|
||||
)
|
||||
if "unraid" in selected and "unraid_admin" in selected and "operator" in selected:
|
||||
rule += (
|
||||
|
||||
Reference in New Issue
Block a user