Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
DevUI dirancang sebagai aplikasi sampel untuk pengembangan lokal. Halaman ini mencakup pertimbangan keamanan dan praktik terbaik jika Anda perlu mengekspos DevUI di luar localhost.
Peringatan
DevUI tidak ditujukan untuk penggunaan produksi. Untuk penyebaran produksi, bangun antarmuka kustom Anda sendiri menggunakan Agent Framework SDK dengan langkah-langkah keamanan yang sesuai.
Segera hadir
Dokumentasi DevUI untuk C# akan segera hadir. Silakan periksa kembali nanti atau lihat dokumentasi Python untuk panduan konseptual.
Mode UI
DevUI menawarkan dua mode yang mengontrol akses ke fitur:
Mode Pengembang (Default)
Akses penuh ke semua fitur:
- Panel debug dengan informasi pelacakan
- Isi ulang panas untuk pengembangan cepat (
/v1/entities/{id}/reload) - Alat penyebaran (
/v1/deployments) - Pesan kesalahan terperinci untuk debugging
devui ./agents # Developer mode is the default
Mode Pengguna
Antarmuka yang disederhanakan dan dibatasi:
- Antarmuka obrolan dan manajemen percakapan
- Daftar entitas dan info dasar
- API pengembang dinonaktifkan (muat ulang cepat, penyebaran)
- Pesan kesalahan generik (detail dicatat di sisi server)
devui ./agents --mode user
Authentication
Aktifkan autentikasi token Pembawa dengan --auth flag:
devui ./agents --auth
Saat autentikasi diaktifkan:
- Untuk localhost: Token dibuat secara otomatis dan ditampilkan di konsol
- Untuk penyebaran yang diekspos jaringan: Anda harus memberikan token melalui
DEVUI_AUTH_TOKENvariabel lingkungan atau--auth-tokenflag
# 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
Semua permintaan API harus menyertakan token Pembawa yang valid di Authorization header:
curl http://localhost:8080/v1/entities \
-H "Authorization: Bearer your-token-here"
Konfigurasi Penyebaran yang Direkomendasikan
Jika Anda perlu mengekspos DevUI ke pengguna akhir (tidak disarankan untuk produksi):
devui ./agents --mode user --auth --host 0.0.0.0
Konfigurasi ini:
- Membatasi API yang menghadap pengembang
- Memerlukan autentikasi
- Menghubungkan ke semua antarmuka jaringan
Fitur Keamanan
DevUI mencakup beberapa langkah keamanan:
| Fitur | Deskripsi |
|---|---|
| Pengikatan localhost | Ikatan ke 127.0.0.1 secara default |
| Mode pengguna | Membatasi API pengembang |
| Autentikasi pembawa | Autentikasi berbasis token opsional |
| Pemuatan entitas lokal | Hanya memuat entitas dari direktori lokal atau dalam memori |
| Tidak ada eksekusi jarak jauh | Tidak ada kemampuan eksekusi kode jarak jauh |
Praktik Terbaik
Manajemen Kredensial
- Menyimpan kunci dan rahasia API dalam
.envfile - Jangan pernah menerapkan
.envfile ke kontrol sumber - Menggunakan
.env.examplefile untuk mendokumen variabel yang diperlukan
# .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/
Keamanan Jaringan
- Menjaga DevUI terikat ke localhost untuk pengembangan
- Gunakan proksi terbalik (nginx, Caddy) jika akses eksternal diperlukan
- Mengaktifkan HTTPS melalui proksi terbalik
- Menerapkan autentikasi yang tepat di tingkat proksi
Keamanan Entitas
- Tinjau semua kode agen/alur kerja sebelum menjalankan
- Hanya memuat entitas dari sumber tepercaya
- Berhati-hatilah dengan alat yang memiliki efek samping (akses file, panggilan jaringan)
Pembersihan Sumber Daya
Daftarkan kait pembersihan untuk menutup kredensial dan sumber daya dengan benar saat dimatikan:
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])
Pertimbangan Alat MCP
Saat menggunakan alat MCP (Model Context Protocol) dengan 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])
Penting
Jangan gunakan async with manajer konteks saat membuat agen dengan alat MCP untuk DevUI. Koneksi akan ditutup sebelum eksekusi. Alat MCP menggunakan inisialisasi lambat dan terhubung secara otomatis pada penggunaan pertama kali.
Langkah Selanjutnya
- Sampel - Telusuri agen sampel dan alur kerja
- Referensi API - Pelajari tentang titik akhir API