تشغيل OpenClaw على Wiren Board: كيف يتحكم وكيل الذكاء الاصطناعي في وحدة التحكم ويكتب السكربتات

لم يُشغَّل OpenClaw على حاسوب محمول، بل مباشرة على وحدة التحكم Wiren Board 8. ربط المؤلف الوكيل بـ Telegram، وأضاف إليه مجموعة Skills للتعامل مع أجهزة Modbus، ومنحه صلاحيات موسّعة. وخلال الاختبارات اكتشف البوت الأجهزة المتصلة بالناقل، وفحص البرامج الثابتة، وجمع بيانات قياس حية، وعدّل سكربت wb-rules، بل ساعد أيضًا في بناء واجهة ويب محلية مخصصة لشقة ذكية. أظهرت التجربة أن الوكيل لا يكتفي بالرد في Telegram، بل يعمل مع معدات حقيقية: يقرأ ملفات الإعداد، ويمسح ناقل Modbus، ويكتب السكربتات، ويصحح أخطاءه بنفسه. وفي المقابل، تطلّب التثبيت قدرًا ملحوظًا من الضبط اليدوي، وبدا OpenClaw ثقيلًا على مثل هذا السيناريو.

معالج بواسطة الذكاء الاصطناعي من Habr AI؛ بتحرير Hamidun News
تشغيل OpenClaw على Wiren Board: كيف يتحكم وكيل الذكاء الاصطناعي في وحدة التحكم ويكتب السكربتات
المصدر: Habr AI. كولاج: Hamidun News.
استمع للمقال
بطاقة الحقائق والأرقام
المعيارالتفاصيل
المصدر الأصليHabr AI ↗
رئيس التحرير
حقيقة رئيسية #1ثُبّت `git` و`nodejs`
حقيقة رئيسية #2أُعدّ مجلد منفصل لـ OpenClaw
حقيقة رئيسية #3عُطّلت عبر `package.json` التبعية غير الضرورية `node-llama-cpp`

عادةً ما يُشغَّل OpenClaw كوكيل ذكاء اصطناعي شخصي على حاسوب عادي، لكن فريق Wiren Board قرر الذهاب أبعد من ذلك وأسكنه مباشرة على وحدة التحكم. أظهرت التجربة أن الوكيل لا يكتفي بالرد في Telegram، بل يستطيع العمل مع معدات حقيقية: قراءة ملفات الإعداد، ومسح Modbus، وكتابة السكربتات، وتصحيح أخطائه بنفسه.

كيف جرى النشر

استُخدم في التجربة جهاز Wiren Board 8 مخصص لها، ولم يُثبَّت أحدث إصدار من OpenClaw. اختار المؤلف النسخة 2026.2.22، لأن الإصدارات الأحدث جلبت أخطاء مع Telegram وأصبحت أثقل بشكل ملحوظ. وبدت التبعيات الأساسية متواضعة إلى حد ما، فهي `git` و`Node.js`، ومع ذلك يشغل النظام مساحة لا يستهان بها: نحو 200 ميغابايت للتبعيات على قسم النظام، ونحو 700 ميغابايت إضافية للتطبيق نفسه، ومعظمها بسبب `node_modules`. وجرى التثبيت في الدليل المنزلي للمستخدم `root` على القسم الكبير `/mnt/data/root`.

  • ثُبّت `git` و`nodejs`
  • أُعدّ مجلد منفصل لـ OpenClaw
  • عُطّلت عبر `package.json` التبعية غير الضرورية `node-llama-cpp`
  • ثُبّت `[email protected]` وربطت واجهة CLI عبر `npm link`
  • شُغّلت `gateway` و`doctor` وفُحصت النماذج والسجلات

ثم بدأ الجزء الأقل متعة، وهو ملفات الإعداد. فقد تغيّر تنسيق ملفات JSON بين الإصدارات، ولذلك لم تُنتج الأوامر التلقائية `onboard` و`configure` دائمًا إعدادًا صحيحًا لمزوّدي النماذج المخصصين. وظهرت كذلك غرابة تتعلق بالمفاتيح: فبالنسبة للمزوّدين القياسيين تُؤخذ من `auth-profiles.json`، أما للمزوّدين المخصصين فتُقرأ بشكل غير متوقع من `models.json`. ويصف المؤلف ذلك صراحةً بأنه يشبه الخطأ البرمجي، ولذلك يكرر المفاتيح في الموضعين. وأُضيفت إلى وحدة التحكم أيضًا الحزمة `wireguard-tools` لتجاوز القيود الإقليمية المفروضة لدى بعض مزوّدي LLM.

