تطبيق سطح المكتب والإضافة

إضافة مبرمج لـ Codex وClaude Code: التثبيت والأدوات

إضافتان تصلان وكيلك البرمجي (Claude Code أو Codex) بمشاريعك في مبرمج عبر خادم MCP واحد يستعمل مفتاح API. كل أداة تنادي مساراً في /api/v1 يطلب صلاحية بعينها على المفتاح، وهذه الصفحة تذكر مسار كل أداة وصلاحيتها وما يتطلّب موافقتك الصريحة.

English

في هذه الصفحة

ما هما الإضافتان؟

إضافة لـ Claude Code وأخرى لـ Codex، تحملان الاسم «مبرمج — MoparMeg» وخادم MCP واحداً بنسخةٍ مطابقة داخل كلٍّ منهما. يتحدّث الخادم إلى مبرمج عبر /api/v1 بترويسة Authorization: Bearer ومفتاح API منك، ويقدّم للوكيل تسع عشرة أداة أسماؤها تبدأ بـ moparmeg_، ومعهما مهارة تُلزم الوكيل بقراءة البيانات قبل الكتابة وبطلب موافقتك قبل أي عملية لها أثر خارجي.

صفحة التنزيلات وفيها بطاقة إضافة Codex وClaude Code وزر «خطوات التثبيت»
صفحة التنزيلات وفيها بطاقة إضافة Codex وClaude Code وزر «خطوات التثبيت»

يتطلّب تواصلاً مع الدعم: ملفات الإضافتين موجودة في مستودع المنصة تحت integrations/agent-plugins، ومعها سوق Claude Code محلي باسم moparmeg-ksa. لكن بطاقة الإضافة في صفحة التنزيلات تفتح هذا الدليل فقط ولا تقدّم الملفات للتنزيل، ولا تشير الشيفرة إلى سوق إضافات عام. التثبيت الموصوف أدناه يحتاج نسخة محلية من ذلك المجلد، وللحصول عليها تواصل مع الدعم.

المتطلّبات

  • باقة مدفوعة. المسارات المحميّة ترفض الخطة المجانية برمز API_REQUIRES_PAID_PLAN (HTTP 403). يُستثنى moparmeg_me وفحص الاتصال (مسار /api/v1/me يقبل أي مفتاح صالح)، والقوالب والأقسام عامّة. التفاصيل في مرجع الواجهة البرمجية.
  • Claude Code: Node.js 20 أو أحدث على PATH.
  • Codex: مشغّل الخادم ملف cmd.exe، أي أنه يعمل على ويندوز فقط، ويبحث أولاً عن Node المرفق مع Codex.

١. أنشئ مفتاح API

  1. سجّل الدخول وافتح صفحة «مفاتيح API» على /api-keys.
  2. في «إنشاء مفتاح جديد» اكتب اسماً يميّزه (مثل claude-code).
  3. تحت «الصلاحيات» اختر ما تحتاجه أدواتك (عمود «الصلاحية» في جدول الأدوات أدناه)، ثم اضغط «إنشاء».
  4. انسخ المفتاح فوراً: يبدأ بـ mop_ ويليه ٣٢ محرفاً، ويظهر مرة واحدة فقط. من فقده ينشئ غيره.
  5. لا تلصق المفتاح في محادثة الوكيل أبداً؛ ضعه في إعداد الإضافة أو متغيّر البيئة كما في الخطوات التالية.

الصلاحيات المحدَّدة مسبقاً في النموذج هي كلها عدا «نشر المشاريع وإلغاء نشرها» (publish) و«طلب شراء النطاقات ونقلها» (domains:write)؛ هاتان تُختاران عمداً. والصلاحيات تُختار عند الإنشاء ولا تتغيّر بعده: من احتاج غيرها ينشئ مفتاحاً آخر ويُبطل القديم. والمفتاح الذي أُنشئ قبل الصلاحيات يفتح /api/v1/ai و/api/v1/projects وحدهما، وبقية المسارات المحميّة ترفضه برمز API_KEY_SCOPE_REQUIRED (HTTP 403).

