Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
DevUI è progettato come applicazione di esempio per lo sviluppo locale. Questa pagina illustra le considerazioni sulla sicurezza e le procedure consigliate se è necessario esporre DevUI oltre localhost.
Avviso
DevUI non è destinato all'uso in produzione. Per le distribuzioni di produzione, creare un'interfaccia personalizzata usando Agent Framework SDK con misure di sicurezza appropriate.
Prossimamente
La documentazione di DevUI per C# sarà presto disponibile. Si prega di controllare più tardi o fare riferimento alla documentazione di Python per indicazioni concettuali.
Modalità dell'interfaccia utente
DevUI offre due modalità che controllano l'accesso alle funzionalità:
Modalità sviluppatore (impostazione predefinita)
Accesso completo a tutte le funzionalità:
- Pannello di debug con informazioni di traccia
- Ricaricamento rapido per lo sviluppo rapido (
/v1/entities/{id}/reload) - Strumenti di distribuzione (
/v1/deployments) - Messaggi di errore dettagliati per il debug
devui ./agents # Developer mode is the default
Modalità utente
Interfaccia semplificata con restrizioni:
- Interfaccia di chat e gestione delle conversazioni
- Elenco di entità e informazioni di base
- API per sviluppatori disabilitate (ricaricamento rapido, distribuzione)
- Messaggi di errore generici (dettagli registrati lato server)
devui ./agents --mode user
Authentication
Abilitare l'autenticazione con token Bearer utilizzando il flag --auth.
devui ./agents --auth
Quando l'autenticazione è abilitata:
- Per localhost: un token viene generato automaticamente e visualizzato nella console
- Per le distribuzioni esposte alla rete : è necessario fornire un token tramite
DEVUI_AUTH_TOKENvariabile o--auth-tokenflag di ambiente
# 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
Tutte le richieste API devono includere un token di connessione valido nell'intestazione Authorization :
curl http://localhost:8080/v1/entities \
-H "Authorization: Bearer your-token-here"
Configurazione della distribuzione consigliata
Se è necessario esporre DevUI agli utenti finali (non consigliato per la produzione):
devui ./agents --mode user --auth --host 0.0.0.0
Questa configurazione:
- Limita le API rivolte agli sviluppatori
- Richiede l'autenticazione
- Si associa a tutte le interfacce di rete
Funzionalità di sicurezza
DevUI include diverse misure di sicurezza:
| Caratteristica / Funzionalità | Descrzione |
|---|---|
| Collegamento Localhost | Associa a 127.0.0.1 per impostazione predefinita |
| Modalità utente | Limita le API per sviluppatori |
| Autenticazione con token | Autenticazione facoltativa basata su token |
| Caricamento di entità locali | Carica solo le entità da percorsi locali o in memoria |
| Nessuna esecuzione remota | Nessuna funzionalità di esecuzione del codice remoto |
Migliori pratiche
Gestione delle credenziali
- Archiviare chiavi API e segreti nei
.envfile - Non eseguire mai il commit dei
.envfile nel controllo del codice sorgente - Utilizzare i file
.env.exampleper documentare le variabili richieste
# .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/
Sicurezza di rete
- Mantenere DevUI associato a localhost per lo sviluppo
- Usare un proxy inverso (nginx, Caddy) se è necessario l'accesso esterno
- Abilitare HTTPS tramite il proxy inverso
- Implementare l'autenticazione corretta a livello di proxy
Sicurezza dell'entità
- Esaminare tutto il codice agente/flusso di lavoro prima di eseguire
- Caricare solo entità da origini attendibili
- Prestare attenzione con gli strumenti che hanno effetti collaterali (accesso ai file, chiamate di rete)
Pulizia delle risorse
Registrare gli hook di pulizia per chiudere correttamente le credenziali e le risorse alla chiusura.
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])
Considerazioni sugli strumenti MCP
Quando si usano gli strumenti MCP (Model Context Protocol) con 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])
Importante
Non usare async with i gestori del contesto durante la creazione di agenti con strumenti MCP per DevUI. Le connessioni verranno chiuse prima dell'esecuzione. Gli strumenti MCP usano l'inizializzazione pigra e si connettono automaticamente al primo utilizzo.
Passaggi successivi
- Esempi - Esplorare agenti e flussi di lavoro di esempio
- Informazioni di riferimento sulle API - Informazioni sugli endpoint API