Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
DevUI ist als Beispielanwendung für die lokale Entwicklung konzipiert. Diese Seite behandelt Sicherheitsaspekte und bewährte Methoden, wenn Sie DevUI über localhost hinaus verfügbar machen müssen.
Warnung
DevUI ist nicht für die Produktionsverwendung vorgesehen. Erstellen Sie für Produktionsbereitstellungen ihre eigene benutzerdefinierte Schnittstelle mit dem Agent Framework SDK mit entsprechenden Sicherheitsmaßnahmen.
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.
Benutzeroberflächenmodi
DevUI bietet zwei Modi, die den Zugriff auf Features steuern:
Entwicklermodus (Standard)
Vollzugriff auf alle Features:
- Debug-Panel mit Trace-Informationen
- Hot reload für schnelle Entwicklung (
/v1/entities/{id}/reload) - Bereitstellungstools (
/v1/deployments) - Ausführliche Fehlermeldungen für das Debuggen
devui ./agents # Developer mode is the default
Benutzermodus
Vereinfachte, eingeschränkte Schnittstelle:
- Chatschnittstelle und Unterhaltungsverwaltung
- Entitätsauflistung und grundlegende Informationen
- Deaktivierte Entwickler-APIs (Heißneuladen, Bereitstellung)
- Generische Fehlermeldungen (serverseitig protokolliert)
devui ./agents --mode user
Authentifizierung
Aktivieren Sie die Bearertokenauthentifizierung mit der --auth Kennzeichnung:
devui ./agents --auth
Wenn die Authentifizierung aktiviert ist:
- Für localhost: Ein Token wird automatisch generiert und in der Konsole angezeigt.
- Für Netzwerkbereitstellungen : Sie müssen ein Token über
DEVUI_AUTH_TOKENdie Umgebungsvariable oder--auth-tokendas Flag bereitstellen.
# Auto-generated token (localhost only)
devui ./agents --auth
# Custom token via CLI
devui ./agents --auth --auth-token "your-secure-token"
# Custom token via environment variable
export DEVUI_AUTH_TOKEN="your-secure-token"
devui ./agents --auth --host 0.0.0.0
Alle API-Anforderungen müssen ein gültiges Bearertoken im Authorization Header enthalten:
curl http://localhost:8080/v1/entities \
-H "Authorization: Bearer your-token-here"
Empfohlene Bereitstellungskonfiguration
Wenn Sie DevUI für Endbenutzer verfügbar machen müssen (nicht für die Produktion empfohlen):
devui ./agents --mode user --auth --host 0.0.0.0
Diese Konfiguration:
- Beschränkt entwicklerorientierte APIs
- Authentifizierung erforderlich
- Bindet an alle Netzwerkschnittstellen
Sicherheitsfeatures
DevUI umfasst mehrere Sicherheitsmaßnahmen:
| Merkmal | Description |
|---|---|
| Localhost-Bindung | Bindet standardmäßig an 127.0.0.1 |
| Benutzermodus | Schränkt Entwickler-APIs ein |
| Bearer-Authentifizierung | Optionale tokenbasierte Authentifizierung |
| Lokales Einheitenladen | Nur Entitäten aus lokalen Verzeichnissen oder im Arbeitsspeicher werden geladen. |
| Keine Remoteausführung | Keine Remotecodeausführungsfunktionen |
Bewährte Methoden
Verwaltung von Anmeldeinformationen
- Speichern von API-Schlüsseln und geheimen Schlüsseln in
.envDateien - Niemals
.envDateien ins Versionskontrollsystem einchecken. - Verwenden von
.env.exampleDateien zum Dokumentieren erforderlicher Variablen
# .env.example (safe to commit)
OPENAI_API_KEY=your-api-key-here
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/
# .env (never commit)
OPENAI_API_KEY=sk-actual-key
AZURE_OPENAI_ENDPOINT=https://my-resource.openai.azure.com/
Netzwerksicherheit
- DevUI für die Entwicklung an localhost gebunden halten
- Verwenden eines Reverseproxys (nginx, Caddy), wenn externer Zugriff erforderlich ist
- Aktivieren von HTTPS über den Reverseproxy
- Implementieren der richtigen Authentifizierung auf Proxyebene
Entitätssicherheit
- Überprüfen des gesamten Agent-/Workflowcodes vor der Ausführung
- Nur Entitäten aus vertrauenswürdigen Quellen laden
- Seien Sie vorsichtig mit Tools, die Nebenwirkungen haben (Dateizugriff, Netzwerkaufrufe)
Ressourcenbereinigung
Registrieren Sie Bereinigungs-Hooks, um Anmeldeinformationen und Ressourcen beim Herunterfahren ordnungsgemäß zu schließen:
from azure.identity.aio import DefaultAzureCredential
from agent_framework import Agent
from agent_framework.azure import AzureOpenAIChatClient
from agent_framework_devui import register_cleanup, serve
credential = DefaultAzureCredential()
client = AzureOpenAIChatClient()
agent = Agent(name="MyAgent", chat_client=client)
# Register cleanup hook - credential will be closed on shutdown
register_cleanup(agent, credential.close)
serve(entities=[agent])
Überlegungen zu MCP-Tools
Bei Verwendung von MCP-Tools (Model Context Protocol) mit DevUI:
# Correct - DevUI handles cleanup automatically
mcp_tool = MCPStreamableHTTPTool(url="http://localhost:8011/mcp", chat_client=chat_client)
agent = Agent(tools=mcp_tool)
serve(entities=[agent])
Von Bedeutung
Verwenden Sie die async with Kontextmanager nicht, wenn Sie Agents mit MCP-Tools für DevUI erstellen. Verbindungen werden vor der Ausführung geschlossen. MCP-Tools verwenden faule Initialisierung und automatische Verbindung bei der ersten Verwendung.
Nächste Schritte
- Beispiele – Durchsuchen von Beispiel-Agents und Workflows
- API-Referenz – Erfahren Sie mehr über die API-Endpunkte