logo
Entwicklung
Suchen
Werkzeugverwaltung

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.

Screenshot-Position


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 └── ...
                      
                      {dataDir}/TOOLs/{orgId}/_custom/
├── my-tool-1/
│   ├── metadata.json
│   └── ...
└── my-tool-2/
    ├── metadata.json
    └── ...

                    
Dieser Codeblock im schwebenden Fenster

Beispiel für metadata.json

{ "id": "my-tool-1", "name": "My Custom Tool", "description": "自定义工具说明", "type": "API", "enabled": true, "createdAt": 1776921208476, "updatedAt": 1776921208476 }
                      
                      {
  "id": "my-tool-1",
  "name": "My Custom Tool",
  "description": "自定义工具说明",
  "type": "API",
  "enabled": true,
  "createdAt": 1776921208476,
  "updatedAt": 1776921208476
}

                    
Dieser Codeblock im schwebenden Fenster

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
                      
                      ① 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

                    
Dieser Codeblock im schwebenden Fenster

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

  1. Öffne App → Einstellungen → Werkzeuge → Bereich MCP-Werkzeuge
  2. Klicke auf MCP-Server hinzufügen
  3. 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
  4. Falls eine Authentifizierung erforderlich ist, wähle die Authentifizierungsmethode und trage die Anmeldedaten ein
  5. Klicke auf Speichern
  6. Das System verbindet sich automatisch mit dem Server und erkennt die verfügbaren Werkzeuge
  7. 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

  1. Prüfe, ob der Befehl/die URL des MCP-Servers korrekt ist
  2. Bei der stdio-Methode: Stelle sicher, dass der entsprechende Befehl installiert ist (z. B. benötigt npx eine Node.js-Umgebung)
  3. Prüfe, ob Umgebungsvariablen (API-Keys usw.) erforderlich sind
  4. 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