Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
DevUI está diseñado como una aplicación de ejemplo para el desarrollo local. En esta página se describen las consideraciones de seguridad y los procedimientos recomendados si necesita exponer DevUI más allá de localhost.
Advertencia
DevUI no está pensado para su uso en producción. En el caso de las implementaciones de producción, cree su propia interfaz personalizada mediante el SDK de Agent Framework con las medidas de seguridad adecuadas.
Próximamente.
La documentación de DevUI para C# estará disponible próximamente. Por favor, vuelva a comprobar más tarde o consulte la documentación de Python para obtener instrucciones conceptuales.
Modos de interfaz de usuario
DevUI ofrece dos modos que controlan el acceso a las características:
Modo de desarrollador (valor predeterminado)
Acceso total a todas las características:
- Panel de depuración con información de seguimiento
- Recarga en caliente para un desarrollo rápido (
/v1/entities/{id}/reload) - Herramientas de implementación (
/v1/deployments) - Mensajes de error detallados para la depuración
devui ./agents # Developer mode is the default
Modo de usuario
Interfaz simplificada y restringida:
- Interfaz de chat y administración de conversaciones
- Descripción de entidades e información básica
- APIs de desarrollador deshabilitadas (recarga en caliente, implementación)
- Mensajes de error genéricos (detalles registrados en el servidor)
devui ./agents --mode user
Autenticación
Habilite la autenticación de token de portador con la --auth marca :
devui ./agents --auth
Cuando la autenticación está habilitada:
- Para localhost: se genera automáticamente un token y se muestra en la consola.
- Para las implementaciones expuestas a la red: debe proporcionar un token a través de
DEVUI_AUTH_TOKENuna variable de entorno o--auth-tokenun indicador
# 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
Todas las solicitudes de API deben incluir un token de portador válido en el Authorization encabezado:
curl http://localhost:8080/v1/entities \
-H "Authorization: Bearer your-token-here"
Configuración de implementación recomendada
Si necesita exponer DevUI a los usuarios finales (no se recomienda para producción):
devui ./agents --mode user --auth --host 0.0.0.0
Esta configuración:
- Restringe las API orientadas al desarrollador.
- Requiere autenticación
- Enlaza a todas las interfaces de red
Características de seguridad
DevUI incluye varias medidas de seguridad:
| Característica | Description |
|---|---|
| Enlace de Localhost | Enlaza a 127.0.0.1 de forma predeterminada |
| Modo de usuario | Restringe las API de desarrollador. |
| Autenticación de portador | Autenticación opcional basada en tokens |
| Carga de entidades locales | Solo carga entidades de directorios locales o en memoria |
| Sin ejecución remota | Sin funcionalidades de ejecución remota de código |
Procedimientos recomendados
Administración de credenciales
- Almacenar claves y secretos de API en
.envarchivos - Nunca confirme
.envarchivos en el control de código fuente - Uso de
.env.examplearchivos para documentar las variables necesarias
# .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/
Seguridad de redes
- Mantener DevUI vinculado a localhost para el desarrollo
- Usar un proxy inverso (nginx, Caddy) si se necesita acceso externo
- Habilitación de HTTPS a través del proxy inverso
- Implementación de la autenticación adecuada en el nivel de proxy
Seguridad de la entidad
- Revise todo el código de agente o flujo de trabajo antes de ejecutarse.
- Cargar solo entidades de orígenes de confianza
- Tenga cuidado con las herramientas que tienen efectos secundarios (acceso a archivos, llamadas de red)
Limpieza de recursos
Registre enlaces de limpieza para cerrar correctamente las credenciales y los recursos al apagar:
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])
Consideraciones sobre las herramientas de MCP
Al usar herramientas de MCP (Protocolo de contexto de modelo) 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
No use async with administradores de contexto al crear agentes con herramientas de MCP para DevUI. Las conexiones se cerrarán antes de la ejecución. Las herramientas de MCP usan la inicialización diferida y se conectan automáticamente al primer uso.
Pasos siguientes
- Ejemplos - Explorar agentes y flujos de trabajo de ejemplo
- Referencia del API: conoce los puntos de entrada del API