macOS 应用是 OpenClaw 的菜单栏伴侣应用,负责权限管理、Gateway 生命周期,并将 macOS 能力作为节点暴露给 Agent。
核心功能
- 显示原生通知和菜单栏状态
- 管理 TCC 权限(通知、辅助功能、屏幕录制、麦克风、语音识别、AppleScript)
- 运行或连接 Gateway(本地或远程)
- 暴露 macOS 专属工具:Canvas、Camera、Screen Recording、
system.run - 可选托管 PeekabooBridge 用于 UI 自动化
本地 vs 远程模式
- 本地模式(默认):连接已运行的本地 Gateway,否则通过
openclaw gateway install启用 launchd 服务 - 远程模式:通过 SSH/Tailscale 连接远程 Gateway,不启动本地进程;Gateway 发现优先使用 Tailscale MagicDNS 名称
Launchd 控制
# 重启 Gateway
launchctl kickstart -k gui/$UID/ai.openclaw.gateway
# 停止 Gateway
launchctl bootout gui/$UID/ai.openclaw.gateway使用 --profile 时,标签改为 ai.openclaw.<profile>。
节点能力(macOS)
| 命令族 | 示例命令 |
|---|---|
| Canvas | canvas.present, canvas.navigate, canvas.eval, canvas.snapshot |
| Camera | camera.snap, camera.clip |
| Screen | screen.snapshot, screen.record |
| System | system.run, system.notify |
Exec 审批(system.run)
system.run 由 Settings → Exec approvals 控制,配置存储在 ~/.openclaw/exec-approvals.json:
{
"version": 1,
"defaults": { "security": "deny", "ask": "on-miss" },
"agents": {
"main": {
"security": "allowlist",
"ask": "on-miss",
"allowlist": [{ "pattern": "/opt/homebrew/bin/rg" }]
}
}
}allowlist条目为已解析二进制路径的 glob 模式- 包含 shell 控制字符(
&&,||,;,|等)的命令视为 allowlist miss
Deep Links
应用注册 openclaw:// URL scheme:
open 'openclaw://agent?message=Hello%20from%20deep%20link'无 key 时需用户确认;有效 key 时无人值守运行。
State 目录建议
避免将 OpenClaw state 目录放在 iCloud 或其他云同步文件夹中:
OPENCLAW_STATE_DIR=~/.openclawopenclaw doctor 会检测并警告 iCloud 路径。
调试 Gateway 连接
cd apps/macos
swift run openclaw-mac connect --json
swift run openclaw-mac discover --timeout 3000 --json相关链接
- platform-mac-bundled-gateway — macOS Gateway 管理
- platform-mac-permissions — macOS 权限管理
- platform-mac-canvas — Canvas 面板
- platform-mac-remote — 远程控制