Freigeben über


API-Referenz

DevUI stellt eine openAI-kompatible Antwort-API bereit, mit der Sie das OpenAI SDK oder einen beliebigen HTTP-Client für die Interaktion mit Ihren Agents und Workflows verwenden können.

In Kürze verfügbar

DevUI-Dokumentation für C# wird in Kürze verfügbar sein. Bitte schauen Sie später wieder vorbei, oder lesen Sie die Python-Dokumentation, um konzeptionelle Anleitungen zu erhalten.

Stamm-URL

http://localhost:8080/v1

Der Port kann mit der --port CLI-Option konfiguriert werden.

Authentifizierung

Standardmäßig erfordert DevUI keine Authentifizierung für die lokale Entwicklung. Bei der Ausführung mit --authder Bearer-Tokenauthentifizierung ist die authentifizierung erforderlich.

Verwenden des OpenAI SDK

Grundlegende Anforderung

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:8080/v1",
    api_key="not-needed"  # API key not required for local DevUI
)

response = client.responses.create(
    metadata={"entity_id": "weather_agent"},  # Your agent/workflow name
    input="What's the weather in Seattle?"
)

# Extract text from response
print(response.output[0].content[0].text)

Streamen

response = client.responses.create(
    metadata={"entity_id": "weather_agent"},
    input="What's the weather in Seattle?",
    stream=True
)

for event in response:
    # Process streaming events
    print(event)

Mehrstufige Unterhaltungen

Verwenden Sie den OpenAI-Standardparameter conversation für Multi-Turn-Unterhaltungen:

# Create a conversation
conversation = client.conversations.create(
    metadata={"agent_id": "weather_agent"}
)

# First turn
response1 = client.responses.create(
    metadata={"entity_id": "weather_agent"},
    input="What's the weather in Seattle?",
    conversation=conversation.id
)

# Follow-up turn (continues the conversation)
response2 = client.responses.create(
    metadata={"entity_id": "weather_agent"},
    input="How about tomorrow?",
    conversation=conversation.id
)

DevUI ruft automatisch den Nachrichtenverlauf der Unterhaltung ab und übergibt sie an den Agent.

REST-API-Endpunkte

Antwort-API (OpenAI Standard)

Führen Sie einen Agent oder Workflow aus:

curl -X POST http://localhost:8080/v1/responses \
  -H "Content-Type: application/json" \
  -d '{
    "metadata": {"entity_id": "weather_agent"},
    "input": "What is the weather in Seattle?"
  }'

Unterhaltungs-API (OpenAI Standard)

Endpunkt Methode Description
/v1/conversations POST Erstellen einer Unterhaltung
/v1/conversations/{id} GET Abrufen von Unterhaltungsdetails
/v1/conversations/{id} POST Aktualisieren von Unterhaltungsmetadaten
/v1/conversations/{id} Löschen Löschen einer Unterhaltung
/v1/conversations?agent_id={id} GET Unterhaltungen auflisten (DevUI-Erweiterung)
/v1/conversations/{id}/items POST Hinzufügen von Elementen zu Unterhaltungen
/v1/conversations/{id}/items GET Auflisten von Unterhaltungselementen
/v1/conversations/{id}/items/{item_id} GET Abrufen eines Unterhaltungselements

Entitätsverwaltung (DevUI-Erweiterung)

Endpunkt Methode Description
/v1/entities GET Auflisten ermittelter Agents/Workflows
/v1/entities/{entity_id}/info GET Abrufen detaillierter Entitätsinformationen
/v1/entities/{entity_id}/reload POST Entität "Hot reload" (Entwicklermodus)

Integritätsprüfung

curl http://localhost:8080/health

Servermetadaten

Abrufen der Serverkonfiguration und -funktionen:

curl http://localhost:8080/meta

Rückgabewerte:

  • ui_mode - Aktueller Modus (developer oder user)
  • version - DevUI-Version
  • framework - Frameworkname (agent_framework)
  • runtime - Back-End-Laufzeit (python)
  • capabilities - Featurekennzeichnungen (Ablaufverfolgung, OpenAI-Proxy, Bereitstellung)
  • auth_required – Gibt an, ob die Authentifizierung aktiviert ist

Ereigniszuordnung

DevUI ordnet Agent Framework-Ereignisse openAI-Antwort-API-Ereignisse zu. Die folgende Tabelle zeigt die Zuordnung:

Lebenszyklusereignisse

OpenAI-Ereignis Agent Framework-Ereignis
response.created + response.in_progress AgentStartedEvent
response.completed AgentCompletedEvent
response.failed AgentFailedEvent
response.created + response.in_progress WorkflowStartedEvent
response.completed WorkflowCompletedEvent
response.failed WorkflowFailedEvent

Inhaltstypen

OpenAI-Ereignis Agent Framework-Inhalt
response.content_part.added + response.output_text.delta TextContent
response.reasoning_text.delta TextReasoningContent
response.output_item.added FunctionCallContent (initial)
response.function_call_arguments.delta FunctionCallContent (Args)
response.function_result.complete FunctionResultContent
response.output_item.added (Bild) DataContent (Bilder)
response.output_item.added (Datei) DataContent (Dateien)
error ErrorContent

Workflowereignisse

OpenAI-Ereignis Agent Framework-Ereignis
response.output_item.added (ExecutorActionItem) WorkflowEvent mit type="executor_invoked"
response.output_item.done (ExecutorActionItem) WorkflowEvent mit type="executor_completed"
response.output_item.added (ResponseOutputMessage) WorkflowEvent mit type="output"

Benutzerdefinierte DevUI-Erweiterungen

DevUI fügt benutzerdefinierte Ereignistypen für Agent Framework-spezifische Funktionen hinzu:

  • response.function_approval.requested - Funktionsgenehmigungsanforderungen
  • response.function_approval.responded - Antworten zur Funktionsgenehmigung
  • response.function_result.complete - Serverseitige Funktionsausführungsergebnisse
  • response.workflow_event.complete - Workflowereignisse
  • response.trace.complete - Ausführungsablaufverfolgungen

Diese benutzerdefinierten Erweiterungen werden namespacesiert und können von Standard-OpenAI-Clients sicher ignoriert werden.

OpenAI-Proxymodus

DevUI stellt ein OpenAI-Proxyfeature zum Testen von OpenAI-Modellen direkt über die Schnittstelle bereit, ohne benutzerdefinierte Agents zu erstellen. Aktivieren über "Einstellungen" in der Benutzeroberfläche.

curl -X POST http://localhost:8080/v1/responses \
  -H "X-Proxy-Backend: openai" \
  -d '{"model": "gpt-4.1-mini", "input": "Hello"}'

Hinweis

Für den Proxymodus ist eine Umgebungsvariable erforderlich OPENAI_API_KEY , die im Back-End konfiguriert ist.

Nächste Schritte