Werkzeugverwaltung
Überblick
Werkzeuge sind die „Hände und Füße", mit denen der Agent Aktionen ausführt. Das System stellt 19 integrierte Werkzeuge bereit und unterstützt die Erweiterung des Werkzeugsatzes über das MCP-Protokoll, OpenAPI-Definitionen und Skills. Die Seite zur Werkzeugverwaltung dient zum Konfigurieren und Verwalten aller verfügbaren Werkzeuge.

19 integrierte Werkzeuge
Dateioperationen (7 Werkzeuge)
| Werkzeug | Funktion | Sicherheitsstufe |
|---|---|---|
| Read File | Liest Dateiinhalte, unterstützt Zeilenbereiche, Obergrenze 5 MB | P0 (automatische Ausführung) |
| Write File | Schreibt Dateien, erstellt bei Nichtvorhandensein automatisch inklusive übergeordneter Verzeichnisse | P0 |
| Edit | Nimmt lokale Änderungen an einer vorhandenen Datei vor (Such-und-Ersetzen-Modus) | P0 |
| MultiEdit | Nimmt mehrere Batch-Änderungen an einer vorhandenen Datei vor | P0 |
| List Directory | Listet Dateien und Unterverzeichnisse eines Verzeichnisses auf, zeigt Dateigrößen an | P0 (gesperrt) |
| Glob Files | Sucht Dateien nach Platzhaltermuster, maximal 100 Ergebnisse | P0 (gesperrt) |
| Search Files | Sucht per Regex in Dateiinhalten, maximal 250 Ergebnisse | P0 (gesperrt) |
Befehlsausführung (1 Werkzeug)
| Werkzeug | Funktion | Sicherheitsstufe |
|---|---|---|
| Bash | Führt Shell-Befehle, Skripte und Git-Operationen aus, Timeout 120 Sekunden, Ausgabe-Obergrenze 50 KB | P1 (Bestätigung beim ersten Mal) |
Netzwerk (1 Werkzeug)
| Werkzeug | Funktion | Sicherheitsstufe |
|---|---|---|
| Web Fetch | Ruft URL-Inhalte ab und wandelt sie in Markdown um, automatische Rauschunterdrückung, 15 Minuten Cache | P1 |
Aufgabenverwaltung (1 Werkzeug)
| Werkzeug | Funktion | Sicherheitsstufe |
|---|---|---|
| Task Manage | Verwaltet strukturierte Aufgabenlisten (offen/in Bearbeitung/abgeschlossen), wird bei Aufgaben mit mehr als 3 Schritten automatisch aufgerufen | P0 (gesperrt) |
Skill-Aufruf (1 Werkzeug)
| Werkzeug | Funktion | Sicherheitsstufe |
|---|---|---|
| Skill | Ruft ein installiertes Skill-Modul zur Ausführung einer spezialisierten Aufgabe auf | P1 |
Benutzerinteraktion (1 Werkzeug)
| Werkzeug | Funktion | Sicherheitsstufe |
|---|---|---|
| AskUserQuestion | Der Agent stellt dem Benutzer eine Frage (maximal 4 Fragen, jeweils 2–10 Optionen) | P0 (gesperrt) |
Subagenten (3 Werkzeuge)
| Werkzeug | Funktion | Sicherheitsstufe |
|---|---|---|
| create_local_sub_agent | Erstellt einen temporären Subagenten auf diesem Knoten, unterstützt 1–3 Verschachtelungsebenen | P0 |
| dispatch_sub_agent | Delegiert eine Aufgabe an einen bereits registrierten Subagenten | P0 |
| dispatch_multi_node_agent | Delegiert eine Aufgabe über das Gateway an einen entfernten Knoten | P0 |
Gedächtnis (4 Werkzeuge)
| Werkzeug | Funktion | Sicherheitsstufe |
|---|---|---|
| Conversation Search | Sucht per Stichwort in bisherigen Konversationen, unterstützt Zeitraumfilter, maximal 10 Ergebnisse | P0 (gesperrt) |
| Recent Chats | Listet die letzten 1–20 Konversationssitzungen auf, unterstützt Zeitfilter | P0 (gesperrt) |
| Memory Query | Durchsucht gespeicherte Benutzererinnerungen (semantische Suche + Graph-Erweiterung) | P0 (gesperrt) |
| Memory Manage | Fügt Benutzererinnerungen hinzu, aktualisiert oder löscht sie | P1 |
Erläuterung der Sicherheitsstufen
| Stufe | Bedeutung | Verhalten |
|---|---|---|
| P0 | Sichere Operation | Automatische Ausführung, keine Bestätigung durch den Benutzer erforderlich |
| P1 | Bestätigung erforderlich | Beim ersten Aufruf erscheint eine Berechtigungsbestätigung |
| P2 | Jedes Mal bestätigen | Jeder Aufruf erfordert eine Bestätigung durch den Benutzer |
| gesperrt | Nicht herabstufbar | Die Sicherheitsstufe ist fest und nicht anpassbar |
Administratoren können in den Sicherheits-Leitplanken die Berechtigungsstufe nicht gesperrter Werkzeuge anpassen (organisationsweite Untergrenze), und einzelne Benutzer können sie zur Laufzeit in der App-Sicherheit weiter verschärfen.
MCP-Werkzeugprotokoll
MCP (Model Context Protocol) ist ein standardisiertes Kommunikationsprotokoll für KI-Werkzeuge, das die Erweiterung des Werkzeugsatzes über externe Dienste unterstützt.
Drei Übertragungsarten
| Übertragung | Beschreibung | Anwendungsfall |
|---|---|---|
| stdio | Lokale Subprozess-Kommunikation (command + args) | Lokale CLI-Werkzeuge |
| SSE | Server-Sent Events (HTTP-Langverbindung) | Entfernte Dienste |
| HTTP | Streamable HTTP API | Entfernte Dienste |
Fünf Authentifizierungsmodi
| Authentifizierung | Beschreibung |
|---|---|
| none | Keine Authentifizierung |
| bearer | Bearer Token |
| basic | HTTP Basic Auth |
| service | Dienst-zu-Dienst-Authentifizierung |
| oauth2 | OAuth2-Authorization-Code-Flow (automatische Erkennung des well-known-Endpunkts) |
MCP-Verwaltungsoberfläche
MCP-Server werden über die Komponente McpManager verwaltet:
- Server hinzufügen: Konfiguration von Name, Übertragungsart, Verbindungsparametern und Authentifizierungsmethode
- Bearbeiten/Löschen: Bestehende Konfigurationen ändern oder entfernen
- Aktivieren/Deaktivieren: Verfügbarkeitsstatus des Servers umschalten
- Werkzeugerkennung: Nach dem Verbinden werden die vom Server bereitgestellten Werkzeuge automatisch erkannt
Sicherheitsisolierung
Der MCP-Subprozess übergibt nur Umgebungsvariablen von der Whitelist, um das Durchsickern sensibler Informationen wie API-Keys zu verhindern.
API-Werkzeuge
Unterstützt das automatische Parsen und Erstellen von Werkzeugen aus OpenAPI/Swagger-Dokumenten:
| Funktion | Beschreibung |
|---|---|
| Automatisches Parsen | Extrahiert Endpunkte und Parameter-Schemas aus der OpenAPI-Spezifikation |
| Authentifizierungskonfiguration | Fünf Authentifizierungsmodi |
| Template-Variablen | Dynamische Ersetzung mit {{variable}} |
| HTTP-Methoden | GET / POST / PUT / DELETE / PATCH |
Verzeichnis für benutzerdefinierte Werkzeuge NEU
Das System bringt einen neuen ToolDirectoryManager — er verwaltet die benutzerdefinierten Werkzeuge im Verzeichnis {dataDir}/TOOLs/{orgId}/_custom/ und lädt sie ohne Neustart der App.
Verzeichnisstruktur
{dataDir}/TOOLs/{orgId}/_custom/
├── my-tool-1/
│ ├── metadata.json
│ └── ...
└── my-tool-2/
├── metadata.json
└── ...
Beispiel für metadata.json
{
"id": "my-tool-1",
"name": "My Custom Tool",
"description": "自定义工具说明",
"type": "API",
"enabled": true,
"createdAt": 1776921208476,
"updatedAt": 1776921208476
}
Lademechanismus
- Scan-Methode:
scanAndLoad(orgId) - Typunterstützung:
API/MCP - Organisationsisolierung: getrennte Verzeichnisse pro orgId, keine gegenseitige Beeinträchtigung
- Hot-Loading: kein Neustart der App erforderlich
Werkzeug-Ladepipeline
Alle Werkzeuge werden in der folgenden Reihenfolge geladen und zusammengeführt:
① Integrierte Werkzeuge (19 Stück)
↓
② MCP-Werkzeuge (von den konfigurierten MCP-Servern erkannt)
↓
③ API-Werkzeuge (aus OpenAPI-Definitionen geparst)
↓
④ Benutzerdefinierte Werkzeuge (ToolDirectoryManager scannt das Verzeichnis _custom/)
↓
⑤ Skill-Werkzeuge (aus aktivierten Skills wird execute_skill_{id} injiziert)
↓
⑥ Zusammenführen und Deduplizieren → endgültige Werkzeugliste → an das LLM gesendet
Anwendungsfälle gängiger Werkzeuge
| Beispiel einer Benutzeranfrage | Vom Agenten aufgerufenes Werkzeug | Beschreibung |
|---|---|---|
| „Schau dir bitte den Inhalt von package.json an" | Read File | Liest den Dateiinhalt und gibt ihn zurück |
| „Ändere den Funktionsnamen von getData in fetchData" | Edit | Präzises Suchen und Ersetzen |
| „Erstelle eine README.md" | Write File | Erstellt eine neue Datei |
| „Welche .tsx-Dateien gibt es im Projekt?" | Glob Files | Sucht Dateinamen nach Muster |
| „Wo im Code wird useEffect verwendet?" | Search Files | Regex-Suche in Dateiinhalten |
| „Führe bitte npm install aus" | Bash | Führt einen Shell-Befehl aus |
| „Fasse mir bitte den Inhalt dieser Webseite zusammen: https://..." | Web Fetch | Ruft die Webseite ab und wandelt sie in Markdown um |
| „Diese Aufgabe ist recht komplex, erstelle zuerst einen Plan" | Task Manage | Erstellt eine strukturierte Aufgabenliste |
| „Suche bitte die Konversation von gestern über die Datenbankmigration" | Conversation Search | Durchsucht bisherige Konversationen |
| „Merke dir, dass ich das Dark-Theme bevorzuge" | Memory Manage | Speichert ins Gedächtnis |
Anleitung: MCP-Werkzeug hinzufügen
- Öffne App → Einstellungen → Werkzeuge → Bereich MCP-Werkzeuge
- Klicke auf MCP-Server hinzufügen
- Konfiguration ausfüllen:
- Name: Vergib einen erkennbaren Namen für diesen MCP-Server
- Übertragungsart: Wähle stdio / SSE / HTTP
- Bei stdio: Trage den Befehl (z. B.
npx) und die Argumente (z. B.@anthropic/mcp-server-filesystem) ein - Bei SSE/HTTP: Trage die Server-URL ein
- Falls eine Authentifizierung erforderlich ist, wähle die Authentifizierungsmethode und trage die Anmeldedaten ein
- Klicke auf Speichern
- Das System verbindet sich automatisch mit dem Server und erkennt die verfügbaren Werkzeuge
- Die erkannten Werkzeuge erscheinen in der Werkzeugliste und sind standardmäßig aktiviert
Tipp: Der MCP-Subprozess übergibt nur Umgebungsvariablen von der Whitelist. Wenn ein MCP-Werkzeug Umgebungsvariablen wie API-Keys benötigt, müssen diese im konfigurierten Feld env explizit deklariert werden.
Auswirkungen der Deaktivierung von Werkzeugen
Nach dem Deaktivieren eines Werkzeugs ist dem Agenten in der Konversation die Existenz dieses Werkzeugs völlig unbekannt. Das bedeutet:
| Deaktiviertes Werkzeug | Auswirkung |
|---|---|
| Bash | Der Agent kann keinerlei Shell-Befehle ausführen (npm, git, Kompilierung usw.) |
| Read File / Write File | Der Agent kann keine Dateien lesen oder erstellen |
| Web Fetch | Der Agent kann keine Webinhalte abrufen, auch suchbezogene Skills sind betroffen |
| Memory Query / Manage | Der Agent fragt keine Erinnerungen ab und speichert keine |
| Skill | Der Agent kann keine Skill-Module aufrufen |
| create_local_sub_agent | Der Agent kann keine Subagenten zur Aufgabenzerlegung erstellen |
Empfehlung: Sofern kein eindeutiger Sicherheitsgrund vorliegt, ist es nicht ratsam, die zentralen Dateioperationswerkzeuge (Read / Write / Edit / Glob / Search) zu deaktivieren, da sonst die Aufgabenausführungsfähigkeit des Agenten erheblich eingeschränkt wird.
Häufig gestellte Fragen
Der Agent sagt „Ich kann keine Dateioperationen ausführen"
Prüfe, ob die Dateioperationswerkzeuge (Read File, Write File, Edit usw.) deaktiviert sind. Stelle auf der Seite zur Werkzeugverwaltung sicher, dass diese Werkzeuge aktiviert sind.
MCP-Werkzeugverbindung schlägt fehl
- Prüfe, ob der Befehl/die URL des MCP-Servers korrekt ist
- Bei der stdio-Methode: Stelle sicher, dass der entsprechende Befehl installiert ist (z. B. benötigt
npxeine Node.js-Umgebung) - Prüfe, ob Umgebungsvariablen (API-Keys usw.) erforderlich sind
- Sieh im App-Log nach, um detaillierte Fehlerinformationen zu erhalten
Der Agent verwendet nicht das von mir erwartete Werkzeug
Der Agent wählt Werkzeuge eigenständig auf Basis der Aufgabenanforderungen aus. Wenn der Agent das „falsche" Werkzeug wählt, kannst du es in der Konversation ausdrücklich anweisen: „Bitte verwende das Bash-Werkzeug, um diesen Befehl auszuführen."
Verwandte Dokumente
- Skill-Verwaltung — Skill-System
- Laufzeitsicherheit — Konfiguration von Werkzeugberechtigungen
- Sicherheits-Leitplanken — Unternehmensweite Verwaltung von Werkzeugberechtigungen
