macOS companion app
macOS permissions
ترتبط منح أذونات macOS بهشاشة عالية. يربط TCC منح الإذن بتوقيع الشيفرة الخاص بالتطبيق، ومعرّف الحزمة، والمسار على القرص. وإذا تغيّر أي من هذه العناصر، يعامل macOS التطبيق على أنه جديد وقد يسقط المطالبات أو يخفيها.
متطلبات الأذونات المستقرة
- المسار نفسه: شغّل التطبيق من موقع ثابت (بالنسبة إلى OpenClaw،
dist/OpenClaw.app). - معرّف الحزمة نفسه: يؤدي تغيير معرّف الحزمة إلى إنشاء هوية أذونات جديدة.
- تطبيق موقّع: لا تحتفظ البنيات غير الموقعة أو الموقعة بتوقيع ad-hoc بالأذونات.
- توقيع متسق: استخدم شهادة Apple Development أو Developer ID حقيقية حتى يبقى التوقيع ثابتًا عبر عمليات إعادة البناء.
تولّد تواقيع ad-hoc هوية جديدة في كل بناء. وسينسى macOS المنح السابقة، وقد تختفي المطالبات بالكامل حتى يتم مسح الإدخالات القديمة.
قائمة التحقق عند اختفاء المطالبات
- أغلق التطبيق.
- أزل إدخال التطبيق في System Settings -> Privacy & Security.
- أعد تشغيل التطبيق من المسار نفسه وامنح الأذونات مرة أخرى.
- إذا لم تظهر المطالبة بعد ذلك، فأعد تعيين إدخالات TCC باستخدام
tccutilثم حاول مرة أخرى. - لا تعود بعض الأذونات إلى الظهور إلا بعد إعادة تشغيل macOS بالكامل.
أمثلة على إعادة التعيين (استبدل معرّف الحزمة عند الحاجة):
sudo tccutil reset Accessibility ai.openclaw.mac
sudo tccutil reset ScreenCapture ai.openclaw.mac
sudo tccutil reset AppleEvents
أذونات الملفات والمجلدات (Desktop/Documents/Downloads)
قد يفرض macOS أيضًا قيودًا على Desktop وDocuments وDownloads بالنسبة إلى عمليات الطرفية/الخلفية. وإذا علقت قراءات الملفات أو عمليات إدراج الأدلة، فامنح الوصول إلى سياق العملية نفسه الذي ينفّذ عمليات الملفات (مثل Terminal/iTerm، أو التطبيق الذي أطلقه LaunchAgent، أو عملية SSH).
حل بديل: انقل الملفات إلى مساحة عمل OpenClaw (~/.openclaw/workspace) إذا كنت تريد تجنّب منح أذونات لكل مجلد على حدة.
إذا كنت تختبر الأذونات، فاحرص دائمًا على التوقيع بشهادة حقيقية. تكون بنيات ad-hoc مقبولة فقط للتشغيلات المحلية السريعة التي لا تكون فيها الأذونات مهمة.