Zum Inhalt springen

Lokal testen

Bevor du einen Agenten veröffentlichst, solltest du ihn gründlich testen. Selu bietet dafür einen lokalen Entwicklungsablauf, der die Produktionsumgebung so nah wie möglich nachbildet.

Führe im Verzeichnis deines Agenten Folgendes aus:

Terminal-Fenster
selu dev .

Dieser Befehl:

  1. validiert agent.yaml und agent.md
  2. baut alle lokalen Docker-Images für Capabilities
  3. startet den Orchestrator mit deinem geladenen Agenten
  4. öffnet einen Web-Chat unter http://localhost:4840

Alle Logs des Orchestrators und der Capabilities werden in dein Terminal gestreamt. Zusätzlich kannst du sie so prüfen:

Terminal-Fenster
selu logs # all logs
selu logs --capability weather # filter by capability name
selu logs --level debug # include debug output

Capability-Container schreiben nach stdout und stderr. Der Orchestrator sammelt diese Ausgaben ein und ergänzt den Namen der Capability davor.

Für schnelle, nicht interaktive Tests kannst du selu chat verwenden:

Terminal-Fenster
selu chat . "What's the weather in Berlin?"

Das sendet eine einzelne Nachricht, gibt die Antwort des Agenten inklusive möglicher Tool-Calls aus und beendet sich dann wieder. Das ist nützlich für Skripte und CI.

Selu unterstützt Snapshot-Tests, also aufgezeichnete Gespräche, mit denen du prüfst, dass sich das Verhalten deines Agenten nicht ungewollt ändert.

Terminal-Fenster
selu test snapshot create --name "greeting" .
# Interactive chat session opens — type your test conversation
# Press Ctrl+D to save

Wenn sich eine Capability nicht wie erwartet verhält:

  1. Health prüfen: selu status zeigt den Zustand jedes laufenden Capability-Containers.
  2. gRPC-Aufruf manuell testen: Nutze grpcurl, um die Capability direkt aufzurufen:
    Terminal-Fenster
    grpcurl -plaintext -d '{"tool_name": "weather_lookup", "parameters": "{\"location\": \"Berlin\"}"}' \
    localhost:50051 selu.capability.v1.CapabilityService/Invoke
  3. In den Container gehen: docker exec -it selu-cap-weather /bin/sh

Capabilities, die API-Schlüssel oder andere Konfiguration brauchen, können Umgebungsvariablen lesen. Setze sie in einer .env-Datei im Agentenverzeichnis:

.env
WEATHER_API_KEY=your-api-key-here

Der Dev-Server lädt .env automatisch und reicht die Variablen an die Capability-Container weiter.

Wenn dein Agent lokal funktioniert, schau dir die Marketplace-Richtlinien an, um ihn für die Veröffentlichung vorzubereiten.