Skip to main content

What Are Actions?

Actions are macOS automations triggered by voice or text commands through RCLI’s LLM tool-calling system. All 43 actions execute locally using AppleScript and shell commands — no cloud, no API keys.
rcli ask "open Safari"
rcli ask "create a note called Meeting Notes"
rcli ask "play some jazz on Spotify"
The LLM automatically routes your intent to the correct action, extracts parameters from natural language, and executes the corresponding macOS automation.

How Tool Calling Works

RCLI uses model-native tool calling formats to dispatch actions:
  1. User input — Voice (STT) or text query arrives at the LLM
  2. Relevance filtering — Keyword scoring selects top-k relevant actions (reduces context size for small LLMs)
  3. LLM inference — The model generates a tool call in its native format:
    • Qwen3: <tool_call>{"name": "open_app", "arguments": {"app": "Safari"}}</tool_call>
    • LFM2: <|tool_call_start|>{"name": "open_app", "arguments": {"app": "Safari"}}<|tool_call_end|>
  4. ParsingModelProfile::parse_tool_calls() extracts the action name and JSON arguments
  5. ExecutionActionRegistry::execute() runs the action (AppleScript or shell command)
  6. Result fusion — The LLM receives the result JSON and generates a natural language response
Press T in the TUI to toggle tool call tracing. When enabled, every tool call is shown inline:
> open Safari
  ~ [TRACE] Tool call: open_app({"app": "Safari"})
  ~ [TRACE] open_app -> OK: {"success": true, "output": "Opened Safari"}
  RCLI: Done! Safari is now open.
Use rcli bench --suite tools to benchmark tool-calling accuracy and latency for the active LLM.

All 43 Actions

Actions are organized into 7 categories. The Enabled column shows default state — you can toggle any action on/off in the TUI (press A) or via rcli actions.
ActionCategoryDescriptionEnabled
Productivity
create_noteProductivityCreate a new note in Apple Notes
create_reminderProductivityCreate a reminder in Apple Reminders
run_shortcutProductivityRun an Apple Shortcut by name
Communication
send_messageCommunicationSend an iMessage or SMS via Messages.app
facetime_callCommunicationStart a FaceTime video call
facetime_audioCommunicationStart a FaceTime audio call (phone call)
Media
play_on_spotifyMediaSearch and play a song/artist on Spotify
play_apple_musicMediaPlay a song on Apple Music by name
play_pause_musicMediaPlay or pause music (Music.app or Spotify)
next_trackMediaSkip to the next track
previous_trackMediaGo to the previous track
get_now_playingMediaGet the currently playing song and artist
System
open_appSystemOpen an application or website
quit_appSystemQuit a macOS application
open_urlSystemOpen a URL in the default browser
set_volumeSystemSet system volume (0-100)
toggle_dark_modeSystemToggle between light and dark appearance
lock_screenSystemLock the screen
screenshotSystemTake a screenshot
search_filesSystemSearch for files using Spotlight
open_settingsSystemOpen System Settings (optionally to a specific pane)
get_batterySystemGet battery percentage and charging status
get_wifiSystemGet the current Wi-Fi network name
get_ip_addressSystemShow local and public IP addresses
get_uptimeSystemShow how long the system has been running
get_disk_usageSystemShow disk space usage
clipboard_readSystemRead text from clipboard
clipboard_writeSystemCopy text to clipboard
Window
close_windowSystemClose the frontmost window
minimize_windowSystemMinimize the frontmost window
fullscreen_windowSystemToggle fullscreen for the frontmost window
get_frontmost_appSystemGet the name of the currently active application
list_appsSystemList currently running applications
Web / Navigation
search_webWebSearch the web using Google, DuckDuckGo, or Bing
search_youtubeWebSearch YouTube for videos
get_browser_urlWebGet the URL of the active browser tab (Safari/Chrome/Arc)
get_browser_tabsWebList all open browser tabs in the front window
open_mapsNavigationSearch for a place or address in Apple Maps
Legend:
  • ✓ = Enabled by default
  • — = Disabled by default (enable in the Actions panel or via CLI)

Action Categories

Each category groups related functionality:

Productivity

Notes, reminders, and Apple Shortcuts integration

Communication

Messages, FaceTime calls, and contact lookup

Media

Spotify, Apple Music, playback control, volume

System

Apps, settings, volume, dark mode, battery, Wi-Fi, clipboard

Managing Actions

Enable/disable actions, CLI commands, persistence

Quick Examples

rcli listen
# Say: "Create a note called Team Standup"
# Say: "Play Bohemian Rhapsody on Spotify"
# Say: "What's my battery level?"

Next Steps

  • Browse actions by category in the left sidebar
  • Press A in the TUI to manage actions interactively
  • Run rcli actions to list all actions and their status
  • See Managing Actions for enable/disable controls

Build docs developers (and LLMs) love