Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O DevUI foi projetado como um aplicativo de exemplo para desenvolvimento local. Esta página aborda considerações de segurança e práticas recomendadas se você precisar expor o DevUI além do localhost.
Aviso
O DevUI não se destina ao uso de produção. Para implantações de produção, crie sua própria interface personalizada usando o SDK do Agent Framework com as medidas de segurança apropriadas.
Em breve
A documentação do DevUI para C# estará disponível em breve. Verifique novamente mais tarde ou consulte a documentação do Python para obter diretrizes conceituais.
Modos de interface do usuário
O DevUI oferece dois modos que controlam o acesso aos recursos:
Modo de desenvolvedor (padrão)
Acesso completo a todos os recursos:
- Painel de depuração com dados de rastreamento
- Recarregamento frequente para desenvolvimento rápido (
/v1/entities/{id}/reload) - Ferramentas de implantação (
/v1/deployments) - Mensagens de erro detalhadas para depuração
devui ./agents # Developer mode is the default
Modo de Usuário
Interface simplificada e restrita:
- Gerenciamento de conversa e interface de chat
- Listagem de entidades e informações básicas
- APIs de desenvolvedor desabilitadas (recarregamento frequente, implantação)
- Mensagens de erro genéricas (detalhes registrados no lado do servidor)
devui ./agents --mode user
Autenticação
Habilite a autenticação de token de portador com o --auth sinalizador:
devui ./agents --auth
Quando a autenticação estiver habilitada:
- Para localhost: um token é gerado automaticamente e exibido no console
- Para implantações expostas à rede : você deve fornecer um token por meio de
DEVUI_AUTH_TOKENuma variável de ambiente ou--auth-tokensinalizador
# 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 as solicitações de API devem incluir um token de portador válido no Authorization cabeçalho:
curl http://localhost:8080/v1/entities \
-H "Authorization: Bearer your-token-here"
Configuração de implantação recomendada
Se você precisar expor o DevUI aos usuários finais (não recomendado para produção):
devui ./agents --mode user --auth --host 0.0.0.0
Esta configuração:
- Restringe APIs voltadas para o desenvolvedor
- Requer autenticação
- Associa a todas as interfaces de rede
Recursos de segurança
O DevUI inclui várias medidas de segurança:
| Característica | DESCRIÇÃO |
|---|---|
| Vinculação de localhost | Associa a 127.0.0.1 por padrão |
| Modo de usuário | Restringe APIs de desenvolvedor |
| Autenticação do portador | Autenticação opcional baseada em token |
| Carregamento de entidade local | Carrega entidades apenas de diretórios locais ou da memória |
| Nenhuma execução remota | Sem recursos de execução de código remoto |
Práticas recomendadas
Gerenciamento de credenciais
- Armazenar chaves de API e segredos em
.envarquivos - Nunca confirme
.envarquivos no controle do código-fonte - Usar
.env.examplearquivos para documentar variáveis necessárias
# .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/
Segurança de Rede
- Manter o DevUI associado ao localhost para desenvolvimento
- Use um proxy reverso (nginx, Caddy) se o acesso externo for necessário
- Habilitar HTTPS por meio do proxy reverso
- Implementar a autenticação adequada no nível do proxy
Segurança de entidade
- Examinar todo o código do agente/fluxo de trabalho antes de executar
- Carregar apenas entidades de fontes confiáveis
- Tenha cuidado com ferramentas que têm efeitos colaterais (acesso a arquivos, chamadas de rede)
Limpeza de Recursos
Registre ganchos de limpeza para fechar corretamente credenciais e recursos no desligamento:
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])
Considerações sobre ferramentas do MCP
Ao usar ferramentas MCP (Model Context Protocol) com 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
Não use async with gerentes de contexto ao criar agentes com ferramentas MCP para DevUI. As conexões serão fechadas antes da execução. As ferramentas MCP usam inicialização lenta e se conectam automaticamente no primeiro uso.
Próximas etapas
- Exemplos – Navegar por agentes de exemplo e fluxos de trabalho
- Referência de API – Saiba mais sobre os pontos de extremidade da API