# Tools & Faehigkeiten ## Ueberblick Tools sind die Aktionen, die Ihre Agenten waehrend Gespraechen ausfuehren koennen. Wenn ein Agent das Web durchsuchen, einen Befehl ausfuehren, eine Datei lesen oder ein Geraet steuern muss, verwendet er Tools. Neotask bietet einen umfangreichen Satz integrierter Tools fuer Dateiverwaltung, Code-Ausfuehrung, Browser-Automatisierung, Geraetesteuerung, Messaging, Websuche und mehr. ## Dateioperationen Agenten koennen Dateien in ihrem Workspace lesen, schreiben und bearbeiten: - **Read** -- Dateiinhalte lesen - **Write** -- Dateien erstellen oder ueberschreiben - **Edit** -- Gezielte Bearbeitungen an bestimmten Teilen einer Datei vornehmen - **Apply Patch** -- Multi-Hunk Unified Diffs fuer komplexe Dateiaenderungen anwenden ## Code-Ausfuehrung Agenten koennen Shell-Befehle mit konfigurierbarer Isolation ausfuehren: - **Gateway-Ausfuehrung** -- Befehle direkt auf dem Rechner ausfuehren, der das Gateway hostet - **Sandbox-Ausfuehrung** -- Befehle in isolierten Docker-Containern mit Ressourcenlimits ausfuehren - **Node-Ausfuehrung** -- Befehle auf verbundenen Begleitgeraeten ausfuehren (macOS, Linux Nodes) ### Ausfuehrungsfunktionen - Konfigurierbare Timeouts (Standard 30 Minuten) - Hintergrundjob-Verwaltung (auflisten, abfragen, beenden, leeren) - Auto-Hintergrund fuer lang laufende Befehle - TTY-Unterstuetzung fuer interaktive Programme - Elevated Mode fuer privilegierte Operationen (nur Gateway-Host) ### Genehmigungs-Workflows Sensible Befehle koennen eine Benutzergenehmigung vor der Ausfuehrung erfordern: - **Allowlist** -- Nur vorab genehmigte Befehle werden ausgefuehrt - **Ask** -- Unbekannte Befehle erfordern Genehmigung - **Full** -- Keine Einschraenkungen ## Browser-Automatisierung Agenten steuern einen vollstaendigen Chromium-basierten Browser (Chrome, Brave oder Edge): ### Aktionen - **Navigieren** -- URLs oeffnen und zwischen Seiten navigieren - **Interagieren** -- Klicken, Tippen, Hovern, Ziehen, Auswaehlen, Formulare ausfuellen - **Aufzeichnen** -- Screenshots machen, PDFs exportieren - **Inspizieren** -- DOM oder Accessibility-Tree snapshotten - **Ausfuehren** -- JavaScript im Seitenkontext ausfuehren - **Hochladen** -- Dateien in Webformulare hochladen - **Verwalten** -- Dialoge handhaben (Warnungen, Bestaetigungen), Konsolenausgabe lesen ### Browserprofile Mehrere isolierte Browserprofile zur Kontotrennung: - Jedes Profil hat eigene Cookies, Speicher und Verlauf - Auto-zugewiesene CDP-Ports fuer programmatische Steuerung - Remote-Browser-Unterstuetzung (Verbindung zu Browsern auf anderen Rechnern) ## Canvas & A2UI Das Agent-to-UI (A2UI)-System ermoeglicht es Agenten, interaktive visuelle Inhalte auf verbundenen Geraeten zu rendern: - **Present** -- Webseiten oder benutzerdefinierte Inhalte auf dem Canvas eines Geraets anzeigen - **Navigate** -- Steuern, was im Canvas-Fenster angezeigt wird - **Evaluate** -- JavaScript im Canvas-Kontext ausfuehren - **Snapshot** -- Erfassen, was gerade angezeigt wird - **A2UI Push** -- Strukturierte UI-Updates (JSONL-Payloads) an das Canvas senden - **A2UI Reset** -- Canvas-Status zuruecksetzen Canvas-Rendering ist auf macOS (WebKit), iOS (SwiftUI), Android (Jetpack Compose) und Web (WebChat) verfuegbar. ## Node-Geratefaehigkeiten Ueber verbundene Begleit-Apps koennen Agenten: ### Kamera - **Snap** -- Fotos machen (Front- oder Rueckkamera) - **Clip** -- Videoclips mit konfigurierbarer Dauer und FPS aufnehmen ### Bildschirm - **Record** -- Bildschirmaufnahmen mit konfigurierbarer Dauer und Qualitaet erfassen ### Standort - **Get** -- GPS-Koordinaten mit Genauigkeitsauswahl abrufen ### Benachrichtigungen - **Notify** -- Native OS-Benachrichtigungen mit Titel, Text und Prioritaet senden ### Systembefehle - **Run** -- Shell-Befehle auf dem Node-Geraet ausfuehren - **Which** -- Pruefen, ob ein Befehl auf dem Node verfuegbar ist ## Messaging Agenten koennen Nachrichten ueber verbundene Kanaele senden und verwalten: - **Send** -- Nachrichten an jeden verbundenen Kanal/Empfaenger senden - **Edit** -- Zuvor gesendete Nachrichten bearbeiten - **React** -- Reaktionen zu Nachrichten hinzufuegen - **Thread** -- Threads erstellen und darin antworten - **Poll** -- Umfragen auf unterstuetzten Plattformen erstellen - **Voice** -- Sprachkanal-Status pruefen (Discord) ## Web - **Search** -- Websuche ueber die Brave Search API - **Fetch** -- Webseiten abrufen und HTML in Markdown/Text konvertieren ## Speicher & Kontext - **Memory Search** -- Vektoraehnlichkeitssuche ueber Agenten-Speicherdateien - **Memory Get** -- Bestimmte Speicherdateien nach Name abrufen ## Session-Verwaltung - **List Sessions** -- Aktive Sessions ueber Agenten hinweg anzeigen - **Session History** -- Transkript fuer jede Session abrufen - **Send to Session** -- Nachrichten an andere Agenten-Sessions senden - **Spawn Sub-Agent** -- Isolierte Sub-Agent-Laeufe starten - **List Agents** -- Verfuegbare Agenten anzeigen ## Automatisierung - **Cron** -- Geplante Jobs erstellen, bearbeiten, ausfuehren und verwalten - **Gateway** -- Gateway neu starten, Konfigurationsaenderungen anwenden, Updates ausfuehren ## Bildanalyse Agenten koennen Bilder mit konfigurierten Vision-Modellen analysieren -- Inhalte beschreiben, Text extrahieren, Objekte identifizieren und Fragen zu visuellem Inhalt beantworten. ## Tool-Gruppen Tools sind in Gruppen fuer einfache Berechtigungsverwaltung organisiert: | Gruppe | Tools | |-------|-------| | **runtime** | exec, bash, process | | **fs** | read, write, edit, apply_patch | | **sessions** | sessions_list, sessions_history, sessions_send, sessions_spawn, session_status | | **memory** | memory_search, memory_get | | **web** | web_search, web_fetch | | **ui** | browser, canvas | | **automation** | cron, gateway | | **messaging** | message | | **nodes** | nodes |