layerlingدليل الاستخدام
العربية
افتح المحرّر

البناء باستخدام الذكاء الاصطناعي (MCP)

كيف ينشئ مساعد ذكاء اصطناعي مثل Gemini أو Claude أو Codex الأشكال ويغيّرها ويجمّعها ويلتقط صورًا للعرض في المحرر المفتوح لديك.

يأتي layerling مع خادم MCP. وMCP معيار يتيح لمساعد الذكاء الاصطناعي استخدام الأدوات في برامج أخرى. وبه يرى عميل ذكاء اصطناعي مثل Gemini أو Claude أو Codex تبويب محرر مفتوحًا ويعمل فيه: ينشئ الأشكال، ويغيّر الأبعاد، ويجمّع، ويقطع، وينعّم الحواف، ويقرأ المشهد، ويلتقط صورًا للعرض. أنت تصف القطعة، والذكاء الاصطناعي يبنيها، وأنت تراقب ويمكنك التدخل في أي لحظة.

يعمل الجسر بين عميل الذكاء الاصطناعي والمحرر محليًا على جهازك. ولكن ضع في اعتبارك: ما يقرؤه الذكاء الاصطناعي، أي المشهد وصور العرض، يذهب إلى مزوّد عميل الذكاء الاصطناعي لديك، كأي مدخلات أخرى هناك.

الإعداد

  1. احصل على layerling من GitHub وشغّله في مجلد المشروع بالأمر npm run dev. يجب أن يكون Node.js مثبتًا. وعلى Windows يتكفل بذلك سطر البدء السريع في ملف README.
  2. افتح تبويب محرر، مثلًا http://127.0.0.1:3000/?editor=1. ويمكنك ترك ذلك للذكاء الاصطناعي: عندما لا يكون هناك محرر مفتوح، فإن أول أداة تحتاج إليه تشغّل متصفحك بمحرر وتنتظر حتى يتصل. يعمل ذلك مع layerling على كمبيوترك الخاص؛ أما النسخة على NAS أو خادم فتحتاج أن تفتح المحرر بنفسك. ولإيقاف ذلك اضبط LAYERLING_MCP_OPEN_EDITOR=0 لخادم MCP.
  3. اربط عميل الذكاء الاصطناعي بخادم MCP. والعميل يشغّل الخادم بنفسه بالأمر node scripts/layerling-mcp-server.mjs.

Claude Code

لا حاجة لتثبيت شيء: يأتي المشروع بملف .mcp.json يسجّل الخادم، وبالمهارة (skill) في .claude/skills/layerling-mcp-skill. افتح مجلد layerling في Claude Code واطلب مثلًا: "استخدم أدوات layerling MCP لسرد المحررات المفتوحة لدي وفحص المشهد."

Claude Desktop

لا يقرأ Claude Desktop ملفات المشروع. أدخل الخادم في إعداداته الخاصة. واستخدم كقالب الملف docs/mcp/claude-desktop-config.example.json في المشروع، مع استبدال مسار البرنامج النصي بالمسار الكامل على كمبيوترك. ثم أعد تشغيل Claude Desktop.

Codex

انسخ المهارة من docs/skills/layerling-mcp-skill إلى مجلد مهارات Codex، وأدخل الخادم في إعدادات Codex باستخدام docs/mcp/codex-config.example.toml، ثم أعد تشغيل Codex.

Gemini & Antigravity

يكتشف Antigravity تلقائيًا مهارة مساحة العمل في .agents/skills/layerling-mcp-skill. أما Gemini CLI فانسخ له المهارة من docs/skills/layerling-mcp-skill إلى مجلد المهارات العام (~/.gemini/skills/)، وأضف الخادم إلى إعداداتك باستخدام docs/mcp/gemini-config.example.json، ثم أعد تشغيل العميل.

التعليمات المفصلة لكل عميل موجودة في README على GitHub.

نسخة على NAS أو خادم