خطوات المفتاح بالتفصيل في صفحة مفاتيح API.

٢. التثبيت في Claude Code

  1. من نسخة محلية تحتوي مجلد الإضافات، أضف السوق المحلي ثم ثبّت الإضافة:
    /plugin marketplace add ./integrations/agent-plugins
    /plugin install moparmeg@moparmeg-ksa
  2. عند تفعيل الإضافة يطلب Claude Code خيار api_key ويخزّنه قيمةً حسّاسة. اتركه فارغاً إن كنت ضبطت المتغيّر MOPARMEG_API_KEY.
  3. بديل المتغيّر: في PowerShell [Environment]::SetEnvironmentVariable("MOPARMEG_API_KEY", "<key>", "User") ثم أعد فتح الطرفية، أو في bash/zsh export MOPARMEG_API_KEY=<key>.
  4. جرّب بطلب «افحص اتصال مبرمج»؛ فيستدعي الوكيل moparmeg_connection_status.

٣. التثبيت في Codex

  1. انسخ مجلد integrations\agent-plugins\codex إلى %USERPROFILE%\plugins\moparmeg (احفظ نسخة من أي إصدار أقدم أولاً).
  2. سجّله في السوق الشخصي ~/.agents/plugins/marketplace.json بمصدر محلي مساره ./plugins/moparmeg.
  3. شغّل سكربت حفظ المفتاح؛ يقرأ المفتاح بإدخال مخفي، ويرفض ما لا يطابق شكل mop_ + ٣٢ محرفاً، ويجرّبه على GET /api/v1/projects قبل حفظه في متغيّر المستخدم MOPARMEG_API_KEY. ردّ 401 يُلغي الحفظ. وردّ 403 برمز API_KEY_SCOPE_REQUIRED أو API_REQUIRES_PAID_PLAN يحفظ المفتاح مع تحذير يسمّي السبب (الصلاحية الناقصة، أو أن الواجهة للباقات المدفوعة)، وأي ردّ 403 آخر يُلغي الحفظ:
    powershell -ExecutionPolicy Bypass -File "$env:USERPROFILE\plugins\moparmeg\scripts\configure_moparmeg_key.ps1"
  4. أعد تشغيل Codex، وافتح /plugins، وثبّت «مبرمج — MoparMeg».

٤. الأدوات التسع عشرة ومساراتها

كل أداة تنادي مساراً واحداً في /api/v1 (عدا فحص الاتصال، والنشر الذي يقرأ المشروع أولاً)، وكل مسار محميّ يطلب على المفتاح الصلاحية المذكورة في الجدول. القوالب والأقسام عامّة وأداتاهما لا ترسلان المفتاح، وmoparmeg_list_sections تُبقي عند الطلب أقسام تخطيط واحد بمعرّفه pack من قائمة packs في الردّ. وmoparmeg_create_project ترسل العنوان والوصف فقط، فينشأ المشروع بالقالب الفارغ، ويخضع لحدّ عدد المشاريع في باقتك: عند بلوغه يُرفض برمز PROJECT_QUOTA (HTTP 403). الجدول يصف ما تقدّمه شيفرة المنصة؛ فإن كان عنوان المنصة الذي تتصل به يعمل بإصدار أقدم يخلو من مسار ما، تتلقى الأداة 404 ويعرض الخادم رسالة «هذه الأداة تتطلّب إصدار واجهة مبرمج الأحدث». أدوات البناء والتصميم بالذكاء الاصطناعي تستهلك حصة الذكاء لباقتك.

