Skripte
Der Abschnitt Skripte ermöglicht es Benutzern, Skriptdateien zu verwalten und zu organisieren. Die folgenden Aktionen können durch Interaktion mit dem Drei-Punkte-Menü durchgeführt werden:
- Verzeichnis erstellen: Ermöglicht es Benutzern, einen neuen Ordner zur Organisation von Skripten zu erstellen.
- Python-Datei erstellen: Ermöglicht es Benutzern, eine neue Python-Skriptdatei zu erstellen und hinzuzufügen.
- JSON-Datei erstellen: Ermöglicht es Benutzern, eine neue JSON-Datei zu erstellen.
- Umbenennen: Benennt eine ausgewählte Datei oder ein Verzeichnis um.
- Löschen: Löscht die ausgewählte Datei oder das Verzeichnis.
- Skript übernehmen: Überträgt das Eigentum des Skripts vom aktuellen Benutzer auf einen anderen Benutzer.

Hinweis:
- Entwurfsdateien (Dateien, die nicht finalisiert oder veröffentlicht sind) werden während des Bereitstellungsprozesses ignoriert.
- Das Verzeichnis agents dient als Stammverzeichnis für alle benutzerdefinierten Agentenskripte. Alle benutzerdefinierten Agentendateien und -verzeichnisse werden hier gespeichert und bieten eine strukturierte Umgebung zur Verwaltung agentenbezogener Skripte.
Agententypen

Unter dem Abschnitt Skripte können Sie benutzerdefinierte Agenten erstellen, die auf spezifische Bedürfnisse in vier verschiedenen Kategorien zugeschnitten sind: Form, Orchestrator, RAG (Retrieval-Augmented Generation) und Response. Diese Agenten können verschiedenen Knotentypen innerhalb Ihres Workflows zugewiesen werden, sodass Sie die Funktionalität basierend auf Ihren Anforderungen anpassen und erweitern können.
Wenn die vordefinierten Agenten im Abschnitt Flows nicht mit Ihrer Aufgabe übereinstimmen, verwenden Sie diese Funktion, um einen benutzerdefinierten Agenten zu definieren und nahtlos in Ihren Flow zu integrieren.
Entwürfe
Einen Entwurf erstellen
- Eine neue Skriptdatei erstellen:
- Wählen Sie Python/JSON-Datei erstellen. Diese Aktion erstellt automatisch einen Entwurf.
- Entwürfe sind durch ein Entwurf-Tag neben dem Dateinamen erkennbar.
- Entwürfe werden vom System ignoriert, bis sie bereitgestellt werden. Um einen Entwurf bereitzustellen, drücken Sie Entwurf bereitstellen in der oberen rechten Ecke.
- Eigentum:
- Skripte und Entwürfe sind gesperrt, wenn ein anderer Benutzer daran arbeitet, um Konflikte oder Überschreibungen zu vermeiden
- Um zu sehen, wem das Skript gehört, fahren Sie mit der Maus über das Schlosssymbol neben dem Entwurf-Tag.
- Wenn Sie einen Entwurf bearbeiten müssen, der einem anderen Benutzer gehört, klicken Sie auf das Drei-Punkte-Menü neben dem Dateinamen und wählen Sie "Übernehmen".
Änderungen speichern
Sobald Sie Ihre Arbeit am Skript abgeschlossen haben oder das Fenster schließen müssen, stellen Sie sicher, dass Sie Ihren Entwurf speichern:
- Klicken Sie auf "Speichern" in der oberen rechten Ecke.
Vollbildmodus
Für ein verbessertes Codiererlebnis können Sie das Codefeld erweitern:
- Klicken Sie auf das Zoom-Out-Symbol in der oberen rechten Ecke, um in den Vollbildmodus zu wechseln. Um den Vollbildmodus zu verlassen, drücken Sie einfach ESC.
Versionsverwaltung
Entwürfe unterstützen die Versionsverwaltung, sodass Sie Änderungen effektiv nachverfolgen können. Um frühere Versionen anzuzeigen, wählen Sie Entwurf zu Original aus dem Drei-Punkte-Menü oder Versionen anzeigen, wenn Sie die Versionen des Skripts sehen möchten, das kein Entwurf ist:
- Änderungen, die im Entwurf vorgenommen wurden
- Das Datum der Änderungen
- Benutzer, die diese Änderungen vorgenommen haben
In diesem Menü haben Sie auch die Optionen, den Entwurf zu löschen oder bereitzustellen.
Cron-Skripte
Cron-Skripte ermöglichen es Ihnen, Python-Skripte automatisch in bestimmten Intervallen auszuführen, z. B. täglich, wöchentlich oder monatlich. Diese Skripte werden unabhängig von Benutzerkonversationen ausgeführt und sind ideal für automatisierte Aufgaben wie:
- Scraping von Websites oder anderen Ressourcen zur Aktualisierung der Wissensdatenbank
- Geplante API-Aufrufe an externe Systeme
- Jede wiederkehrende Aufgabe, die keine Benutzerinteraktion erfordert
Ein Cron-Skript erstellen
Um ein Cron-Skript zu erstellen, folgen Sie diesen Schritten:
- Der Abschnitt Skripte hat einen Unterabschnitt namens Cron.
- Hier können Sie eine neue Python-Datei erstellen (klicken Sie auf die drei Punkte neben Cron und wählen Sie Python-Datei erstellen).
- Geben Sie Ihrem Skript einen beschreibenden Namen (z. B.
daily_report.py). - Verwenden Sie die folgende Vorlagenstruktur:
from shared import PeriodicScriptTrackerApi
from shared import CronScript
from loguru import logger
class cron_script(CronScript):
async def run(self, tracker_api: PeriodicScriptTrackerApi):
# Start coding here
Hinweis:
- Die Klasse muss
cron_scriptgenannt werden und vonCronScripterben.- Die
run-Methode muss alsasync def run(self, tracker_api: PeriodicScriptTrackerApi)definiert werden.- Die gesamte Skriptlogik muss innerhalb der
run-Methode platziert werden!
Cron-Skript-Toolbar
Sobald Sie ein Cron-Skript im Editor geöffnet haben, sehen Sie eine Toolbar mit mehreren Symbolen zur Verwaltung Ihres Skripts:

