الانتقال إلى المحتوى الرئيسي

التطبيق المرافق لنظام macOS

إعداد التطوير لنظام macOS

يغطي هذا الدليل الخطوات اللازمة لبناء وتشغيل تطبيق OpenClaw لنظام macOS من المصدر.

المتطلبات الأساسية​

قبل بناء التطبيق، تأكد من تثبيت ما يلي:

  1. Xcode 26.2+: مطلوب لتطوير Swift.
  2. Node.js 22+ & pnpm: مطلوب للبوابة (gateway) و CLI ونصوص التغليف.

1. تثبيت التبعيات​

قم بتثبيت التبعيات العامة للمشروع:

pnpm install

2. بناء وتغليف التطبيق​

لبناء تطبيق macOS وتغليفه في dist/OpenClaw.app، قم بتشغيل:

./scripts/package-mac-app.sh

إذا لم يكن لديك شهادة Apple Developer ID، فسيستخدم النص تلقائيًا التوقيع المخصص (ad-hoc) (-). لأوضاع التشغيل للتطوير، وأعلام التوقيع، واستكشاف أخطاء Team ID، راجع ملف README الخاص بتطبيق macOS: https://github.com/openclaw/openclaw/blob/main/apps/macos/README.md

ملاحظة: قد تسبب التطبيقات الموقعة مخصصًا ظهور مطالبات أمنية. إذا تعطل التطبيق فورًا مع رسالة "Abort trap 6"، راجع قسم استكشاف الأخطاء وإصلاحها.

3. تثبيت CLI​

يتوقع تطبيق macOS تثبيت openclaw CLI عالميًا لإدارة المهام في الخلفية. لتثبيته (موصى به):

  1. افتح تطبيق OpenClaw.
  2. انتقل إلى علامة تبويب الإعدادات General.
  3. انقر على "Install CLI".

بدلاً من ذلك، يمكنك تثبيته يدويًا:

npm install -g openclaw@<version>

استكشاف الأخطاء وإصلاحها​

فشل البناء: عدم تطابق أدوات التطوير أو SDK​

يتوقع بناء تطبيق macOS أحدث إصدار من macOS SDK وأدوات Swift 6.2. التبعيات النظامية (مطلوبة):

  • أحدث إصدار من macOS متاح في تحديث البرامج (مطلوب بواسطة Xcode 26.2 SDKs)
  • Xcode 26.2 (أدوات Swift 6.2)

الفحوصات:

xcodebuild -version
xcrun swift --version

إذا كانت الإصدارات غير متطابقة، قم بتحديث macOS/Xcode وأعد تشغيل عملية البناء.

تعطل التطبيق عند منح الإذن​

إذا تعطل التطبيق عند محاولة السماح بالوصول إلى التعرف على الكلام أو الميكروفون، فقد يكون السبب هو ذاكرة تخزين مؤقت تالفة لـ TCC أو عدم تطابق في التوقيع. الإصلاح:

  1. إعادة تعيين أذونات TCC:

    نسخ

    tccutil reset All ai.openclaw.mac.debug
  2. إذا فشل ذلك، قم بتغيير BUNDLE_ID مؤقتًا في ملف scripts/package-mac-app.sh لإجبار النظام على التعامل معه كـ "بداية نظيفة".

البوابة "جارٍ البدء..." بشكل غير منته​

إذا ظل حالة البوابة على "جارٍ البدء..."، تحقق مما إذا كانت هناك عملية زومبي تحتجز المنفذ:

openclaw gateway status
openclaw gateway stop

# إذا كنت لا تستخدم LaunchAgent (وضع التطوير / تشغيل يدوي)، ابحث عن المستمع:
lsof -nP -iTCP:18789 -sTCP:LISTEN

إذا كان تشغيل يدوي يحتجز المنفذ، أوقف تلك العملية (Ctrl+C). كحل أخير، أوقف معرف العملية (PID) الذي وجدته أعلاه.

Raspberry Piشريط القائمة