إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
تم تصميم DevUI كتطبيق عينة للتنمية المحلية. تغطي هذه الصفحة اعتبارات الأمان وأفضل الممارسات إذا كنت بحاجة إلى كشف DevUI خارج المضيف المحلي.
تحذير
DevUI غير مخصص لاستخدام الإنتاج. بالنسبة إلى عمليات نشر الإنتاج، قم بإنشاء واجهة مخصصة خاصة بك باستخدام Agent Framework SDK مع مقاييس الأمان المناسبة.
قريباً
ستتوفر وثائق DevUI ل C# قريبا. يرجى التحقق مرة أخرى لاحقا أو الرجوع إلى وثائق Python للحصول على إرشادات تصورية.
أوضاع واجهة المستخدم
يوفر DevUI وضعين يتحكمان في الوصول إلى الميزات:
وضع المطور (افتراضي)
الوصول الكامل إلى جميع الميزات:
- لوحة تتبع الأخطاء مع معلومات التتبع
- إعادة التحميل السريع للتطوير السريع (
/v1/entities/{id}/reload) - أدوات التوزيع (
/v1/deployments) - رسائل الخطأ المطولة لتصحيح الأخطاء
devui ./agents # Developer mode is the default
وضع المستخدم
واجهة مبسطة ومقيدة:
- واجهة الدردشة وإدارة المحادثة
- قائمة الكيانات والمعلومات الأساسية
- تم تعطيل واجهات برمجة تطبيقات المطور (إعادة التحميل السريع، النشر)
- رسائل الخطأ العامة (التفاصيل المسجلة من جانب الخادم)
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
يجب أن تتضمن جميع طلبات واجهة برمجة التطبيقات رمزا مميزا صالحا للحامل في Authorization العنوان:
curl http://localhost:8080/v1/entities \
-H "Authorization: Bearer your-token-here"
تكوين النشر الموصى به
إذا كنت بحاجة إلى عرض DevUI للمستخدمين النهائيين (غير مستحسن للإنتاج):
devui ./agents --mode user --auth --host 0.0.0.0
هذَا التَكوِين:
- تقييد واجهات برمجة التطبيقات التي تواجه المطور
- يتطلب المصادقة
- ربط بجميع واجهات الشبكة
ميزات الأمان
يتضمن DevUI العديد من التدابير الأمنية:
| الميزة | Description |
|---|---|
| ربط المضيف المحلي | ربط إلى 127.0.0.1 بشكل افتراضي |
| وضع المستخدم | تقييد واجهات برمجة تطبيقات المطور |
| مصادقة الحامل | المصادقة الاختيارية المستندة إلى الرمز المميز |
| تحميل الكيان المحلي | تحميل الكيانات فقط من الدلائل المحلية أو في الذاكرة |
| لا يوجد تنفيذ عن بعد | لا توجد قدرات تنفيذ التعليمات البرمجية عن بعد |
أفضل الممارسات
إدارة بيانات الاعتماد
- تخزين مفاتيح 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])
Important
لا تستخدم async with مديري السياق عند إنشاء عوامل باستخدام أدوات MCP ل DevUI. سيتم إغلاق الاتصالات قبل التنفيذ. تستخدم أدوات MCP التهيئة البطيئة وتتصل تلقائيا عند الاستخدام الأول.
Note
سيتوفر الدعم لهذه الميزة قريبا. راجع مستودع Agent Framework Go للحصول على أحدث حالة.
الخطوات التالية
- عينات - استعراض نماذج العوامل ومهام سير العمل
- مرجع واجهة برمجة التطبيقات - تعرف على نقاط نهاية واجهة برمجة التطبيقات