تحركت OpenClaw بسرعة: من اضطراب تسمية Moltbot إلى Clawdbot إلى هوية مستقرة واعتماد متزايد بسرعة من المجتمع. إذا كنت هنا، فمن المحتمل أنك تريد نتيجة عملية واحدة: **عقدة OpenClaw موثوقة تعمل على Raspberry Pi** يمكنك الوثوق بها في المنزل أو على الحافة.
هذا الدليل مخصص للمطورين التقنيين المتعمقين. ستقوم بإعداد OpenClaw مع:
- تبعيات نظام قابلة للاستنساخ،
- عزل الخدمة،
- فحوصات الصحة المستندة إلى النبض (فحوصات رخيصة أولاً)،
- استدعاء النموذج الانتقائي،
- أنماط بيئة الحماية الآمنة الاختيارية،
- ومراقبة على مستوى واجهة برمجة التطبيقات (API).
على طول الطريق، سأوضح أين يساعد **Apidog**: التحقق من صحة نقاط نهاية OpenClaw، وبناء اختبارات الانحدار، وتوثيق واجهة برمجة التطبيقات المحلية الخاصة بك لاستخدام الفريق.
1) قرارات البنية قبل التثبيت
قبل لمس apt، قرر كيف سيعمل جهاز Pi الخاص بك على تشغيل مهام الاستدلال.
الخيار أ: Pi كمنظم، النموذج معفى من التحميل
الأفضل لـ Raspberry Pi 4/5 بذاكرة وصول عشوائي محدودة.
- تقوم OpenClaw بتشغيل التنسيق والجدولة والمكونات الإضافية والنبضات محليًا.
- يتم توجيه استدلال LLM الثقيل إلى مقدمي الخدمات عن بُعد أو خادم نموذج شبكة محلية.
- حمولة حرارية أقل، ووقت تشغيل أفضل.
الخيار ب: Pi للنماذج المحلية الخفيفة فقط
جيد للخصوصية الصارمة والمهام غير المتصلة بالإنترنت.
- استخدم النماذج المدمجة (الكمية، نوافذ سياق صغيرة).
- تقييد المسارات الثقيلة والسلاسل الطويلة.
- توقع مفاضلات في زمن الاستجابة.
الخيار ج: التوجيه الهجين
البنية الأكثر عملية.
- فحوصات حتمية رخيصة أولاً.
- التصعيد إلى استدعاءات النموذج فقط عند الحاجة.
- توجيه المهام منخفضة المخاطر محليًا، والمهام عالية التعقيد عن بُعد.
أصبح هذا النمط "الفحوصات الرخيصة أولاً، النماذج فقط عند الحاجة" استراتيجية أساسية لموثوقية OpenClaw لأنه يتحكم في التكلفة والضغط الحراري وارتفاعات زمن الاستجابة.
2) الأجهزة ونظام التشغيل الأساسي
الأجهزة الموصى بها
- **Raspberry Pi 5 (8GB)** مفضل
- يعمل Raspberry Pi 4 (4GB+) لأعباء العمل الأخف
- NVMe أو SSD عالي الجودة بدلاً من microSD للمتانة
- مصدر طاقة مستقر وتبريد نشط
نظام التشغيل
استخدم **Raspberry Pi OS Lite (64-bit)** أو Ubuntu Server 24.04 لـ ARM64.
ثم قم بالتحديث:
bash sudo apt update && sudo apt upgrade -y sudo reboot
قم بتعيين اسم المضيف ومزامنة الوقت (مهم للسجلات وانتهاء صلاحية الرموز المميزة):
bash sudo hostnamectl set-hostname openclaw-pi sudo timedatectl set-ntp true
3) تثبيت تبعيات وقت التشغيل
تستخدم حزم OpenClaw عادةً عمال Python و/أو Node اعتمادًا على المكونات الإضافية. قم بتثبيت كليهما للبقاء متوافقًا مع الوحدات النمطية المتطورة.
sudo apt install -y git curl wget jq build-essential pkg-config python3 python3-venv python3-pip nodejs npm redis-server sqlite3التحقق من الإصدارات:
bash python3 --version node --version npm --version redis-server --version
لماذا Redis + SQLite؟
- **Redis**: إشارة قائمة انتظار/حالة ذات زمن استجابة منخفض.
- **SQLite**: استمرارية محلية خفيفة الوزن لإعدادات العقدة الواحدة.
لتكوين متعدد العقد لاحقًا، قم بترحيل الاستمرارية إلى Postgres.
4) إنشاء مستخدم خدمة مخصص
تجنب تشغيل الوكلاء كـ pi أو root.
sudo useradd -m -s /bin/bash openclaw sudo usermod -aG sudo openclaw sudo mkdir -p /opt/openclaw sudo chown -R openclaw:openclaw /opt/openclaw
تبديل المستخدم:
bash sudo su - openclaw cd /opt/openclaw
5) استنساخ وتكوين OpenClaw
bash git clone https://github.com//.git app cd app
استبدل بالمسار الرسمي الحالي للمستودع من صفحة مشروع OpenClaw.
إنشاء بيئة Python:
python3 -m venv .venv source .venv/bin/activate pip install --upgrade pip pip install -r requirements.txtإذا كان هناك خدمة Node:
npm ciنسخ قالب البيئة:
cp .env.example .envشكل .env النموذجي:
env OPENCLAW_HOST=0.0.0.0 OPENCLAW_PORT=8080 OPENCLAW_LOG_LEVEL=info
STATE_BACKEND=redis REDIS_URL=redis://127.0.0.1:6379 DB_URL=sqlite:////opt/openclaw/app/data/openclaw.db
MODEL_ROUTER=hybrid LOCAL_MODEL_ENABLED=true REMOTE_MODEL_ENABLED=true REMOTE_MODEL_API_KEY=your_key_here
HEARTBEAT_INTERVAL_SEC=15 HEARTBEAT_TIMEOUT_SEC=5 CHEAP_CHECKS_ENABLED=true
SANDBOX_MODE=on SANDBOX_PROVIDER=processاستخدم chmod 600 .env لحماية الأسرار.
6) إضافة خدمة systemd للموثوقية
إنشاء /etc/systemd/system/openclaw.service:
ini [Unit] Description=OpenClaw Agent Service After=network-online.target redis.service Wants=network-online.target
[Service] Type=simple User=openclaw WorkingDirectory=/opt/openclaw/app Environment="PYTHONUNBUFFERED=1" ExecStart=/opt/openclaw/app/.venv/bin/python -m openclaw.server Restart=always RestartSec=3 TimeoutStartSec=30 TimeoutStopSec=20التحصين الأساسي
NoNewPrivileges=true PrivateTmp=true ProtectSystem=full ProtectHome=true ReadWritePaths=/opt/openclaw/app/data /opt/openclaw/app/logs
[Install] WantedBy=multi-user.target
التمكين والبدء:
sudo systemctl daemon-reload sudo systemctl enable openclaw sudo systemctl start openclaw sudo systemctl status openclawمتابعة السجلات:
bash journalctl -u openclaw -f
7) تطبيق استراتيجية النبض (فحوصات رخيصة أولاً)
درس مجتمعي متكرر: لا تنفق رموز النموذج لاكتشاف الفشل الواضح.
نبض طبقي موصى به
- **فحص عملية L0**: الخدمة تعمل، المنفذ مفتوح.
- **فحص تبعيات L1**: Redis/DB يمكن الوصول إليهما، تأخر قائمة الانتظار مقبول.
- **فحص مهمة حتمية L2**: تشغيل نص برمجي للتحقق الثابت.
- **فحص مسبار مدعوم بنموذج L3**: فقط إذا اجتازت الفحوصات السابقة ولكن الثقة منخفضة.
مثال على التكوين الزائف:
yaml heartbeat: interval_sec: 15 timeout_sec: 5 stages: - name: process type: tcp target: 127.0.0.1:8080 - name: deps type: internal checks: [redis_ping, db_read] - name: deterministic type: task command: "python scripts/selfcheck.py" - name: model_probe type: llm enabled_on: degraded_only
يقلل هذا النمط من التكلفة والإنذارات الخاطئة مع حماية وقت التشغيل على الأجهزة المقيدة.
8) التنفيذ الآمن بحدود بيئة الحماية
إذا كانت OpenClaw تشغل أدوات (shell، متصفح، كتابة ملفات)، فاعزل التنفيذ.
الحد الأدنى الأساسي على Pi:
- تشغيل الأدوات تحت مستخدم غير مميز،
- رفض عمليات الكتابة الواسعة لنظام الملفات،
- قائمة بيضاء للدلائل،
- تعيين مهلة العملية الفرعية وحدود الذاكرة.
إذا كانت حزمتك تدعم بيئات الحماية المعززة (على غرار نماذج بيئة الحماية الآمنة للوكيل)، فاستخدمها لاستدعاءات الأدوات غير الموثوق بها.
حواجز حماية عملية:
env TOOL_EXEC_TIMEOUT_MS=12000 TOOL_MAX_STDOUT_KB=256 TOOL_ALLOWED_PATHS=/opt/openclaw/app/workdir TOOL_BLOCK_NETWORK_BY_DEFAULT=true
بالنسبة للأدوات التي تدعم الشبكة، اسمح بقوائم المضيفين الصريحة فقط.
9) التحقق من صحة واجهات برمجة تطبيقات OpenClaw باستخدام Apidog
بمجرد تشغيل OpenClaw، تعامل معها كأي منتج API: حدد العقود، واختبر السلوك، وتتبع الانحدارات.