- Ausführungshistorie-Symbol (erstes Symbol): Zeigt die Ausführungshistorie des Cron-Skripts an, einschließlich Status, Startzeit, Dauer und Protokollen für jede Ausführung.
- Manuelles Ausführungssymbol (zweites Symbol): Führt das Skript sofort manuell aus, um es zu debuggen und zu testen.
- Zeitplan-Konfigurationssymbol (drittes Symbol): Aktiviert und konfiguriert Cron-Ausführungspläne (täglich, wöchentlich oder monatlich).
Den Zeitplan konfigurieren
Sobald Sie Ihr Cron-Skript erstellt haben, können Sie konfigurieren, wann es ausgeführt werden soll:
- Klicken Sie auf Ihre Skriptdatei im Dateibaum, um sie zu öffnen.
- Speichern Sie das Skript zuerst (es darf kein Entwurf sein, um geplant zu werden).
- Bereitstellen Sie das Skript, indem Sie auf Entwurf bereitstellen in der oberen rechten Ecke klicken.
- Klicken Sie auf das Zeitplan-Konfigurationssymbol (drittes Symbol) in der Toolbar, um das Dropdown-Menü zur Zeitplankonfiguration zu öffnen.
- Im Planungsmenü:
- Schalten Sie "Cron aktiviert" auf EIN, um die Planung zu aktivieren.
- Wählen Sie die Häufigkeit:
- Täglich: Läuft einmal pro Tag zur angegebenen Zeit.
- Wöchentlich: Läuft einmal pro Woche an einem bestimmten Tag.
- Monatlich: Läuft einmal pro Monat an einem bestimmten Tag.
- Wählen Sie die Uhrzeit, zu der das Skript ausgeführt werden soll (angezeigt in Ihrer lokalen Zeitzone).
- Wenn Wöchentlich ausgewählt ist: Wählen Sie den Wochentag (Sonntag bis Samstag).
- Wenn Monatlich ausgewählt ist: Wählen Sie den Tag des Monats (1-31).
- Klicken Sie auf Speichern, um den Zeitplan zu aktivieren.
Die nächste Ausführungszeit wird unter der Zeitplankonfiguration angezeigt. Diese wird automatisch aktualisiert, wenn Sie die Zeitplaneinstellungen ändern.
Verfügbare APIs in Cron-Skripten
Cron-Skripte erhalten eine spezielle Version der tracker_api namens PeriodicScriptTrackerApi. Diese Version bietet im Vergleich zur vollständigen Tracker-API, die in Konversationsskripten verfügbar ist, eingeschränkten Zugriff:
- LLM-Methoden: Sie haben Zugriff auf alle LLM-bezogenen Methoden (z. B.
llm_call(),llm_call_with_tools(), etc.). Alle LLM-Aufrufe verwenden den Standardanbieter, der in Ihren Bot-Einstellungen konfiguriert ist. - Konfigurationszugriff:
tracker_api.get_config_value(key): Zugriff auf Konfigurationswerte, die in der Konfiguration Ihres Bots gespeichert sind.tracker_api.get_config_map(): Abrufen aller Konfigurationswerte als Wörterbuch.
- Protokollierung: Verwenden Sie
logger.info(),logger.warning(),logger.error(), um Nachrichten zu protokollieren, die in der Ausführungshistorie erfasst werden.
Sie können auch Standard-Python-Funktionen wie print()-Anweisungen verwenden. Alle Ausgaben werden erfasst und in den Ausführungsprotokollen angezeigt.
Hinweis: Die
PeriodicScriptTrackerApihat keinen Zugriff auf konversationsspezifische Funktionen wie Konversationsverlauf, Benutzernachrichten oder Konversationsstatus. Sie ist speziell für Hintergrundaufgaben konzipiert.
Beispiel:
from shared import PeriodicScriptTrackerApi
from shared import CronScript
from loguru import logger
import httpx
from datetime import datetime
class cron_script(CronScript):
async def run(self, tracker_api: PeriodicScriptTrackerApi):
logger.info("Starting daily website scraper")
# Zugriff auf die Konfiguration für die Ziel-URL
target_url = tracker_api.get_config_value("scraping_url")
try:
# Daten von externer Quelle abrufen
async with httpx.AsyncClient() as client:
response = await client.get(target_url)
content = response.text
logger.info(f"Fetched {len(content)} characters from {target_url}")
# Inhalt mit LLM verarbeiten und bereinigen
cleaned_content = await tracker_api.llm_call(
f"Extract the main content from this HTML and format it as clean text:\n\n{content[:5000]}"
)
logger.info(f"Processed content: {len(cleaned_content)} characters")
except Exception as e:
logger.error(f"Error during scraping: {str(e)}")
raise
Manuelle Ausführung
Sie können ein Cron-Skript jederzeit manuell auslösen, unabhängig von seinem Zeitplan:
- Öffnen Sie das Skript im Editor.
- Klicken Sie auf das manuelle Ausführungssymbol (▶) (zweites Symbol) in der Toolbar.
- Das Skript wird sofort mit höherer Priorität als geplante Ausführungen ausgeführt.
Die manuelle Ausführung ist nützlich für:
- Testen Ihres Skripts, bevor Sie es planen.
- Ausführen des Skripts auf Abruf außerhalb seines regulären Zeitplans.
- Debuggen und Fehlersuche.
Überwachung der Ausführung
Um die Ausführungshistorie Ihrer Cron-Skripte anzuzeigen:
- Klicken Sie auf Ihr Cron-Skript im Dateibaum.
- Klicken Sie auf das Ausführungshistorie-Symbol (erstes Symbol) in der Toolbar.
- Das Ausführungshistorie-Modal wird geöffnet und zeigt die letzten 50 Ausführungen an.

Ausführungshistorientabelle
Die Ausführungshistorie zeigt alle kürzlichen Skriptausführungen in Tabellenform mit den folgenden Informationen an:
- Status:
- Erfolg (grünes Abzeichen): Das Skript wurde erfolgreich ohne Fehler ausgeführt.
- Fehler (rotes Abzeichen): Das Skript stieß während der Ausführung auf einen Fehler.
- Ausstehend: Das Skript ist geplant, hat aber noch nicht begonnen.
- Läuft: Das Skript wird derzeit ausgeführt.
- Startzeit: Wann die Ausführung begann (angezeigt in Ihrer lokalen Zeitzone, Format:
TT/MM/JJJJ, HH:MM:SS). - Dauer: Wie lange die Ausführung dauerte (Format:
HH:MM:SS.milliseconds).