تعريف الوكيل بالعتاد

بعد الإعداد الأساسي رُبط OpenClaw بـ Telegram. افتراضيًا لا يستطيع البوت تشغيل الأدوات المساعدة أو تغيير النظام أو تنفيذ أي أمور أخرى قد تكون خطرة، ولذلك فُعّلت الصلاحيات الموسّعة يدويًا وسُمح بها لمستخدم Telegram محدد فقط. ثم رُفعت إلى وحدة التحكم مجموعة منفصلة باسم `wb-openclaw-skills` تضم معارف عن عتاد Wiren Board والبروتوكولات والسجلات والأدوات المساعدة المعتادة. وجاءت أول تعليمات تلقاها الوكيل مباشرة قدر الإمكان: عند العمل مع المعدات، عليه دائمًا أن يبحث أولًا عن Skill مناسب من نوع `wb-*` ويستخدمه.

وأثبت الاختبار أن هذا السياق يعمل فعلًا. فقد تحدث الوكيل بثقة عن سلسلة عدادات WB-MAP، ثم مسح ناقل RS-485 واكتشف الأجهزة المتصلة. وكان ردّه القصير كما يلي:

«الآن أرى فعليًا 3 أجهزة Modbus مادية».

وخلف هذا الرد إجراءات حقيقية على وحدة التحكم: فقد تعرّف البوت على الحساس WB-MSW v4، ووحدة الريلاي WB-MR6C، وعداد الكهرباء WB-MAP6S. بعد ذلك فحص البرنامج الثابت للعداد، وتأكد من أن الإصدار 2.12.0 هو الإصدار الحالي، ثم جمع قراءات حية للجهد والقدرة ودرجة الحرارة والرطوبة وثاني أكسيد الكربون CO₂.

حيث أصبحت التجربة مفيدة

بدأ أكثر الاختبارات دلالة بمهمة عملية: كتابة سكربت `wb-rules` يرسل إشعارًا إلى Telegram عند تفعيل أحد مداخل الوحدة MR6C. أنشأ البوت ملف القاعدة وحمّله، بل أبلغ بأن كل شيء جاهز. لكن الرسائل لم تصل في الواقع. عندها مرّ الوكيل بدورة تصحيح أخطاء اعتيادية: وجد استدعاء `curl` غير موثوق، وصحّح المصادقة، وأضاف تشخيصًا إلى السجل، وأعاد تشغيل `wb-rules`، وأرسل رسالة اختبارية. وصلت الرسالة الاختبارية، لكن الأحداث القادمة من المداخل الحقيقية ظلت صامتة، وكان لا بد من التحقيق في هذا أيضًا.

وتبيّن أن السبب الثاني أدق: فبعض الإشارات لا تأتي عبر `Input N` المعتادة، بل عبر عدادات النبضات `Input N counter`. أضاف الوكيل مسار معالجة ثانيًا، وبعد ذلك بدأت الإشعارات تصل فعلًا إلى Telegram.

ولم يتوقف المؤلف عند هذا الحد، بل منح OpenClaw مهمة أكثر طموحًا: تصميم واجهة ويب لشقة ذكية بحسب المعدات المتصلة بالفعل. اقترح البوت ما يمكن أتمتته، وقسّم الواجهة إلى شاشات، وساعد في النهاية في بناء صفحة HTML+JavaScript تعمل عبر MQTT over WebSocket. وُضعت الصفحة في `/var/www/static/`، وأُضيف لها مسار في `nginx`، وفُتحت في الشبكة المحلية كلوحة تحكم مستقلة.

ماذا يعني ذلك

أظهرت التجربة أن OpenClaw على Wiren Board لم يعد بوت دردشة للعروض التوضيحية، بل نموذجًا أوليًا لمشغّل محلي يستطيع قراءة الوثائق والتعامل مع النظام والتفاعل مع الأجهزة المادية. والفائدة هنا واضحة: فبدلًا من العمل اليدوي مع ملفات الإعداد والسجلات والأدوات المساعدة، يمكن إسناد المهام بلغة عادية. لكن كلفة الخطأ ترتفع بشكل حاد أيضًا، لأن الوكيل يحصل على وصول لا إلى خادم مجرد، بل إلى بنية هندسية تحتية حقيقية.

