macOS companion app
การตั้งค่าสภาพแวดล้อมการพัฒนาบน macOS
การตั้งค่าสภาพแวดล้อมนักพัฒนาบน macOS
สร้างและเรียกใช้แอปพลิเคชัน OpenClaw สำหรับ macOS จากซอร์สโค้ด
ข้อกำหนดเบื้องต้น
- Xcode 26.2+ (ชุดเครื่องมือ Swift 6.2) บน macOS เวอร์ชันล่าสุดที่มีใน Software Update
- Node.js 24.15+ และ pnpm สำหรับ Gateway, CLI และสคริปต์การจัดแพ็กเกจ นอกจากนี้ Node 22.22.3+ ก็ใช้งานได้เช่นกัน
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 ที่พบข้างต้น เป็นทางเลือกสุดท้าย