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 ที่พบด้านบนเป็นทางเลือกสุดท้าย