forked from Selig/openclaw-skill
6 custom skills (assign-task, dispatch-webhook, daily-briefing, task-capture, qmd-brain, tts-voice) with technical documentation. Compatible with Claude Code, OpenClaw, Codex CLI, and OpenCode.
49 lines
1.6 KiB
Markdown
49 lines
1.6 KiB
Markdown
# macOS App
|
|
|
|
## Overview
|
|
|
|
The macOS companion application serves as a menu-bar interface for OpenClaw, managing permissions and exposing system capabilities. It owns permissions, manages/attaches to the Gateway locally and provides access to macOS-specific tools.
|
|
|
|
## Core Functionality
|
|
|
|
Key responsibilities include:
|
|
|
|
- Native notifications and menu-bar status display
|
|
- TCC prompt management (Notifications, Accessibility, Screen Recording, etc.)
|
|
- Gateway connection handling (local or remote)
|
|
- macOS tool exposure (Canvas, Camera, Screen Recording, system execution)
|
|
|
|
## Operating Modes
|
|
|
|
The app supports two configurations:
|
|
|
|
1. **Local mode** (default): Attaches to running local Gateway; enables launchd service if needed
|
|
2. **Remote mode**: Connects via SSH/Tailscale; starts node host service for remote Gateway access
|
|
|
|
## Node Capabilities
|
|
|
|
Common command categories available through the macOS node:
|
|
|
|
- Canvas operations (`canvas.present`, `canvas.navigate`, etc.)
|
|
- Camera functions (`camera.snap`, `camera.clip`)
|
|
- Screen recording (`screen.record`)
|
|
- System commands (`system.run`, `system.notify`)
|
|
|
|
## Security Features
|
|
|
|
**Exec approvals** control `system.run` execution through a local configuration file. The system uses pattern-matching for allowlists and stores settings in `~/.openclaw/exec-approvals.json`.
|
|
|
|
## Deep Link Integration
|
|
|
|
The app registers `openclaw://` URLs for triggering agent requests with optional parameters like message content and session keys.
|
|
|
|
## Development
|
|
|
|
Building requires:
|
|
|
|
```bash
|
|
cd apps/macos && swift build
|
|
```
|
|
|
|
Packaging via provided scripts.
|