Biztonság > üzembe helyezés

A DevUI mintaalkalmazásként lett kialakítva a helyi fejlesztéshez. Ez az oldal biztonsági szempontokat és ajánlott eljárásokat tartalmaz, ha a DevUI-t a localhoston kívül is el kell helyeznie.

Warning

A DevUI nem éles használatra készült. A "production környezet telepítéséhez" saját egyedi felületet hozhat létre az Agent Framework SDK segítségével, a megfelelő biztonsági intézkedések figyelembevételével.

Hamarosan elérhető

A C# devUI-dokumentációja hamarosan elérhető lesz. Tekintse meg később, vagy tekintse meg a Python dokumentációját fogalmi útmutatásért.

Felhasználói felületi módok

A DevUI két módot kínál a funkciókhoz való hozzáférés szabályozására:

Fejlesztői mód (alapértelmezett)

Teljes hozzáférés az összes funkcióhoz:

  • Hibakeresési panel nyomkövetési információkkal
  • Gyors újratöltés gyors fejlesztéshez (/v1/entities/{id}/reload)
  • Üzembehelyezési eszközök (/v1/deployments)
  • Bőbeszédű hibaüzenetek hibakereséshez
devui ./agents  # Developer mode is the default

Felhasználói mód

Egyszerűsített, korlátozott felület:

  • Csevegési felület és beszélgetéskezelés
  • Entitáslista és alapinformációk
  • A fejlesztői API-k le vannak tiltva (gyakori elérésű újratöltés, üzembe helyezés)
  • Általános hibaüzenetek (a naplózott kiszolgálóoldal részletei)
devui ./agents --mode user

Authentication

A Bearer-token hitelesítés alapértelmezés szerint engedélyezve van. Loopback kötés esetén a DevUI létrehoz egy tokent, és megjeleníti azt a konzolon:

devui ./agents

Ismételhető token esetén állítsa be a(z) DEVUI_AUTH_TOKEN elemet, vagy használja a(z) --auth-token elemet. A nem loopback bindoláshoz explicit token szükséges, és anélkül zártan hibázik:

# Custom token via CLI
devui ./agents --auth-token "your-secure-token"

# Custom token via environment variable
export DEVUI_AUTH_TOKEN="your-secure-token"
devui ./agents --host 0.0.0.0

Minden API-kérésnek tartalmaznia kell a tokent a Authorization fejlécben:

curl http://localhost:8080/v1/entities \
  -H "Authorization: Bearer your-secure-token"

A --no-auth elemet csak izolált loopback fejlesztéshez használja. A DevUI elutasítja a nem hitelesített, nem visszacsatolási kötéseket, és még a hitelesítés nélküli visszacsatolási mód is eltávolítja az ellenséges webhelyek által küldött kérelmek elleni védelmet.

Ha közzé kell tennie a DevUI-t a végfelhasználók számára (éles környezetben nem ajánlott):

DEVUI_AUTH_TOKEN="<secure-dev-token>" devui ./agents --mode user --host 0.0.0.0

Ez a konfiguráció:

  • A fejlesztő által használt API-k korlátozása
  • Hitelesítést igényel
  • Kötések az összes hálózati adapterhez

Biztonsági funkciók

A DevUI számos biztonsági intézkedést tartalmaz:

Funkció Leírás
Localhost-kötés Alapértelmezés szerint a 127.0.0.1-hez kapcsolódik
Felhasználói mód A fejlesztői API-k korlátozása
Authentication A bearer tokenes hitelesítés alapértelmezés szerint engedélyezve van
Hitelesítés nélküli mód Csak a(z) localhost vagy 127.0.0.1 esetén engedélyezett
Hálózati társítások Szükséges: DEVUI_AUTH_TOKEN vagy --auth-token
Helyi entitás betöltése Csak a helyi könyvtárakból vagy a memóriában tárolt entitásokat tölti be.
Nincs távoli végrehajtás Nincsenek távoli kódvégrehajtási képességek

Ajánlott eljárások

Hitelesítő adatok kezelése

  • API-kulcsok és titkos kódok tárolása fájlokban .env
  • Soha ne véglegesítse .env a fájlokat a forrásvezérlőben
  • Fájlok használata .env.example a szükséges változók dokumentálásához
# .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/

Hálózati biztonság

  • A DevUI-t a localhosthoz kell kötni fejlesztés céljából
  • Használjon fordított proxyt (nginx, Caddy), ha külső hozzáférésre van szükség
  • HTTPS engedélyezése fordított proxyn keresztül
  • A megfelelő hitelesítés implementálása proxyszinten

Entitás biztonsága

  • Futtatás előtt tekintse át az összes ügynök-/munkafolyamat-kódot
  • Csak megbízható forrásokból származó entitások betöltése
  • Legyen óvatos a mellékhatásokat okozó eszközökkel (fájlhozzáférés, hálózati hívások)

Erőforrás-karbantartás

Regisztrálja a törlési horgokat a hitelesítő adatok és erőforrások megfelelő bezárásához a leállításkor:

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-eszközök szempontjai

Ha a Model Kontextus Protokoll (MCP) eszközöket használja a DevUI-val:

# Correct - DevUI handles cleanup automatically
mcp_tool = MCPStreamableHTTPTool(url="http://localhost:8011/mcp", client=chat_client)
agent = Agent(tools=mcp_tool)
serve(entities=[agent])

Important

Ne használjon async with környezetmenedzsereket a DevUI-hoz készült MCP-eszközökkel rendelkező ügynökök létrehozásakor. A kapcsolatok a végrehajtás előtt bezárulnak. Az MCP-eszközök lusta inicializálást használnak, és első használatkor automatikusan csatlakoznak.

Megjegyzés:

A funkció Go-támogatása hamarosan érkezik. A legújabb állapotot az Agent Framework Go-adattárában tekinthet meg.

Következő lépések

  • Minták – Mintaágensek és munkafolyamatok tallózása
  • API-referencia – Az API-végpontok ismertetése