ويرى المؤلف أن OpenClaw نفسه منصة انطلاق مريحة، وإن كان ثقيلًا أكثر مما ينبغي لمثل هذا السيناريو.

أسئلة وأجوبة حول الخبر

ما أبرز التفاصيل حول كيف جرى النشر؟

استُخدم في التجربة جهاز Wiren Board 8 مخصص لها، ولم يُثبَّت أحدث إصدار من OpenClaw. اختار المؤلف النسخة 2026.2.22، لأن الإصدارات الأحدث جلبت أخطاء مع Telegram وأصبحت أثقل بشكل ملحوظ. وبدت التبعيات الأساسية متواضعة إلى حد ما، فهي `git` و`Node.js`، ومع ذلك يشغل النظام مساحة لا يستهان بها: نحو 200 ميغابايت للتبعيات على قسم النظام، ونحو 700 ميغابايت إضافية للتطبيق نفسه، ومعظمها بسبب `node_modules`. وجرى التثبيت في الدليل المنزلي للمستخدم `root` على القسم الكبير `/mnt/data/root`. ثُبّت `git` و`nodejs` أُعدّ مجلد منفصل لـ OpenClaw عُطّلت عبر `package.json` التبعية غير الضرورية `n

ما أبرز التفاصيل حول تعريف الوكيل بالعتاد؟

بعد الإعداد الأساسي رُبط OpenClaw بـ Telegram. افتراضيًا لا يستطيع البوت تشغيل الأدوات المساعدة أو تغيير النظام أو تنفيذ أي أمور أخرى قد تكون خطرة، ولذلك فُعّلت الصلاحيات الموسّعة يدويًا وسُمح بها لمستخدم Telegram محدد فقط. ثم رُفعت إلى وحدة التحكم مجموعة منفصلة باسم `wb-openclaw-skills` تضم معارف عن عتاد Wiren Board والبروتوكولات والسجلات والأدوات المساعدة المعتادة. وجاءت أول تعليمات تلقاها الوكيل مباشرة قدر الإمكان: عند العمل مع المعدات، عليه دائمًا أن يبحث أولًا عن Skill مناسب من نوع `wb-` ويستخدمه. وأثبت الاختبار أن هذا السياق يعمل فعلًا. فقد تحدث الوكيل بثقة عن سلسلة ع

ما أبرز التفاصيل حول حيث أصبحت التجربة مفيدة؟

بدأ أكثر الاختبارات دلالة بمهمة عملية: كتابة سكربت `wb-rules` يرسل إشعارًا إلى Telegram عند تفعيل أحد مداخل الوحدة MR6C. أنشأ البوت ملف القاعدة وحمّله، بل أبلغ بأن كل شيء جاهز. لكن الرسائل لم تصل في الواقع. عندها مرّ الوكيل بدورة تصحيح أخطاء اعتيادية: وجد استدعاء `curl` غير موثوق، وصحّح المصادقة، وأضاف تشخيصًا إلى السجل، وأعاد تشغيل `wb-rules`، وأرسل رسالة اختبارية. وصلت الرسالة الاختبارية، لكن الأحداث القادمة من المداخل الحقيقية ظلت صامتة، وكان لا بد من التحقيق في هذا أيضًا. وتبيّن أن السبب الثاني أدق: فبعض الإشارات لا تأتي عبر `Input N` المعتادة، بل عبر عدادات النبضات `In

ZK
جمال حميدون — مدير المنتجات في Alpina Digital ومدير منتج AlpinaGPT. يبني منتجات الذكاء الاصطناعي منذ 2019. بدأ Hamidun News كمشروع شخصي ثم أصبح مُجمِّعًا إنتاجيًا بأكثر من 6000 قارئ.
✦ Hands-On AI Engineering · Hamidun Academy

Build & Ship Production AI Agents Without Boilerplate Code

Start your free 72-hour trial at Hamidun Academy (academy.hamidun.com) — interactive lessons on Claude Code & Cursor, live Tech Radar, and production agent templates.

Start 72h Free Trial →Vibe-Coding Intensive
ما رأيك؟
جارٍ تحميل التعليقات…