الأداةالطلبالصلاحيةالحالة في شيفرة المنصة
moparmeg_connection_statusGET /api/health, GET /api/v1/me (→ GET /api/v1/projects)—المسار موجود
moparmeg_meGET /api/v1/me—المسار موجود
moparmeg_list_modelsGET /api/v1/modelsai:chatالمسار موجود
moparmeg_list_templatesGET /api/v1/templatesعامّالمسار موجود
moparmeg_build_templatePOST /api/v1/templates/buildtemplatesالمسار موجود
moparmeg_list_sectionsGET /api/v1/sectionsعامّالمسار موجود
moparmeg_list_projectsGET /api/v1/projectsprojects:readالمسار موجود
moparmeg_create_projectPOST /api/v1/projectsprojects:writeالمسار موجود
moparmeg_get_projectGET /api/v1/projects/{id}projects:readالمسار موجود
moparmeg_list_pagesGET /api/v1/projects/{id}/pagesprojects:readالمسار موجود
moparmeg_add_pagePOST /api/v1/projects/{id}/pagesprojects:writeالمسار موجود
moparmeg_list_versionsGET /api/v1/projects/{id}/versionsprojects:readالمسار موجود
moparmeg_save_versionPOST /api/v1/projects/{id}/versionsprojects:writeالمسار موجود
moparmeg_ai_buildPOST /api/v1/aiai:chatالمسار موجود
moparmeg_generate_design_systemPOST /api/v1/design/system (SSE)designالمسار موجود
moparmeg_generate_logoPOST /api/v1/design/logodesignالمسار موجود
moparmeg_publish_projectGET /api/v1/projects/{id} → POST /api/v1/projects/{id}/publish (confirm: true)publish + projects:readالمسار موجود
moparmeg_check_domainGET /api/v1/domains/availability?domain=domains:readالمسار موجود
moparmeg_order_domainPOST /api/v1/domains/orders (confirm: true)domains:writeالمسار موجود

moparmeg_generate_design_system تطلب معرّف المشروع واسم العلامة، وتقرأ بثّ المسار حتى نهايته ثم تعيد الملخّص ورموز التصميم وأسماء الملفات المحفوظة في المشروع؛ وحدث خطأ في البثّ يُعدّ فشلاً. وmoparmeg_generate_logo تولّد شعار SVG، وتحفظه في المشروع حين تُعطى معرّفه. وmoparmeg_check_domain تعيد حالة النطاق (متاح، أو محجوز، أو غير معروف) بلا سعر.

٥. النشر وطلب النطاق يتطلّبان تأكيداً

moparmeg_publish_project وmoparmeg_order_domain عمليتان لهما أثر خارجي: موقع عام، ومال حقيقي. كلتاهما ترفض التنفيذ ما لم يصلها confirm: true صريح، وترفض قبل أي طلب شبكي. والمهارة المرفقة تُلزم الوكيل بأن يعرض عليك العملية كاملة (المشروع وملفاته الحالية التي ستُنشر، أو النطاق وعدد السنوات ونوع الطلب) وينتظر موافقتك الصريحة، ثم يعيد النداء بالتأكيد، ولا يذكر سعراً قبل الطلب. وتحتاج كل منهما على المفتاح صلاحية غير محدَّدة مسبقاً: publish (ومعها projects:read للنشر) أو domains:write.

بعد التأكيد: النشر يقرأ ملفات المشروع الحالية وينشرها هي بعينها، فإن تغيّرت بين القراءة والنشر ردّ المسار 409 برمز PUBLISH_REVISION_CONFLICT ولم يُنشر شيء؛ وإلغاء النشر (unpublish: true) لا يحتاج القراءة. وطلب النطاق يُنشئ طلباً لا شراءً فورياً: يعود بحالته، ويُسعَّر آلياً من كلفة المزوّد إن توفّرت وإلا يبقى PENDING_QUOTE إلى أن يسعّره الفريق، والدفع خطوة لاحقة. ويطلب المسار اسم المسجِّل وبريده في contact، ويرفض الباقة التي لا تشمل النطاقات المخصّصة برمز PLAN_CAPABILITY_REQUIRED (HTTP 402).

