macOS companion app
إعداد بيئة التطوير على macOS
إعداد بيئة التطوير على macOS
أنشئ تطبيق OpenClaw لنظام macOS وشغّله من الشيفرة المصدرية.
المتطلبات الأساسية
- Xcode 26.2+ (سلسلة أدوات Swift 6.2)، على أحدث إصدار متاح من macOS في Software Update.
- Node.js 24 وpnpm من أجل Gateway وCLI ونصوص الحزم. يعمل Node 22.19+ أيضًا.
1. تثبيت الاعتماديات
pnpm install2. إنشاء التطبيق وتحزيمه
./scripts/package-mac-app.shينتج dist/OpenClaw.app. في حال عدم وجود شهادة Apple Developer ID، يعود
النص البرمجي إلى التوقيع المخصص.
للاطلاع على أوضاع التشغيل للتطوير، وخيارات التوقيع، واستكشاف أخطاء Team ID وإصلاحها، راجع
apps/macos/README.md.
حلقة تطوير سريعة من جذر المستودع: scripts/restart-mac.sh (أضف --no-sign
للتوقيع المخصص؛ لا تستمر أذونات TCC عند استخدام --no-sign).
3. تثبيت CLI وGateway
يتضمن التطبيق المحزّم مثبّت scripts/install-cli.sh القياسي. في ملف تعريف
جديد، اختر This Mac أثناء الإعداد الأولي؛ يثبّت التطبيق CLI المتوافق
وبيئة التشغيل ضمن مساحة المستخدم قبل بدء معالج Gateway.
للاسترداد اليدوي في بيئة التطوير، ثبّت CLI المتوافق بنفسك:
npm install -g openclaw@<version>يعمل أيضًا كل من pnpm add -g openclaw@<version> وbun add -g openclaw@<version>.
يظل Node بيئة التشغيل الموصى بها لـGateway نفسه.
استكشاف الأخطاء وإصلاحها
فشل الإنشاء: عدم تطابق سلسلة الأدوات أو SDK
يتطلب إنشاء تطبيق macOS أحدث إصدار من macOS SDK وسلسلة أدوات Swift 6.2 (Xcode 26.2+).
xcodebuild -versionxcrun swift --versionإذا لم تتطابق الإصدارات، فحدّث macOS وXcode ثم أعد تشغيل عملية الإنشاء.
تعطل التطبيق عند منح الإذن
إذا تعطل التطبيق عند محاولة السماح بالوصول إلى Speech Recognition أو Microphone، فقد يرجع ذلك إلى تلف ذاكرة التخزين المؤقت لـTCC أو عدم تطابق التوقيع.
-
أعد تعيين أذونات TCC لمعرّف الحزمة الخاص بتصحيح الأخطاء:
bash tccutil reset All ai.openclaw.mac.debug -
إذا فشل ذلك، فغيّر
BUNDLE_IDمؤقتًا فيscripts/package-mac-app.shلإجبار macOS على البدء من حالة نظيفة.
بقاء Gateway في حالة "Starting..." إلى أجل غير مسمى
تحقق مما إذا كانت عملية معلّقة تشغل المنفذ:
openclaw gateway statusopenclaw gateway stop # إذا لم تكن تستخدم LaunchAgent (وضع التطوير / التشغيل اليدوي)، فابحث عن العملية المستمعة:lsof -nP -iTCP:18789 -sTCP:LISTENإذا كان تشغيل يدوي يشغل المنفذ، فأوقفه (Ctrl+C)، أو أنهِ PID الذي عُثر عليه أعلاه كحل أخير.