Overview
RCLI provides 43 macOS actions that allow you to control your Mac using voice or text. The LLM automatically routes your intent to the appropriate action, executes it via AppleScript or shell commands, and returns the result.Voice-Activated
Speak naturally - the LLM understands intent
Text Commands
Use
rcli ask "<command>" for scriptingTool Calling
LLM-native tool formats (Qwen3, LFM2)
Enable/Disable
Customize which actions are available
Action Categories
Productivity
| Action | Description | Example |
|---|---|---|
create_note | Create a note in Apple Notes | ”Create a note called Meeting Notes” |
create_reminder | Create a reminder with due date | ”Remind me to call John tomorrow” |
run_shortcut | Execute Apple Shortcuts | ”Run my morning routine shortcut” |
Communication
| Action | Description | Example |
|---|---|---|
send_message | Send iMessage or SMS | ”Send a message to Alice saying I’m running late” |
facetime_call | Start FaceTime video call | ”FaceTime Bob” |
facetime_audio | Start FaceTime audio call | ”Call Mom on FaceTime audio” |
Media
| Action | Description | Example |
|---|---|---|
play_on_spotify | Search and play on Spotify | ”Play some jazz on Spotify” |
play_apple_music | Play from Apple Music library | ”Play my workout playlist” |
play_pause_music | Toggle play/pause | ”Pause the music” |
next_track | Skip to next track | ”Next song” |
previous_track | Go to previous track | ”Previous track” |
set_music_volume | Adjust music volume | ”Set music volume to 50” |
get_now_playing | Get current track info | ”What’s playing?” |
System
| Action | Description | Example |
|---|---|---|
open_app | Launch an application | ”Open Safari” |
quit_app | Quit an application | ”Quit Chrome” |
set_volume | Set system volume | ”Set volume to 75” |
toggle_dark_mode | Switch light/dark mode | ”Turn on dark mode” |
lock_screen | Lock the Mac | ”Lock my computer” |
screenshot | Capture screenshot | ”Take a screenshot” |
search_files | Search files with Spotlight | ”Find my tax documents” |
open_settings | Open System Settings | ”Open settings” |
open_url | Open URL in browser | ”Open github.com” |
get_battery | Get battery status | ”What’s my battery level?” |
get_wifi | Get WiFi network name | ”What WiFi am I connected to?” |
get_ip_address | Get IP address | ”What’s my IP address?” |
get_uptime | Get system uptime | ”How long has my Mac been running?” |
get_disk_usage | Get disk space info | ”How much disk space do I have?” |
Window Management
| Action | Description | Example |
|---|---|---|
close_window | Close active window | ”Close this window” |
minimize_window | Minimize active window | ”Minimize the window” |
fullscreen_window | Toggle fullscreen | ”Make this fullscreen” |
get_frontmost_app | Get active app name | ”What app is open?” |
list_apps | List running apps | ”What apps are running?” |
Web & Navigation
| Action | Description | Example |
|---|---|---|
search_web | Google search | ”Search for Apple Silicon benchmarks” |
search_youtube | YouTube search | ”Find videos about Qwen3” |
get_browser_url | Get active tab URL | ”What URL am I on?” |
get_browser_tabs | List all open tabs | ”What tabs do I have open?” |
open_maps | Open Apple Maps | ”Navigate to the Golden Gate Bridge” |
Clipboard
| Action | Description | Example |
|---|---|---|
clipboard_read | Get clipboard content | ”What’s in my clipboard?” |
clipboard_write | Set clipboard content | ”Copy ‘Hello World’ to clipboard” |
Tool Calling Architecture
RCLI uses LLM-native tool calling with model-specific formats:AppleScript Executor
Most actions are implemented using AppleScript for macOS automation:All AppleScript is executed synchronously with a 10-second timeout to prevent hanging.
Example: create_note Action
Managing Actions
Enable/Disable Actions
You can control which actions are available to the LLM:- Interactive TUI
- CLI
- C API
Press A in the TUI to open the Actions panel:
- Arrow Keys: Navigate actions
- SPACE: Toggle enable/disable
- ENTER: Execute action directly
- ESC: Close panel
~/Library/RCLI/config/actions.json.Tool Definition Filtering
For small LLMs (< 2B params), RCLI uses top-k relevance scoring to filter tool definitions:This reduces context overhead from ~12K tokens (all 43 tools) to ~2K tokens (top 7 tools).
Tool Call Trace
Press T in the TUI to enable tool call tracing. Every tool call and result will be displayed inline:rcli bench --suite tools to benchmark tool-calling accuracy:
Safety Considerations
Next Steps
Action Details
See complete action reference with parameters
Adding Actions
Learn how to implement custom actions
Voice Pipeline
Understand the STT → LLM → TTS flow
Commands
Explore all RCLI commands