الأمان

  • المفتاح لا يُطبع: ردود الخادم وأخطاؤه وسجلّه تمرّ بإخفاء المفتاح.
  • يُرسل المفتاح عبر https فقط؛ وhttp مسموح للعنوان المحلي وحده (localhost و127.0.0.1). عنوان المنصة الافتراضي https://moparmeg-ksa.com ويُغيَّر بـ MOPARMEG_BASE_URL (أو خيار base_url في Claude Code).
  • ما تكتبه لأداتي البناء والتصميم يصل مزوّدي الذكاء الاصطناعي؛ لا تضع فيه كلمات مرور أو مفاتيح أو بيانات شخصية لغيرك.
  • إن تسرّب المفتاح فأبطله من صفحة مفاتيح API وأنشئ غيره. المفتاح لا يستطيع إنشاء مفاتيح أخرى: إدارة المفاتيح بجلسة المتصفح وحدها.

رسائل الأخطاء

الرمزالمعنىما تفعله
401المفتاح غائب أو خاطئ أو مُبطَل (API_KEY_INVALID)أنشئ مفتاحاً جديداً في /api-keys
402باقتك لا تشمل هذه العملية (الذكاء الاصطناعي، أو النطاقات المخصّصة)راجع باقتك في الفوترة
403الخطة مجانية (API_REQUIRES_PAID_PLAN)رقِّ باقتك من الفوترة
403المفتاح لا يحمل الصلاحية التي يطلبها المسار (API_KEY_SCOPE_REQUIRED)، والرسالة تسمّيهاأنشئ مفتاحاً بتلك الصلاحية وأبطل القديم
403رفضٌ آخر للعملية (مثل حدّ المشاريع PROJECT_QUOTA) وسببه في الرسالةعالج السبب المذكور ثم أعد المحاولة
409تغيّرت ملفات المشروع قبل النشر (PUBLISH_REVISION_CONFLICT)راجع التغييرات ثم اطلب النشر من جديد
404بلا رسالة: المسار غائب عن إصدار المنصة الذي تتصل به، فيعرض الخادم «هذه الأداة تتطلّب إصدار واجهة مبرمج الأحدث». ومع رسالة: المورد غير موجود (مثل مشروع ليس لك)لا تكرّر المحاولة؛ تحقّق من المعرّف بـ moparmeg_list_projects
429تجاوزت سقف باقتك في الساعة أو سقف العمليةانتظر المدة في ترويسة Retry-After إن وُجدت

أسئلة شائعة

هل أستطيع نشر موقعي من Claude Code اليوم؟

تقدّم الإضافة ذلك: moparmeg_publish_project تنشر ملفات المشروع الحالية بمفتاح يحمل publish وprojects:read، وبعد موافقتك الصريحة (confirm: true). وتمرّ بالبوّابات نفسها التي يمرّ بها النشر من المنصة؛ التفاصيل في صفحة النشر.

هل تعمل الإضافة مع الخطة المجانية؟

جزئياً. moparmeg_me وفحص الاتصال وعرض القوالب والأقسام تعمل، وبقية الأدوات تتلقى رفضاً صريحاً: 403 برمز API_REQUIRES_PAID_PLAN، أو 402 حيث تُسأل الباقة عن الذكاء الاصطناعي أولاً.

مفتاحي القديم يعرض المشاريع لكنه يُرفض في الصفحات والنسخ، لماذا؟

المفتاح الذي أُنشئ قبل الصلاحيات يفتح /api/v1/ai و/api/v1/projects وحدهما. أنشئ مفتاحاً جديداً واختر صلاحياته.

هل Codex على ماك أو لينكس مدعوم؟

مشغّل إضافة Codex مكتوب لـ cmd.exe، فهو لويندوز فقط الآن. إضافة Claude Code تحتاج Node.js فقط.