Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
DevUI разработан в качестве примера приложения для локальной разработки. На этой странице рассматриваются вопросы безопасности и рекомендации, если необходимо предоставить DevUI за пределами localhost.
Предупреждение
DevUI не предназначен для использования в рабочей среде. Для рабочих развертываний создайте собственный пользовательский интерфейс с помощью пакета SDK agent Framework с соответствующими мерами безопасности.
Ожидается в скором времени
В ближайшее время ожидается документация по DevUI для C#. Вернитесь позже или ознакомьтесь с документацией по Python для получения концептуальных рекомендаций.
Режимы пользовательского интерфейса
DevUI предлагает два режима управления доступом к функциям:
Режим разработчика (по умолчанию)
Полный доступ ко всем функциям:
- Панель отладки, содержащая информацию о трассировании
- Горячая перезагрузка для быстрой разработки (
/v1/entities/{id}/reload) - Средства развертывания (
/v1/deployments) - Развернутые сообщения об ошибках для отладки
devui ./agents # Developer mode is the default
Режим пользователя
Упрощенный, ограниченный интерфейс:
- Интерфейс чата и управление беседами
- Перечисление сущностей и основные сведения
- Api-интерфейсы разработчика отключены (горячая перезагрузка, развертывание)
- Универсальные сообщения об ошибках (сведения, зарегистрированные на стороне сервера)
devui ./agents --mode user
Authentication
Включите проверку подлинности маркера носителя с помощью флага --auth :
devui ./agents --auth
Если включена проверка подлинности:
- Для localhost: маркер создается автоматически и отображается в консоли.
- Для сетевых развертываний: необходимо предоставить маркер с помощью
DEVUI_AUTH_TOKENпеременной среды или--auth-tokenфлага.
# 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
Все запросы API должны содержать допустимый маркер носителя в заголовке Authorization :
curl http://localhost:8080/v1/entities \
-H "Authorization: Bearer your-token-here"
Рекомендуемая конфигурация развертывания
Если необходимо предоставить DevUI конечным пользователям (не рекомендуется для рабочей среды):
devui ./agents --mode user --auth --host 0.0.0.0
Эта конфигурация:
- Ограничивает API, ориентированные на разработчиков
- Требуется проверка подлинности
- Привязывается ко всем сетевым интерфейсам
Функции безопасности
DevUI включает несколько мер безопасности:
| Функция | Description |
|---|---|
| Привязка к Localhost | Привязка к 127.0.0.1 по умолчанию |
| Режим пользователя | Ограничивает API разработчика |
| Проверка подлинности носителя | Необязательная проверка подлинности на основе токенов |
| Загрузка локальной сущности | Загружает только сущности из локальных каталогов или в памяти |
| Нет удаленного выполнения | Нет возможностей удаленного выполнения кода |
Лучшие практики
Управление учетными данными
- Хранение ключей и секретов API в
.envфайлах - Никогда не коммитьте
.envфайлы в систему управления версиями - Использование
.env.exampleфайлов для документирования обязательных переменных
# .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/
Сетевая безопасность
- Сохранение привязки DevUI к localhost для разработки
- Используйте обратный прокси-сервер (nginx, Caddy), если требуется внешний доступ
- Включение HTTPS через обратный прокси-сервер
- Реализация правильной проверки подлинности на уровне прокси-сервера
Защита сущностей
- Перед выполнением просмотрите весь код агента или рабочего процесса
- Только загружайте сущности из доверенных источников
- Будьте осторожны с инструментами, которые имеют побочные эффекты (доступ к файлам, сетевые вызовы)
Очистка ресурсов
Зарегистрируйте хуки очистки, чтобы корректно закрыть учетные данные и ресурсы при завершении работы.
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])
Соображения о средствах MCP
При использовании средств MCP (протокол контекста модели) с 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])
Это важно
Не используйте async with диспетчеры контекстов при создании агентов с помощью средств MCP для DevUI. Подключения закроются перед выполнением. Средства MCP используют отложенную инициализацию и автоматически подключаются при первом использовании.
Дальнейшие шаги
- Примеры . Обзор примеров агентов и рабочих процессов
- Справочник по API . Сведения о конечных точках API