Recaller searches your files and shell history locally with smart ranking, instant help lookup, and terminal integration. All processing happens on your machine - your command history never leaves your computer.
Install Recaller easily with this script!
curl -sf https://raw.githubusercontent.com/cybrota/recaller/refs/heads/main/install.sh | shKey Features of Recaller:
- Smart Command Search: Commands ranked by frequency and recency with configurable search modes.
- Instant Help: View man pages and command documentation without leaving the interface.
- Terminal Integration: Copy to clipboard or execute in new terminal tabs.
- Multi-Directory Indexing: Index multiple directories simultaneously for comprehensive file search.
- Auto Re-indexing: Automatically discovers new files when launching the search UI.
- Smart File Ranking: Files ranked by access frequency and recency.
- Privacy First: All processing happens locally - your history stays on your machine.
Tired of forgetting complex commands or searching for files across different directories? Recaller is here to help. It provides a fast, private, and efficient way to search your command history and files. With its smart ranking and instant help features, you can boost your productivity and streamline your workflow. And since all processing happens locally, your data remains private and secure.
Install Script (Recommended)
curl -sf https://raw.githubusercontent.com/cybrota/recaller/refs/heads/main/install.sh | shOr via HomeBrew (Ideal for macOS users)
brew tap cybrota/cybrota
brew install recallerOr build from source (requires Go 1.18+)
git clone https://github.com/cybrota/recaller.git
cd recaller && go build -o recaller . && sudo mv recaller /usr/local/bin/Shell Configuration (Required for Bash users)
- Bash: Follow setup guide to enable timestamped history
- Zsh: Works out of the box, see setup guide for optimization
Configuration (Optional)
Create ~/.recaller.yaml to customize search behavior:
history:
# Default: true (fuzzy search - matches substring anywhere)
enable_fuzzing: true
# Set to false for prefix-based search only
# enable_fuzzing: false
filesystem:
# Enable filesystem search functionality
enabled: true
# Maximum number of files to index (default: 100000)
max_indexed_files: 100000
# Bloom filter settings for memory efficiency
bloom_filter_size: 1000000
bloom_filter_hashes: 5
# Patterns to ignore during indexing
ignore_patterns:
- "*.tmp"
- "*.log"
- ".git"
- "node_modules"
- ".DS_Store"
# Reduce the verbosity of app. Default is false.
quiet: truerecaller # Launch interactive command history search
recaller run # Same as above
recaller history # View history with filtering# Index directories for filesystem search
recaller fs index # Index current directory recursively
recaller fs index ~/Documents # Index specific directory recursively
recaller fs index /usr/local ~/code # Index multiple directories recursively
# Launch filesystem search UI
recaller fs # Launch search UI (auto re-indexes tracked paths)
# Manage filesystem index
recaller fs clean --stale # Remove entries for deleted files
recaller fs clean --older-than 30 # Remove entries older than 30 days
recaller fs clean --clear # Clear entire index
recaller fs clean --dry-run # Preview what would be cleanedrecaller settings list # View current configuration settings
recaller version # Check versionContributions welcome! Areas for improvement:
- Shell support (Fish, PowerShell)
- Terminal emulator support
- Performance optimizations
- Test coverage
git clone https://github.com/cybrota/recaller.git
cd recaller && go mod tidy && go run .Licensed under the Apache License, Version 2.0. See LICENSE for details.
Copyright © 2025 Naren Yellavula