macOS 开发环境配置

本指南介绍从源码构建和运行 OpenClaw macOS 应用所需的步骤。

前置要求

在构建应用之前,确保你已经安装了以下工具:

  1. Xcode 26.2+: Swift 开发必需。
  2. Node.js 22+ & pnpm: Gateway、CLI 和打包脚本需要。

1. 安装依赖

安装项目的依赖包:

pnpm install

2. 构建和打包应用

要构建 macOS 应用并打包到 dist/OpenClaw.app,运行:

./scripts/package-mac-app.sh

如果你没有 Apple Developer ID 证书,脚本会自动使用 ad-hoc 签名 (-)。

关于开发运行模式、签名标志和 Team ID 故障排除,请查看 macOS 应用的 README: https://github.com/openclaw/openclaw/blob/main/apps/macos/README.md

注意: Ad-hoc 签名的应用可能会触发安全提示。如果应用立即崩溃并显示 “Abort trap 6”,请查看故障排除部分。

3. 安装 CLI

macOS 应用需要全局安装 openclaw CLI 来管理后台任务。

推荐安装方式:

  1. 打开 OpenClaw 应用。
  2. 进入 General 设置标签页。
  3. 点击 “Install CLI”

或者手动安装:

npm install -g openclaw@<version>

故障排除

构建失败: 工具链或 SDK 不匹配

macOS 应用构建需要最新的 macOS SDK 和 Swift 6.2 工具链。

系统依赖(必需):

  • 软件更新中可用的最新 macOS 版本 (Xcode 26.2 SDK 需要)
  • Xcode 26.2 (Swift 6.2 工具链)

检查方法:

xcodebuild -version
xcrun swift --version

如果版本不匹配,更新 macOS/Xcode 后重新运行构建。

授予权限时应用崩溃

如果你在尝试允许 Speech RecognitionMicrophone 访问时应用崩溃,可能是由于 TCC 缓存损坏或签名不匹配。

解决方法:

  1. 重置 TCC 权限:
    tccutil reset All bot.molt.mac.debug
  2. 如果还是不行,在 scripts/package-mac-app.sh 中临时修改 BUNDLE_ID,强制 macOS 重新识别应用。

Gateway 一直显示 “Starting…”

如果 Gateway 状态一直停留在 “Starting…“,检查是否有僵尸进程占用了端口:

openclaw gateway status
openclaw gateway stop

# 如果你没有使用 LaunchAgent (开发模式 / 手动运行),查找监听进程:
lsof -nP -iTCP:18789 -sTCP:LISTEN

如果是手动运行占用了端口,停止那个进程 (Ctrl+C)。实在不行的话,kill 掉上面找到的 PID。