الأكاديمية ← دليل المطوّرتوثيق رسمي · شرح عربي واضح

Desktop الإضافات SDK (@hermes/plugin-sdk)

Desktop Plugin SDK (@hermes/plugin-sdk)

للمطور23 دقيقة3 أسئلة2026-08-09
الفكرة في دقيقة

ابدأ بالمعنى، ثم انتقل إلى التفاصيل.

هذا الدرس يشرح Desktop الإضافات SDK (@hermes/plugin-sdk) ضمن موضوع داخل Hermes وكيف يوسّعه المطور. ستعرف ما الذي يفعله هذا الجزء، متى تحتاجه، وما أصغر خطوة آمنة للتأكد أنه يعمل.

إن كنت مبتدئًا

إن كنت جديدًا: لا تحفظ الأسماء. ركّز على ثلاثة أسئلة: ما المشكلة التي يحلها هذا الجزء؟ ما البيانات أو الصلاحيات التي يحتاجها؟ وكيف أعرف أن النتيجة صحيحة؟

للتطبيق العملي

للتطبيق: اقرأ المثال الأول، حدّد ما سيغيّره، نفّذه على بيانات تجريبية، ثم قارن الناتج بما وعد به المصدر.

للمتخصص

للمتخصص: راجع Mental model، Two delivery modes، Quick start — your first plugin، ثم افحص حالات الفشل والتوافق مع إصدارك.

ما الذي تحتاجه قبل البدء؟

اعرف Python وGit وبنية مشروع برمجي قبل تعديل الكود.

ماذا ستعرف؟

نتيجة واضحة قبل أن تقرأ.

  • تفهم Desktop الإضافات SDK (@hermes/plugin-sdk) من دون افتراض معرفة سابقة.
  • تفرّق بين الوصف والمعلومة التي تحتاج إلى اختبار في بيئتك.
  • اقرأ الأمر الأول وحدد المدخلات والمخرجات قبل نسخه.
مصطلحات هذا الدرس

تعريفات قصيرة قبل التفاصيل.

Provider
الخدمة التي تشغّل النموذج أو توفّر الوصول إليه والمصادقة الخاصة به.
وصف الصفحة الرسمي

Extend the native Hermes Desktop app — panes, pages, sidebar nav, status bar, palette commands, keybinds, themes, and a scoped backend namespace, with one import and no build step.

خريطة الموضوع

ما الذي يقوله المصدر، وبأي ترتيب؟

  1. 01
    Mental model

    ابدأ بهذا القسم لتفهم الفكرة أو البنية الأساسية.

  2. 02
    Two delivery modes

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  3. 03
    Quick start — your first plugin

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  4. 04
    The plugin contract

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  5. 05
    Contribution areas — the cookbook

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  6. 06
    Panes

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  7. 07
    Pages and sidebar nav

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  8. 08
    Status bar and title bar

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  9. 09
    Palette commands and keybinds

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  10. 10
    Themes

    اختم بهذا القسم لتفحص النتيجة والحالات الخاصة.

أمثلة من الصفحة الرسمية

انسخ بعد أن تفهم الأثر.

Save it. The app watches `desktop-plugins/`, loads the file within a few seconds, and hot-reloads every later save in place. If it doesn't appear, run ⌘K → **Reload desktop plugins**. If loading fails, a toast names the error — fix and save again. :::note No JSX, no build The disk file is loaded **uncompiled**, so JSX syntax will not parse. Write UI with `jsx()` / `jsxs()` calls from `react/jsx-runtime` (or `React.createElement`). The only importable specifiers are `@hermes/plugin-sdk`, `react`, and `react/jsx-runtime` — everything else fails to resolve, on purpose. ::: ## The plugin contrac
`register` receives a **scoped** `PluginContext`. It never touches the registry directly — the context auto-tags provenance (`source: 'plugin:<id>'`) and namespaces every contribution id (`<id>:<localId>`), so two plugins can never collide.
A **contribution** is the one primitive every surface shares:
تطبيق الآن

اقرأ الأمر الأول وحدد المدخلات والمخرجات قبل نسخه.

طابق أي أمر مع إصدار Hermes المثبّت، وراجع الملفات والحسابات التي قد يصل إليها، واستخدم بيانات غير حساسة في أول اختبار. إذا اختلف الشرح عن المصدر، فالمصدر الرسمي هو المرجع النهائي.

اختبار الفهم

ثلاثة قرارات قبل علامة الاكتمال.

1. ما المرجع النهائي عند تغيّر معلومات «شرح Desktop Plugin SDK (@hermes/plugin-sdk)»؟
2. ما أفضل طريقة لتطبيق هذا الدرس؟
3. ماذا تفعل قبل خطوة قد تعدّل ملفات أو حسابًا خارجيًا؟