Overview
RCLI’s 43 actions can be individually enabled or disabled. Preferences persist across sessions in~/Library/RCLI/config/actions.json.
List All Actions
View all actions with their enabled/disabled status:- ✓ = Enabled
- — = Disabled
View Single Action Details
Show parameters, examples, and status for a specific action:Enable/Disable Actions
Via TUI (Interactive)
-
Launch the TUI:
- Press A to open the Actions panel
- Navigate with arrow keys
- Press Enter to toggle enabled/disabled
- Press ESC to close and save preferences
~/Library/RCLI/config/actions.json.
Via CLI
The CLI commands below are conceptual based on the codebase architecture. The actual CLI implementation may differ. Use
rcli --help to see available commands.Direct Action Execution
Execute any action directly (bypasses LLM, runs immediately):Examples
rcli action bypasses the enabled/disabled check.
Persistence
Action preferences are saved to:src/actions/action_registry.cpp:177-248
Default Enabled Actions
The following actions are enabled by default (seedefault_enabled flag in source):
Productivity
- ✓
create_note - ✓
create_reminder
Media
- ✓
play_on_spotify - ✓
play_pause_music - ✓
next_track - ✓
get_now_playing
System
- ✓
open_app - ✓
set_volume - ✓
toggle_dark_mode - ✓
get_battery - ✓
get_wifi
Web
- ✓
search_web
Filtering Actions for Small LLMs
RCLI uses keyword-based relevance filtering to reduce tool context size for small LLMs:- User query arrives — “play some jazz on Spotify”
- Tokenize query — Extract keywords:
["play", "jazz", "spotify"] - Score actions — Each enabled action gets a score based on keyword overlap with name + description
- Top-k selection — Return top 20 highest-scoring actions (configurable)
- LLM inference — LLM sees only relevant actions, reducing prompt size
src/actions/action_registry.cpp:47-123
Tool Call Trace
Press T in the TUI to toggle tool call tracing. When enabled, every LLM tool call is displayed inline:- Debug action failures
- Verify parameter extraction
- Evaluate LLM tool-calling accuracy
- Understand how the LLM routes requests
Benchmark Tool Calling
Run the tool-calling benchmark suite:src/bench/ (benchmark harness)
Safety Considerations
Communication Actions Disabled by Default
To prevent accidental messages or calls, all communication actions are disabled by default:send_messagefacetime_callfacetime_audio
Lock Screen Disabled by Default
lock_screen is disabled to prevent accidental lockouts during voice conversations.
Screenshot Disabled by Default
screenshot is disabled to prevent unintended captures.
Common Workflows
Enable only media and productivity actions
Enable only media and productivity actions
- Press A in the TUI
- Disable all actions except:
create_note,create_reminderplay_on_spotify,play_pause_music,next_track,get_now_playing
- Press ESC to save
Enable everything for maximum control
Enable everything for maximum control
- Press A in the TUI
- Enable all 43 actions
- Press ESC to save
Reset to defaults
Reset to defaults
Troubleshooting
Action not working despite being enabled
Action not working despite being enabled
Check:
- Verify action is enabled:
rcli actions <action_name> - Test direct execution:
rcli action <action_name> '{...}' - Check tool call trace (press T in TUI)
- Run tool-calling benchmark:
rcli bench --suite tools
- LLM failed to extract correct parameters
- AppleScript permissions not granted (check System Settings → Privacy)
- Required app not installed (e.g., Spotify for
play_on_spotify)
Preferences not persisting
Preferences not persisting
Check:
- Verify file exists:
cat ~/Library/RCLI/config/actions.json - Check file permissions:
ls -l ~/Library/RCLI/config/ - Ensure RCLI has write access to
~/Library/RCLI/
LLM not calling the right action
LLM not calling the right action
Solutions:
- Use more specific language: “Play Bohemian Rhapsody on Spotify” vs “Play music”
- Toggle tool call trace (T) to see what the LLM is calling
- Try a larger LLM:
rcli upgrade-llm(2B+ models have better tool-calling accuracy) - Benchmark tool calling:
rcli bench --all-llm --suite tools
Next Steps
- Browse actions by category: Productivity, Communication, Media, System
- Learn about tool calling architecture
- Run benchmarks:
rcli bench --suite tools