نظام الإضافات
يدعم Moraya نظام إضافات قابل للتوسيع لإضافة إمكانيات جديدة تتجاوز الميزات المدمجة.
بيان الإضافة
تتضمن كل إضافة ملف بيان plugin.json:
{
"id": "example-plugin",
"name": "Example Plugin",
"version": "1.0.0",
"apiVersion": "1.0",
"entry": {
"darwin-arm64": "bin/plugin-arm64",
"darwin-x64": "bin/plugin-x64",
"win32-x64": "bin/plugin.exe",
"linux-x64": "bin/plugin"
},
"permissions": ["editor:read", "editor:write"],
"sandboxLevel": "local"
}
مستويات الحماية
تعمل الإضافات في أحد ثلاثة مستويات حماية:
| المستوى | بيئة التشغيل | الوصول للشبكة | الوصف |
|---|---|---|---|
| sandbox | JavaScript | لا | الأكثر تقييداً، إضافات JavaScript المستقبلية |
| local | ملف ثنائي أصلي | لا | تنفيذ أصلي بدون شبكة |
| system | ملف ثنائي أصلي | نعم | وصول كامل (يتطلب موافقة صريحة من المستخدم) |
الأذونات
يجب على الإضافات التصريح بالأذونات التي تحتاجها:
| الإذن | الوصف |
|---|---|
editor:read | قراءة محتوى المحرر |
editor:write | تعديل محتوى المحرر |
ai:chat | الوصول إلى وظيفة محادثة الذكاء الاصطناعي |
ai:image | الوصول إلى توليد الصور بالذكاء الاصطناعي |
ai:voice | الوصول إلى النسخ الصوتي |
ai:voice:capture | الوصول إلى التقاط الميكروفون |
net:external | إجراء طلبات شبكة خارجية |
يوافق المستخدمون على الأذونات عند التثبيت. لا يمكن للإضافات تجاوز أذوناتها المُصرّح بها.
تثبيت الإضافات
من ملف ZIP
- افتح الإعدادات (
Cmd+,) > تبويب الإضافات - انقر على “تثبيت من ملف”
- اختر ملف ZIP الخاص بالإضافة
- يتحقق Moraya من البيان ويتحقق من تجزئة SHA256
- راجع الأذونات وأكّد التثبيت
من رابط URL
- افتح الإعدادات > تبويب الإضافات
- انقر على “تثبيت من رابط”
- أدخل رابط تحميل الإضافة وتجزئة SHA256 المتوقعة
- يقوم Moraya بالتحميل والتحقق والتثبيت
إدارة الإضافات
يوفّر تبويب الإضافات في الإعدادات:
- تفعيل/تعطيل — تبديل الإضافات الفردية
- تفاصيل الإضافة — عرض الاسم والإصدار والأذونات ومستوى الحماية
- إلغاء التثبيت — إزالة إضافة وبياناتها
- عزل البيانات — تُخزَّن بيانات كل إضافة في
{appDataDir}/plugins/{pluginId}/data/
الاتصال
تتواصل الإضافات مع Moraya عبر JSON-RPC عبر stdio، بشكل مشابه لخوادم MCP. تُوجَّه الطلبات عبر الواجهة الخلفية Tauri للأمان.