Zum Inhalt springen

Custom Tools

Ein Custom Tool beginnt als Definition im Tool-Editor und benötigt anschließend eine Implementierung: entweder eine Agentic-Implementierung durch einen Workflow-Agent oder eine Edge-Implementierung, die auf Ihrer eigenen Infrastruktur läuft.

Legen Sie das Tool unter ToolsCreate Tool an und füllen Sie die Definition aus: Title, Description, Call when, Prerequisites, Limitations, Side effects sowie das Arguments-Schema im JSON-Schema-Builder. Belassen Sie das Tool im Status Draft, während Sie die Implementierung bauen; stellen Sie es nach erfolgreichem Test auf Live.

Wählen Sie Agentic und einen Workflow-Agent Ihrer Organisation aus. Ruft ein Agent das Tool auf, führt die Plattform den gewählten Workflow-Agent mit den Tool-Argumenten als Eingabe aus und liefert dessen Ausgabe als Tool-Ergebnis zurück. Dafür ist kein Code nötig — bauen Sie die Logik im Agent-Editor mit Phasen, Tools und Input/Output-Datentypen.

Wählen Sie Edge (Organization connector), um das Tool auf Ihren eigenen Edge-Deployments auszuführen. Sie schreiben den Handler in TypeScript, verpacken ihn mit der Edge Connector CLI in ein Tool-Bundle und weisen das Bundle einem Deployment zu. Aktivieren Sie Exclusive execution, wenn das Tool ausschließlich auf einem bestimmten Deployment laufen darf.

  1. Authentifizieren Sie die CLI:

    Terminal-Fenster
    edge-connector auth

    Standardmäßig läuft der Befehl interaktiv; verwenden Sie -b, --browser für den Device-Code-Browser-Flow oder -t, --token <token>, um ein JWT direkt zu übergeben.

  2. Erzeugen Sie ein Gerüst für Ihr Tool:

    Terminal-Fenster
    edge-connector generate -t <tool>

    Der Befehl lädt die Tool-Definition vom Server und erzeugt ein TypeScript-Projekt (Standardausgabe ./custom-implementations) mit einer Datei pro Tool unter tools/<toolName>.ts, inklusive typisiertem Handler sowie generierten Args- und Result-Typen aus Ihrem Arguments-Schema.

  3. Implementieren Sie den Handler. Er erhält die validierten Argumente und muss ein Ergebnisobjekt liefern:

    {
    status: 'success' | 'error',
    data?: unknown,
    error?: { message: string, isRetryable?: boolean }
    }

    Setzen Sie isRetryable: true bei vorübergehenden Fehlern (Timeouts, temporäre Ausfälle), damit die Plattform den Aufruf wiederholen kann.

  4. Verpacken Sie die Implementierung:

    Terminal-Fenster
    edge-connector package

    Das Bundle-Layout verlangt eine Quelldatei pro Tool unter tools/ — ein einzelner index.ts-Einstiegspunkt wird nicht unterstützt. Der Befehl baut das Projekt und erzeugt edge-bundle-<orgId>-<timestamp>.tgz in ./artifacts.

  5. Laden Sie das Bundle hoch:

    Terminal-Fenster
    edge-connector upload -f <bundle.tgz>

    Bundles dürfen maximal 50 MB groß sein.

  6. Weisen Sie das Bundle einem Deployment zu — entweder mit edge-connector bundle assign <id> --deployment <id> oder auf der Deployment-Detailseite. Deployments folgen standardmäßig der Latest-Bundle-Version oder können auf eine bestimmte Version gepinnt werden.

Testen Sie das Ergebnis über die Test Console des Tool-Editors: JSON-Argumente eingeben, das Deployment unter Select Deployment auswählen und ausführen. Alle Befehle und Flags finden Sie in der Edge Connector CLI-Referenz, Details zu Authentifizierung und Laufzeit unter Konfiguration.