يمكن للنسخة التي تستضيفها بنفسك أن تسمح لعميل ذكاء اصطناعي بالتحكم في محرراتها المفتوحة عبر الشبكة. وهذا معطّل افتراضيًا، لأن من يستطيع التحكم في الجسر يستطيع قراءة التصاميم المفتوحة وتغييرها. على الخادم، اضبط LAYERLING_MCP_REMOTE على true وLAYERLING_MCP_TOKEN على رمز سري من 16 حرفًا على الأقل (لصورة Docker في environment: في ملف compose؛ دون حاجة لإعادة البناء). افتح تبويب محرر لتلك النسخة وأبقه مفتوحًا، وأعطِ عميل MCP العنوان والرمز نفسه: LAYERLING_URL=http://nas:3000 وLAYERLING_MCP_TOKEN=<the token>.

لا يستطيع سرد المحررات أو التحكم فيها إلا عميل يملك الرمز. ولا تحتاج صفحات المحرر إلى رمز، لكنها لا تُحتسب إلا تحت عنوان أو اسم لا تستخدمه إلا شبكتك الخاصة (عنوان IP، أو اسم بلا نقطة، أو اسم ينتهي بـ.local أو .lan)؛ أما النطاق الحقيقي خلف وكيل عكسي (reverse proxy) فيُضاف إلى LAYERLING_MCP_ALLOWED_HOSTS. استخدم ذلك على شبكة تثق بها، وHTTPS خارجها. والتفاصيل في ملف README.

ما يستطيع الذكاء الاصطناعي فعله

يعمل الذكاء الاصطناعي بالوظائف نفسها التي تعمل بها، وعبر المسار نفسه الذي تمر به أوامرك في المحرر. ووظائف layerling الجديدة تحصل على أمر MCP الخاص بها فورًا. الأدوات:

