A cross-platform productivity launcher with AI-powered features. Built for speed, extensibility, and elegance.
GQuick is a Spotlight-like desktop launcher that helps you open apps, search files, manage Docker containers, calculate expressions, translate text, capture screenshots with OCR, and chat with AI - all from a single keyboard-driven interface.
Supported Platforms: macOS Β· Windows Β· (Linux 'WIP')
- Features
- Screenshots
- Installation
- Usage
- Architecture
- Plugin System
- How to Build a Simple Plugin
- Keyboard Shortcuts
- Development
- Building from Source
- CI/CD
- Contributing
- License
- App Launcher - Launch applications instantly
- macOS: Scans
/Applicationsand/System/Applications - Windows: Scans Start Menu
.lnkfiles - Linux: Parses
.desktopfiles
- macOS: Scans
- File Search - Find files and folders by name across your home directory
- Smart Search - AI-powered file search that reads file contents to find the most relevant matches
- Calculator - Evaluate mathematical expressions directly in the search bar
- Docker Manager - List, start, stop, and remove Docker containers and images, search Docker Hub, manage Compose projects
- Web Search - Quick Google searches opened in your default browser
- Quick Translate - Instant text translation powered by AI. Type
t: <text>ortr: <text>for instant translation without opening the full UI - Weather - Current conditions and 7-day forecast powered by Open-Meteo. Type
/wt <city>orweather:to search locations - Speedtest - Measure latency, download, and upload speed via Cloudflare endpoints. Type
speedtestor/st - Network Info - View local IP, public IP, Wi-Fi SSID, and latency. Type
net:,network:, orwifi - Notes - Quick note capture with
note: <content>, search notes withsearch notes: <query>, and browse all notes in a dedicated view - Terminal Commands - Run shell commands directly from the launcher. Type
> <command>to execute inline or in an external terminal - URL Recognition - Type any URL (e.g.,
example.com,localhost:3000) to open it directly in your default browser
- Screenshot Capture - Select any screen region with
Alt+S - OCR (Text Extraction) - Extract text from any screen region with
Alt+O- macOS: Powered by Tesseract OCR
- Windows/Linux: Powered by AI vision models (OpenAI, Gemini, Anthropic)
- Automatically copies extracted text to clipboard
- Multi-Provider Support - Connect to your preferred AI provider:
- OpenAI (GPT-5.*, etc.)
- Google Gemini
- Anthropic Claude
- Streaming Responses - Real-time streaming for a smooth chat experience
- Model Selection - Fetch and select from available models per provider
- Tool Use - AI can invoke plugins as tools (weather, notes, network info, web search, calculations, file search)
- Image Upload - Paste or attach images in chat for vision model analysis (up to 5 images, 5 MB each)
- Global Hotkeys - Invoke from anywhere with system-wide shortcuts
- System Tray - Runs quietly in the background with tray icon access
- Auto-Hide - Window hides automatically when focus is lost
- Cross-Platform Shortcuts - Smart
Ctrl/βkey detection per platform
Check the Releases page for the latest builds:
| Platform | Download |
|---|---|
| macOS (Apple Silicon) | .dmg |
| macOS (Intel) | .dmg |
| Windows | .msi installer |
| Linux | .deb, .rpm, or .AppImage |
See Building from Source below.
- Launch GQuick - it will appear in your system tray
- Press
Alt+Space(macOS/Linux) orAlt+Shift+Space(Windows) to toggle the launcher - Type to search across all plugins
- Use
β/βto navigate results,Enterto select
Type > <command> to run shell commands directly from the launcher:
- Enter - Opens the command in your default terminal
- Left Shift + Enter - Runs the command inline (non-interactive commands only)
- Type
note: <your note>to quickly save a note - Type
search notes: <query>to search your saved notes - Press
Ctrl/Cmd+Nto open the Notes view
Type t: <text> or tr: <text> for instant AI translation without opening the full translate UI. The language is auto-detected and translates English β German by default.
Type any URL directly into the search bar to open it:
example.comorwww.example.comhttps://example.comlocalhost:3000or127.0.0.1:8080
Press Ctrl/Cmd+K to open the actions overlay for quick access to:
- Chat mode
- Notes
- Docker view
- Settings
- Individual plugins
Press Ctrl/Cmd+, to open settings where you can:
- Configure your global shortcut (toggle launcher, screenshot, OCR)
- Set up local shortcuts (quick note, search notes)
- Set up AI provider API keys
- Select your preferred AI model
- Choose UI layout (default or compact)
- Set your default location for weather forecasts
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β FRONTEND (React 19) β
β βββββββββββ ββββββββββββ βββββββββββ ββββββββββββββββββ β
β β App β β Selector β βSettings β β Plugin System β β
β β(Search β β (Region β β(Config) β β 10 Plugins β β
β β + Chat) β β Capture) β β β β β β
β βββββββββββ ββββββββββββ βββββββββββ ββββββββββββββββββ β
ββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββ
β Tauri Commands / Events
ββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββ
β BACKEND (Rust) β
β βββββββββββββ βββββββββββ βββββββββββββββββββββββββββββββ β
β βApp Mgmt β β Capture β β Global Shortcuts β β
β βFile Searchβ β OCR β β Window / Tray / Clipboard β β
β βββββββββββββ βββββββββββ βββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
GQuick uses Tauri 2.0 architecture with a clear separation between:
- Rust Backend - System integration, screen capture, shortcuts, system tray, runtime file search, and terminal helpers
- React Frontend - UI rendering, plugin system, settings, chat interface
- Rust handles screen capture - Avoids CORS/security issues, provides native performance
- Plugin architecture - Decoupled search providers for easy extensibility
- Single HTML entry with window routing -
main.tsxuses Tauri window labels to render App vs Selector - Local state only - No external state library; React
useState/useEffectwithlocalStoragepersistence
GQuick features an extensible plugin architecture. Each plugin implements the GQuickPlugin interface:
interface GQuickPlugin {
metadata: PluginMetadata;
getItems: (query: string) => Promise<SearchResultItem[]>;
}| Plugin | ID | Description | Trigger Keywords / Prefixes |
|---|---|---|---|
| App Launcher | app-launcher |
Launch applications | open, launch, app |
| File Search | file-search |
Find files and folders | file, folder, find |
| Calculator | calculator |
Math expression evaluator | N/A (auto-detected) |
| Docker | docker |
Container/image management | docker: |
| Web Search | web-search |
Google search | search:, google, search, web |
| Translate | translate |
AI-powered translation | translate:, /translate, t:, tr: |
| Notes | notes |
Quick notes and search | note:, search notes:, notes: |
| Weather | weather |
Forecast and current conditions | /wt, weather:, weather, forecast |
| Speedtest | speedtest |
Internet speed test | speedtest, speed test, /st |
| Network Info | network-info |
IP, Wi-Fi, latency | net:, network:, wifi |
- Create a new file in
src/plugins/myPlugin.tsx - Implement the
GQuickPlugininterface - Register it in
src/plugins/index.ts - See How to Build a Simple Plugin for a fuller quick start and checklist
Example:
import { GQuickPlugin } from "./types";
export const myPlugin: GQuickPlugin = {
metadata: {
id: "my-plugin",
title: "My Plugin",
icon: MyIcon,
keywords: ["my", "custom"],
},
getItems: async (query: string) => {
// Return search results based on query
return [];
},
};| Shortcut | macOS | Windows | Linux | Action |
|---|---|---|---|---|
| Toggle Launcher | Alt+Space |
Alt+Shift+Space |
Alt+Space |
Show/hide main window |
| Screenshot | Alt+S |
Alt+S |
Alt+S |
Capture screen region |
| OCR | Alt+O |
Alt+O |
Alt+O |
Extract text from region |
| Shortcut | Action |
|---|---|
Ctrl/Cmd+K |
Toggle actions overlay |
Ctrl/Cmd+Shift+C |
Switch to chat view |
Ctrl/Cmd+N |
Open Notes view |
Ctrl/Cmd+Shift+D |
Open Docker view |
Ctrl/Cmd+Shift+N |
Quick Note (prefills note: in search) |
Ctrl/Cmd+Shift+S |
Search Notes (prefills search notes: in search) |
Ctrl/Cmd+, |
Open settings |
Ctrl/Cmd+R |
Reset chat (chat view only) |
β / β |
Navigate results |
Enter |
Select highlighted item |
Left Shift + Enter |
Run terminal command inline (when command is typed) |
Escape |
Hide window / go back |
# Install Tesseract (required for OCR)
brew install tesseract
# Install dependencies
npm install
# Start development server
npm run tauri dev# Install dependencies
npm install
# Start development server
npm run tauri dev# Install system dependencies (Ubuntu/Debian)
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
libgtk-3-dev \
libappindicator3-dev \
librsvg2-dev \
patchelf \
libpipewire-0.3-dev \
libclang-dev \
clang
# Install dependencies
npm install
# Start development server
npm run tauri dev# Build for current platform
npm run tauri buildThe built application will be in src-tauri/target/release/bundle/.
For local testing without code signing:
CODESIGN_IDENTITY=- npm run tauri buildFor distribution, you'll need an Apple Developer ID certificate. See Code Signing Guide for details.
GQuick uses GitHub Actions for automated cross-platform builds.
The workflow (.github/workflows/build.yml) triggers on:
- Push to
mainbranch - Pull requests to
main - Tag pushes (
v*)
| Runner | Target | Outputs |
|---|---|---|
ubuntu-22.04 |
x86_64-unknown-linux-gnu |
.deb, .rpm, .AppImage |
windows-latest |
x86_64-pc-windows-msvc |
.msi, .exe |
macos-latest |
aarch64-apple-darwin |
.dmg (Apple Silicon) |
Contributions are welcome! Here's how to get started:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow the existing code style
- Add comments for complex logic
- Test on multiple platforms when possible
- Update documentation for new features
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Tauri - Rust-powered desktop framework
- UI powered by React and Tailwind CSS
- Icons by Lucide
- OCR powered by Tesseract on macOS, AI vision models on Windows/Linux
- Screen capture by xcap
Made with β€οΈ by Ricky Dane Perlick


