Fast local file search for Windows & macOS
Sub-25ms search across your entire filesystem — powered by Tantivy, built with Tauri v2.
| Feature | Description |
|---|---|
| ⚡ Blazing Fast | Sub-25ms search powered by Tantivy full-text engine |
| 📁 Incremental Indexing | Only re-indexes changed files (mtime + size + xxh3 hash) |
| 🖥️ Native Desktop App | Built with Tauri v2 — lightweight ~16 MB |
| 💻 CLI with JSON Output | Integrate with any tool or pipeline |
| 🔍 Accent-Insensitive | Search "mae" to find "mãe", "cafe" to find "café" |
| 🏠 4 Search Scopes | Personal → Extended → Full → System |
| ⌨️ Global Shortcut | Ctrl+Space from anywhere — customizable |
| 🗄️ System Tray | Close-to-tray, minimize-to-tray, quick access |
| 📄 40+ File Types | Text, code, config, scripts, web files |
| 🧵 Parallel Processing | Uses all CPU cores via Rayon |
| ⚙️ Configurable | config.toml for extensions, excludes, limits |
argos-search/
├── crates/
│ ├── core/ ← Search engine (Tantivy + SQLite, zero GUI deps)
│ │ ├── config.rs Scope presets, excludes, auto-detect
│ │ ├── engine.rs Tantivy indexing + custom ASCII folding tokenizer
│ │ ├── extractors.rs File content extraction + hashing
│ │ └── metadata.rs SQLite metadata store (WAL mode)
│ ├── cli/ ← Command-line interface (clap, --json)
│ ├── tauri-app/ ← Desktop backend (tray, shortcut, IPC)
│ └── frontend/ ← Web UI (vanilla JS + premium dark theme)
├── config.toml ← User configuration
├── Cargo.toml ← Workspace
└── .github/ ← CI + Release automation
Download the latest installer from Releases.
# Prerequisites: Rust 1.70+, Node.js (for Tauri CLI)
cargo install tauri-cli --version "^2"
# Clone and build
git clone https://github.com/marlonmotta/argos-search.git
cd argos-search
# Run in development mode
cargo tauri dev -c crates/tauri-app/tauri.conf.json
# Or build release binary
cargo tauri build -c crates/tauri-app/tauri.conf.json# Build CLI
cargo build --release -p argos-cli
# Index a folder
cargo run -p argos-cli -- index build --root "C:\Users\You\Documents"
# Search via CLI
cargo run -p argos-cli -- search "my query" --root "C:\Users\You\Documents" --json| Scope | Icon | Coverage |
|---|---|---|
| Personal | 🏠 | Projects, Desktop, Downloads |
| Extended | 💿 | + Documents, other drives/SSDs |
| Full | 📦 | + Program Files, installed software |
| System | 🖥️ | Everything including Windows/macOS system |
Each scope automatically excludes 30+ junk directories (AppData, node_modules, .git, caches, etc.).
| Shortcut | Action |
|---|---|
Ctrl+Space |
Toggle app visibility (global, customizable) |
Ctrl+F |
Focus search box |
Escape |
Clear search / close settings |
Double-click result |
Open file in default app |
Click result |
Copy full path to clipboard |
Right-click result |
Context menu (Open / Open folder / Copy) |
The global shortcut can be customized in Settings (⚙️) → Quick Launch Shortcut → Record.
Edit config.toml to customize:
# Folders to skip during indexing
excludes = ["node_modules", ".git", "target", "AppData"]
# File extensions to index with full content extraction
include_extensions = ["txt", "md", "rs", "py", "js", "ts", "json", "toml"]
# Max file size for text extraction (default: 2 MB)
max_file_size_bytes = 2_097_152
# CPU cores to use (0 = all available)
threads = 0| Component | Technology |
|---|---|
| Search Engine | Tantivy 0.22 |
| Metadata Store | SQLite via rusqlite (bundled, WAL) |
| Desktop Framework | Tauri v2 |
| Parallelism | Rayon |
| File Hashing | xxHash (xxh3_64) |
| Accent Folding | Unicode NFD normalization |
| CLI | clap v4 |
- Full-text search engine with accent-insensitive tokenizer
- Tauri v2 desktop app with premium dark theme
- System tray integration (close-to-tray, minimize-to-tray)
- Global shortcut (
Ctrl+Space, customizable) - 4 search scope presets with smart excludes
- Context menu, file actions, settings panel
- Search history persistence
- Minimal floating search bar (Spotlight/Alfred style)
- Transparent window, no borders, center screen
- 5-10 results with infinite scroll
- Signed
.exeinstaller +.dmg - Auto-start with system
- Content search with snippets
- Advanced filters (extension, size, date)
- Filesystem watcher for incremental updates
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Make your changes and commit:
git commit -m "feat: add my feature" - Push to your fork:
git push origin feature/my-feature - Open a Pull Request against
develop
Use Conventional Commits:
feat:— New featuresfix:— Bug fixesdocs:— Documentationci:— CI/CD changesrefactor:— Code refactoringtest:— Tests
MIT — free for everyone.
Built with 🦀 by Lord Hell