macOS companion app

راه‌اندازی محیط توسعه در macOS

راه‌اندازی توسعه در macOS

برنامه macOS ‏OpenClaw را از کد منبع بسازید و اجرا کنید.

پیش‌نیازها

  • Xcode 26.2+ (زنجیره‌ابزار Swift 6.2)، روی جدیدترین نسخه macOS موجود در Software Update.
  • Node.js 24 و pnpm برای Gateway، ‏CLI و اسکریپت‌های بسته‌بندی. Node 22.19+ نیز کار می‌کند.

۱. نصب وابستگی‌ها

bash
pnpm install

۲. ساخت و بسته‌بندی برنامه

bash
./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 پایدار نمی‌مانند).

۳. نصب CLI و Gateway

برنامه بسته‌بندی‌شده، نصب‌کننده مرجع scripts/install-cli.sh را در خود دارد. در یک پروفایل تازه، هنگام راه‌اندازی اولیه This Mac را انتخاب کنید؛ برنامه پیش از آغاز دستیار Gateway، ‏CLI و محیط اجرای فضای کاربری منطبق را نصب می‌کند.

برای بازیابی دستی محیط توسعه، ‏CLI منطبق را خودتان نصب کنید:

bash
npm install -g openclaw@<version>

دستورهای pnpm add -g openclaw@<version> و bun add -g openclaw@<version> نیز کار می‌کنند. Node همچنان محیط اجرای توصیه‌شده برای خود Gateway است.

عیب‌یابی

شکست ساخت: ناهماهنگی زنجیره‌ابزار یا SDK

ساخت برنامه macOS به جدیدترین SDK سیستم macOS و زنجیره‌ابزار Swift 6.2 نیاز دارد (Xcode 26.2+).

bash
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...»

بررسی کنید آیا یک فرایند معلق درگاه را در اختیار دارد:

bash
openclaw gateway statusopenclaw gateway stop # اگر از LaunchAgent استفاده نمی‌کنید (حالت توسعه / اجراهای دستی)، فرایند شنونده را پیدا کنید:lsof -nP -iTCP:18789 -sTCP:LISTEN

اگر یک اجرای دستی درگاه را در اختیار دارد، آن را متوقف کنید (Ctrl+C)، یا به‌عنوان آخرین راه‌حل، PID یافت‌شده در بالا را خاتمه دهید.

مرتبط

Was this useful?
On this page

On this page