Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
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 через обратный прокси-сервер
- Реализация правильной проверки подлинности на уровне прокси-сервера
Защита сущностей
- Перед выполнением просмотрите весь код агента или рабочего процесса
- Только загружайте сущности из доверенных источников
- Будьте осторожны с инструментами, которые имеют побочные эффекты (доступ к файлам, сетевые вызовы)
Очистка ресурсов
Зарегистрируйте хуки очистки, чтобы корректно закрыть учетные данные и ресурсы при завершении работы.
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])
Соображения о средствах MCP
При использовании средств MCP (протокол контекста модели) с 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])
Это важно
Не используйте async with диспетчеры контекстов при создании агентов с помощью средств MCP для DevUI. Подключения закроются перед выполнением. Средства MCP используют отложенную инициализацию и автоматически подключаются при первом использовании.
Дальнейшие шаги
- Примеры . Обзор примеров агентов и рабочих процессов
- Справочник по API . Сведения о конечных точках API