Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
DevUI is ontworpen als voorbeeldtoepassing voor lokale ontwikkeling. Op deze pagina worden beveiligingsoverwegingen en aanbevolen procedures behandeld als u DevUI buiten localhost beschikbaar wilt maken.
Waarschuwing
DevUI is niet bedoeld voor productiegebruik. Voor productie-implementaties bouwt u uw eigen aangepaste interface met behulp van de Agent Framework SDK met de juiste beveiligingsmaatregelen.
Binnenkort beschikbaar
De DevUI-documentatie voor C# is binnenkort beschikbaar. Kom later terug of raadpleeg de Python-documentatie voor conceptuele richtlijnen.
UI-modi
DevUI biedt twee modi waarmee de toegang tot functies wordt beheerd:
Ontwikkelaarsmodus (standaard)
Volledige toegang tot alle functies:
- Foutopsporingsvenster met traceringsgegevens
- Dynamisch opnieuw laden voor snelle ontwikkeling (
/v1/entities/{id}/reload) - Implementatiehulpprogramma's (
/v1/deployments) - Uitgebreide foutberichten voor foutopsporing
devui ./agents # Developer mode is the default
Gebruikersmodus
Vereenvoudigde, beperkte interface:
- Chatinterface en gespreksbeheer
- Entiteitsvermelding en basisgegevens
- Ontwikkelaars-API's uitgeschakeld (hot reload, implementatie)
- Algemene foutberichten (details vastgelegd aan de serverzijde)
devui ./agents --mode user
Authenticatie
Bearer-tokenverificatie inschakelen met de --auth vlag:
devui ./agents --auth
Wanneer verificatie is ingeschakeld:
- Voor localhost: Een token wordt automatisch gegenereerd en weergegeven in de console
- Voor netwerkimplementaties : U moet een token opgeven via
DEVUI_AUTH_TOKENomgevingsvariabele of--auth-tokenvlag
# 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-aanvragen moeten een geldig Bearer-token bevatten in de Authorization header:
curl http://localhost:8080/v1/entities \
-H "Authorization: Bearer your-token-here"
Aanbevolen implementatieconfiguratie
Als u DevUI beschikbaar moet maken voor eindgebruikers (niet aanbevolen voor productie):
devui ./agents --mode user --auth --host 0.0.0.0
Deze configuratie:
- Beperk ontwikkelaarsgerichte API's
- Vereist authenticatie
- Bindt aan alle netwerkinterfaces
Beveiligingsfuncties
DevUI bevat verschillende beveiligingsmaatregelen:
| Eigenschap | Description |
|---|---|
| localhostbinding | Wordt standaard gebonden aan 127.0.0.1 |
| Gebruikersmodus | Hiermee beperkt u api's voor ontwikkelaars |
| Bearer-authenticatie | Optionele verificatie op basis van tokens |
| Laden van lokale entiteit | Alleen entiteiten uit lokale mappen of in het geheugen laden |
| Geen externe uitvoering | Geen mogelijkheden voor uitvoering van externe code |
Beste praktijken
Referentiesbeheer
- API-sleutels en -geheimen opslaan in
.envbestanden - Nooit bestanden doorvoeren
.envin broncodebeheer - Gebruik
.env.examplebestanden om vereiste variabelen te documenteren
# .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/
Netwerkbeveiliging
- DevUI gebonden houden aan localhost voor ontwikkeling
- Gebruik een omgekeerde proxy (nginx, Caddy) als externe toegang nodig is
- HTTPS inschakelen via de omgekeerde proxy
- De juiste verificatie implementeren op proxyniveau
Entiteitsbeveiliging
- Alle agent-/werkstroomcode controleren voordat u deze uitvoert
- Alleen entiteiten uit vertrouwde bronnen laden
- Wees voorzichtig met hulpprogramma's met bijwerkingen (bestandstoegang, netwerkaanroepen)
Opschonen van middelen
Registreer schoonmaakhooks om referenties en bronnen goed af te sluiten bij het afsluiten.
import os
from azure.identity.aio import DefaultAzureCredential
from agent_framework import Agent
from agent_framework.openai import OpenAIChatCompletionClient
from agent_framework_devui import register_cleanup, serve
credential = DefaultAzureCredential()
client = OpenAIChatCompletionClient(
model=os.environ["AZURE_OPENAI_CHAT_COMPLETION_MODEL"],
azure_endpoint=os.environ["AZURE_OPENAI_ENDPOINT"],
api_version=os.getenv("AZURE_OPENAI_API_VERSION"),
credential=credential,
)
agent = Agent(name="MyAgent", client=client)
# Register cleanup hook - credential will be closed on shutdown
register_cleanup(agent, credential.close)
serve(entities=[agent])
Overwegingen voor MCP-hulpprogramma's
Wanneer u MCP-hulpprogramma's (Model Context Protocol) gebruikt met DevUI:
# Correct - DevUI handles cleanup automatically
mcp_tool = MCPStreamableHTTPTool(url="http://localhost:8011/mcp", client=chat_client)
agent = Agent(tools=mcp_tool)
serve(entities=[agent])
Belangrijk
Gebruik geen async with contextbeheerders bij het maken van agents met MCP-hulpprogramma's voor DevUI. Verbindingen worden gesloten voordat ze worden uitgevoerd. MCP-hulpprogramma's maken gebruik van luie initialisatie en maken automatisch verbinding bij eerste gebruik.
Volgende stappen
- Voorbeelden - Door voorbeeldagents en werkstromen bladeren
- API-naslaginformatie - Meer informatie over de API-eindpunten