لماذا Apidog هنا
يمكنك استخدام Apidog من أجل:
- استيراد أو تصميم مواصفات OpenAPI الخاصة بـ OpenClaw،
- تشغيل الاختبارات الآلية ضد نقاط نهاية Pi المحلية،
- إنشاء تأكيدات مرئية لحمولات النبض،
- محاكاة التبعيات النهائية لتصحيح الأخطاء دون اتصال،
- نشر وثائق تفاعلية لزملائك في الفريق.
مثال على اختبار نقطة نهاية الصحة
افترض نقطة النهاية:
GET /healthz
الاستجابة المتوقعة:
{ "status": "ok", "checks": { "redis": "ok", "db": "ok", "queue_lag_ms": 12 } }
في Apidog، أنشئ سيناريو اختبار:
- تأكيد HTTP 200.
- تأكيد
status == ok. - تأكيد
checks.queue_lag_ms < 100. - أضف بيئة سلبية حيث يتم إيقاف Redis؛ توقع حالة متدهورة.
يحول هذا "يبدو جيدًا" إلى بوابات جودة API قابلة للتكرار.
10) ضبط الأداء على Raspberry Pi
التحكم في وحدة المعالجة المركزية والحرارة
المراقبة:
bash vcgencmd measure_temp uptime top
إذا تجاوزت درجة الحرارة الحدود الآمنة المستدامة، فإن زمن استجابة الاستدلال سيزداد بسبب التقييد الحراري.
ضغط الذاكرة
قم بتمكين zram أو مبادلة متواضعة إذا لزم الأمر، ولكن تجنب أحمال العمل الثقيلة على المبادلة للتدفقات في الوقت الفعلي.
قائمة الانتظار والتزامن
ابدأ بشكل متحفظ:
env WORKER_CONCURRENCY=1 MAX_INFLIGHT_TASKS=4
ثم زد بعد ملاحظة زمن الاستجابة p95 ومعدلات الأخطاء.
تدوير السجلات
منع تآكل SD/SSD:
bash sudo apt install -y logrotate
أضف قواعد تدوير لـ /opt/openclaw/app/logs/*.log.
11) دليل استكشاف الأخطاء وإصلاحها
تقلبات الخدمة كل بضع ثوانٍ
- تحقق من مفاتيح البيئة السيئة أو مفتاح API المفقود.
- قم بتشغيل التطبيق يدويًا داخل venv لرؤية التتبع الكامل للأخطاء.
bash sudo su - openclaw cd /opt/openclaw/app source .venv/bin/activate python -m openclaw.server
اتصال Redis مرفوض
bash sudo systemctl status redis redis-cli ping
إذا لم يكن PONG، قم بإصلاح Redis قبل تصحيح أخطاء OpenClaw.
زمن استجابة مرتفع بعد بضع دقائق
من المرجح أن يكون تقييدًا حراريًا أو ضغطًا على الذاكرة.
- قلل سياق النموذج،
- قلل تزامن العامل،
- انقل الاستدعاءات الثقيلة إلى نموذج بعيد.
النبضات تعمل ولكن المهام تفشل
فحوصاتك سطحية للغاية. أضف فحوصات مهام حتمية تحاكي سير العمل الحقيقي (قراءة ملف، تحليل، تلخيص، ترميز استجابة).
12) قائمة التحقق من التحصين للاستخدام على الحافة القريب من الإنتاج
- مستخدم مخصص (
openclaw)، لا يوجد تشغيل كـ root - سياسة إعادة تشغيل systemd وقيود الموارد
- الأسرار في
.envبأذونات صارمة - إنهاء TLS عبر وكيل عكسي (Caddy/Nginx)
- قائمة سماح لجدار الحماية (LAN/VPN فقط)
- طبقات النبض مع تصعيد مسبار النموذج
- قيود بيئة الحماية للأداة
- اختبارات عقد API في Apidog
- تشغيل اختبارات آلية في CI/CD لتغييرات التكوين
إذا كنت تتعاون عبر فرق الواجهة الخلفية وضمان الجودة والواجهة الأمامية، ضع مواصفات OpenClaw API في مساحة عمل Apidog مشتركة. ستحافظ على تزامن تغييرات المخطط والاختبارات والمحاكاة والوثائق بدلاً من تشتتها عبر الأدوات.
13) مثال على خريطة نقطة النهاية التي يجب عليك الكشف عنها
اجعل السطح صغيرًا وواضحًا:
GET /healthz— الحالة الصحية الأساسيةGET /readyz— جاهزية التبعيةGET /metrics— مقاييس متوافقة مع PrometheusPOST /v1/tasks— إرسال مهمةGET /v1/tasks/{id}— حالة الاستقصاءPOST /v1/chat/completions— نقطة نهاية توافق اختيارية
وثق هذه في OpenAPI. ثم استخدم سير عمل Apidog الذي يركز على المخطط لفرض اتساق الاستجابة وتجنب كسر المستهلكين عند تطور وحدات OpenClaw.
الخلاصة
تشغيل OpenClaw على Raspberry Pi أمر ممكن تمامًا عند التصميم للقيود:
- **تنسيق محليًا، استدلال انتقائيًا**،
- **استخدم طبقات النبض مع فحوصات رخيصة أولاً**،
- **تنفيذ الأدوات في بيئة حماية**،
- **تعامل مع وكيلك المحلي كخدمة API حقيقية** مع الاختبارات والتوثيق.
يمنحك هذا المزيج عقدة ميسورة التكلفة، خاصة، ومستقرة بما يكفي للأتمتة اليومية.
إذا كنت تريد خطوة تالية واضحة، قم باستيراد نقاط نهاية OpenClaw الخاصة بك إلى Apidog وأنشئ ثلاثة اختبارات آلية اليوم: healthz، readyz، وسير عمل مهمة شاملة واحد. ستكتشف الانحدارات مبكرًا وتحافظ على موثوقية نشر Pi الخاص بك مع نمو حزمة وكيلك.