الأداةما تفعله
layerling_list_editorsتسرد تبويبات المحرر المفتوحة
layerling_open_editorتفتح تبويب محرر جديدًا في متصفحك الافتراضي وتنتظر حتى يتصل (على كمبيوترك الخاص فقط)
layerling_read_sceneتقرأ المشهد والتحديد والوحدات والأبعاد الدقيقة لجميع الأجسام
layerling_list_objectsتسرد جميع الأجسام مع الأبعاد والموضع والتدوير والمعرّف (id)
layerling_select_objectsتحدد أجسامًا
layerling_delete_objectsتحذف أجسامًا
layerling_create_shapeتنشئ شكلًا: صندوقًا، أسطوانة، نصًا (منحنيًا أيضًا)، سنًا لولبيًا، ترسًا، جسم رسم تخطيطي وكل الأشكال الأخرى
layerling_import_fileتستورد ملفًا كما تفعل نافذة الاستيراد: ملف OBJ أو 3MF الملوّن كجسم واحد لكل لون، وملف 3MF الذي فيه عدة أجسام كجسم واحد لكل منها
layerling_add_fontتضيف خطًا خاصًا للنص من ملف TrueType أو OpenType أو WOFF؛ يبقى في المتصفح، ولا يحتفظ التصميم إلا بالحروف التي يستخدمها
layerling_list_fontsتسرد الخطوط المدمجة والخطوط الخاصة، مع المعرّف والاسم
layerling_import_meshتجلب شبكة مثلثات إلى التصميم
layerling_update_objectتغيّر الأبعاد والموضع واللون والاسم، وجسم صلب أو ثقب، وكل ما يكوّن الشكل، بما في ذلك حافة حروف النص
layerling_align_objectsتحاذي الأجسام بعضها مع بعض
layerling_scale_objectsتغيّر حجم الأجسام بنسبة مئوية، معًا أو كلًّا في مكانه
layerling_lay_flatتضع جسمًا بأحد أوجهه على اللوحة
layerling_place_on_faceتضع أجسامًا على وجه جسم آخر، حتى المائل منها، كالمفتاح C
layerling_perforate_faceتقطع نمط ثقوب في وجه مستوٍ؛ وتبقى الثقوب ثقوبًا مجمّعة مع الجسم
layerling_sweep_sketchتسحب مقطعًا مستطيلًا أو دائريًا على طول مسار من النقاط كجسم دقيق واحد؛ والمسار المغلق يصنع حلقة
layerling_push_faceتدفع وجهًا مستويًا للخارج أو تقطع فيه جيبًا، مع إزاحة للداخل من الحافة ونصف قطر للزوايا؛ والجزء الجديد جسم رسم تخطيطي مجمّع مع الجسم
layerling_mate_facesتضع وجه جسم مقابل وجه جسم آخر، وجهًا لوجه أو على استواء واحد
layerling_open_groupتفتح مجموعة حتى يمكن تغيير أجزائها واحدًا واحدًا، وكذلك مجموعة داخل مجموعة مفتوحة
layerling_close_groupتغلقها مجددًا ("تم") أو تلغي
layerling_group_objectsتجمّع أجسامًا
layerling_ungroup_objectsتفكّ المجموعات
layerling_boolean_cutتقطع الأجسام الصلبة بالثقوب
layerling_intersect_objectsتحتفظ فقط بالجزء المشترك بين الأجسام (التقاطع)
layerling_separate_partsتفصل شكلًا إلى أجزائه المنفصلة
layerling_split_objectsتقطع أجسامًا صلبة أو ثقوبًا إلى قسمين بمستوى
layerling_list_edgesتسرد حواف CAD الحقيقية لجسم
layerling_apply_edge_treatmentتشطف الحواف المختارة أو تنعّمها
layerling_hollow_objectتفرّغ جسمًا بجدار متساوي السمك
layerling_list_facesتسرد أوجه جسم دقيق
layerling_delete_facesتحذف أوجهًا وتسدّ الفجوة
layerling_array_objectsتكرّر في صف أو على دائرة
layerling_bundle_objectsتحزم الأجسام كما يفعل Ctrl+B: تتحرك معًا، وتحتفظ بلونها ونوعها، وتخرج منفصلة في التصدير
layerling_layer_textتحوّل نصًا إلى طبقات متراكبة لطباعة متعددة الألوان (حروف، وحواف أعرض، ولوحة بلا ثقوب) أو تعيد بناء هذه الطبقات، مع ثقب لحلقة مفاتيح، وزوايا لكل طبقة، وحافة حروف مستديرة أو مشطوفة؛ ومع قائمة أسماء، بطاقة لكل اسم
layerling_layer_iconتحوّل أيقونة SVG (نص الملف، أو جسم رسم تخطيطي مبثوق) إلى بطاقة أيقونة متعددة الطبقات لطباعة متعددة الألوان - الأيقونة، وحواف أعرض، ولوحة بلا ثقوب - أو تعيد بناءها بعرض أو طبقات جديدة؛ ومع عدد، تملأ اللوحة بنسخ منها
layerling_create_qr_codeتنشئ رمز QR من نص أو عنوان ويب، مثل «رمز QR» في مكتبة الأشكال - الرمز وحده، أو بارزًا على لوح، أو محفورًا، مع تصحيح الأخطاء والعرض والارتفاع والمنطقة الهادئة وكفراغ عند الطلب؛ وتحذّر عندما تصغر الوحدة عن 0.8 مم
layerling_measure_sectionتقيس على مستوى القطع بين نقطتين تلتقطان إلى الحد الخارجي - سمك الجدار، والفجوات، والتوافقات
layerling_show_overhangsتشغّل تظليل البروزات أو توقفه، وتضبط الزاوية، وتذكر لكل جسم المساحة التي ستحتاج إلى دعامات
layerling_estimate_printتقدّر الحجم والوزن وخيط الطباعة للتحديد أو للتصميم كله: لجسم صلب، وكتقدير تقريبي بجدران وحشوة كما في نافذة التصدير
layerling_add_reference_pointsتعلّم نقاطًا مرجعية - في مركز الأجسام أو زواياها أو منتصفات حوافها، أو في مواضع دقيقة - تلتقط إليها الأشكال
layerling_list_reference_pointsتسرد النقاط المرجعية مع معرّفاتها ومواضعها
layerling_remove_reference_pointsتحذف نقاطًا مرجعية حسب المعرّف، أو كلها
layerling_inspect_errorsتعرض آخر رسالة وآخر خطأ، إضافة إلى رسائل الجلسة وأخطائها
layerling_wrap_around_cylinderتلفّ جسمًا مستلقيًا مسطحًا، كملف SVG أو نص مثلًا، حول أسطوانة، للخارج أو للداخل كنقش محفور
layerling_simplify_meshتقلّل عدد مثلثات شبكة مستوردة، إلى نسبة مئوية أو إلى عدد محدد من المثلثات
layerling_save_custom_shapeتحفظ أجسامًا كشكل مخصص، على الخادم أو في المتصفح، لإدراجها في تصاميم أخرى
layerling_list_custom_shapesتسرد الأشكال المخصصة على الخادم وفي المتصفح
layerling_insert_custom_shapeتدرج شكلًا مخصصًا في التصميم المفتوح، في موضع x/z إذا أردت
layerling_delete_custom_shapeتزيل شكلًا مخصصًا؛ وتبقى الأجسام المُدرجة
layerling_show_workplaneتخفي اللوحة بشبكتها وتظهرها، لالتقاط صورة للجانب السفلي مثلًا (العرض فقط)
layerling_set_section_viewتفتح العرض بقطعه على طول مستوى للنظر إلى الداخل (العرض فقط، لا يُقطع شيء فعليًا)
layerling_clear_historyتحذف كل خطوات التراجع نهائيًا، كما يفعل زر "حذف السجل" في عرض السجل؛ وتحتاج confirm: true
layerling_set_history_viewتعرض حالة سابقة للمشروع، كعرض السجل (يبقى التصميم الحقيقي دون تغيير؛ وتنتظر الأدوات التي تغيّر التصميم حتى يُغلق)
layerling_restore_from_historyتعيد أجسامًا (وأجزاء داخل المجموعات أيضًا) من حالة سابقة إلى التصميم كنسخ، كزر الإعادة إلى التصميم في عرض السجل - خطوة واحدة يعيدها التراجع
layerling_export_section_svgتعيد الحدود الخارجية على مستوى القطع كملف SVG بمقياس 1:1، من الأجسام نفسها التي يأخذها التصدير
layerling_export_drawingتصنع الرسم الهندسي للورشة من تصدير "2D": ثلاثة مساقط بمقياس 1:1 على ورقة ISO مع الأبعاد الإجمالية وجدول للثقوب المستديرة، كنص SVG أو PDF
layerling_export_meshتكتب ملف نافذة التصدير بصيغة STL أو 3MF أو OBJ، من الأجسام نفسها؛ إلى مسار على هذا الكمبيوتر، أو بترميز base64
layerling_save_projectيحفظ التصميم القابل للتحرير كله كملف .lyl في مسار على الحاسوب الذي يعمل عليه خادم MCP، دون نافذة حوار؛ لا يُستبدل ملف موجود إلا مع overwrite، ويُكتب عبر ملف مؤقت، ويبقى هدف Ctrl+S في المحرر كما كان
layerling_set_workplaneتضع سطح العمل على جانب جسم أو تعيده إلى اللوحة الأساسية، وتخفيه أو تظهره
layerling_capture_imageتلتقط صورة للعرض: من الأمام، ومن الأعلى، ومن الجانب، وقطريًا من زاوية، وغير ذلك

وهكذا يستطيع الذكاء الاصطناعي التحقق من عمله بنفسه: ينشئ شيئًا، ويلتقط صورة، وينظر، ويحسّن.

مثال

تقول: "ابنِ لي علبة مستديرة قطرها 60 مم وارتفاعها 40 مم بجدار 2.5 مم، مفتوحة من الأعلى، مع غطاء مسطح عليه كلمة 'Tea' مكتوبة على قوس." فينشئ الذكاء الاصطناعي الأسطوانات، ويفرّغ إحداها، ويضع النص المنحني على الغطاء، ويلتقط صورًا في النهاية ليرى هل يتطابق كل شيء.