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.
Warning
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 is standaard ingeschakeld. Voor een loopback-binding genereert DevUI een token en geeft dit weer in de console:
devui ./agents
Voor een herhaalbaar token stelt u DEVUI_AUTH_TOKEN in of gebruikt u --auth-token. Een niet-loopback-binding vereist een expliciet token en weigert standaard zonder zo'n token:
# Custom token via CLI
devui ./agents --auth-token "your-secure-token"
# Custom token via environment variable
export DEVUI_AUTH_TOKEN="your-secure-token"
devui ./agents --host 0.0.0.0
Alle API-aanvragen moeten het token in de Authorization header bevatten:
curl http://localhost:8080/v1/entities \
-H "Authorization: Bearer your-secure-token"
Alleen gebruiken --no-auth voor geïsoleerde loopback-ontwikkeling. DevUI weigert niet-geverifieerde niet-loopback-bindingen, en zelfs in de loopback-no-auth-modus verdwijnt de bescherming tegen aanvragen die worden verzonden door vijandige websites.
Aanbevolen implementatieconfiguratie
Als u DevUI beschikbaar moet maken voor eindgebruikers (niet aanbevolen voor productie):
DEVUI_AUTH_TOKEN="<secure-dev-token>" devui ./agents --mode user --host 0.0.0.0
Deze configuratie:
- Beperk ontwikkelaarsgerichte API's
- Vereist authenticatie
- Bindt aan alle netwerkinterfaces
Beveiligingsfuncties
DevUI bevat verschillende beveiligingsmaatregelen:
| Feature | Beschrijving |
|---|---|
| localhostbinding | Wordt standaard gebonden aan 127.0.0.1 |
| Gebruikersmodus | Hiermee beperkt u api's voor ontwikkelaars |
| Authenticatie | Bearer-tokenverificatie is standaard ingeschakeld |
| Geen authenticatiemodus | Alleen toegestaan op localhost of 127.0.0.1 |
| Netwerkbindingen | Vereist DEVUI_AUTH_TOKEN of --auth-token |
| 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.
Opmerking
Ondersteuning voor deze functie is binnenkort beschikbaar. Zie de opslagplaats Agent Framework Go voor de meest recente status.
Volgende stappen
- Voorbeelden - Door voorbeeldagents en werkstromen bladeren
- API-naslaginformatie - Meer informatie over de API-eindpunten