feat(settings): add model provider management with full CRUD support

Add a new settings page for managing API model providers (name, API URL,
API key, applicable agent types). Includes database migration, SeaORM
entity, backend CRUD commands/handlers, frontend settings UI with agent
type filter, add/edit/delete dialogs, and i18n support for all 10 locales.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
xintaofei
2026-04-05 16:35:14 +08:00
parent 6359651247
commit ba19299696
32 changed files with 1501 additions and 11 deletions

View File

@@ -93,7 +93,8 @@
"version_control": "التحكم بالإصدارات",
"system": "النظام",
"chat_channels": "قنوات المحادثة",
"web_service": "خدمة الويب"
"web_service": "خدمة الويب",
"model_providers": "مزودو النماذج"
}
},
"AppearanceSettings": {
@@ -1808,5 +1809,37 @@
"pt": "البرتغالية",
"ar": "العربية"
}
},
"ModelProviderSettings": {
"sectionTitle": "مزودو النماذج",
"sectionDescription": "إدارة بيانات اعتماد مزودي API للوكلاء.",
"filterAll": "الكل",
"providerListTitle": "المزودون المُعدّون",
"addProvider": "إضافة مزود",
"editProvider": "تعديل المزود",
"noProviders": "لم يتم تكوين أي مزود نماذج بعد.",
"providerName": "الاسم",
"providerNamePlaceholder": "مثال: OpenAI، Anthropic",
"apiUrl": "عنوان API",
"apiUrlPlaceholder": "https://api.openai.com/v1",
"apiKey": "مفتاح API",
"apiKeyPlaceholder": "sk-...",
"apiKeyKeepCurrent": "اتركه فارغاً للإبقاء على الحالي",
"agentTypes": "أنواع الوكلاء",
"agentTypesRequired": "يجب اختيار نوع وكيل واحد على الأقل.",
"nameRequired": "اسم المزود مطلوب.",
"apiUrlRequired": "عنوان API مطلوب.",
"apiKeyRequired": "مفتاح API مطلوب.",
"loadFailed": "فشل تحميل المزودين.",
"saveFailed": "فشل حفظ التغييرات.",
"createSuccess": "تم إنشاء المزود.",
"editSuccess": "تم تحديث المزود.",
"deleteSuccess": "تم حذف المزود.",
"deleteConfirmTitle": "حذف المزود",
"deleteConfirmMessage": "سيتم حذف المزود \"{name}\" نهائياً. هل أنت متأكد؟",
"cancel": "إلغاء",
"delete": "حذف",
"create": "إنشاء",
"save": "حفظ"
}
}