Skip to content

🤖AI-Powered Assistance Right at Your Fingertips. Instantly get short, smart, and free AI responses right inside PowerToys Run. Seamless, fast, and privacy-friendly.

License

Notifications You must be signed in to change notification settings

ruslanlap/PowerToysRun-QuickAi

Repository files navigation

🤖 QuickAI for PowerToys Run

QuickAI Icon

⚡ AI-Powered Assistance Right at Your Fingertips ⚡

Never leave your workflow to get AI help again.
Access multiple AI providers instantly with Alt+Spaceai explain quantum computing → Done! ✨

Build Status Latest Release Maintenance C# .NET 9.0 Version PRs Welcome GitHub stars GitHub issues GitHub all releases Made with Love AI Powered PowerToys Compatible Platform License Mentioned in Awesome PowerToys Run Plugins

📊 Download Statistics

Total Downloads

🎯 Why Developers Love QuickAI

"Stop switching between browser tabs and AI chat interfaces"

❌ Before ✅ With QuickAI
Open browser → Login to AI → Type question → Copy Alt+Spaceai speed of light → Copy
30+ seconds, context switching 2 seconds, zero interruption

🚀 Quick Demo - Try it now:

Alt+Space → ai explain recursion    # 🧠 Complex concepts
Alt+Space → ai write python script  # 🐍 Code generation  
Alt+Space → ai summarize this       # 📝 Text analysis
Alt+Space → ai translate to french  # 🌍 Language tasks
QuickAI Plugin Demo

⬇️ Ready to boost your productivity?

Download x64 Download ARM64

🧭 Table of Contents

📝 Overview

QuickAI brings the power of multiple AI providers directly into PowerToys Run. Get instant, streaming responses from leading AI models without leaving your workflow. Launch PowerToys Run with Alt+Space, type ai (or your custom keyword), and ask anything.

  • Plugin ID: 420129A62ECA49848C5C7CA229BFD22C
  • Action Keyword: ai or change to quickai
  • Platform: Windows 10/11 (x64, ARM64)
  • Tech: C#/.NET 9.0, WPF, PowerToys Run API

⚡ Features That Matter


⚡ Streaming Responses
Real-time token-by-token
display as you type

🌐 Multi-Provider
Groq, Together, Fireworks,
OpenRouter, Cohere, Google

🔑 Dual API Keys
Primary key with automatic
secondary key fallback

⚙️ Highly Configurable
Customize model, temperature,
max tokens, and timeout

📋 One-Click Copy
Press Enter to copy
responses to clipboard

🤖 Supported AI Providers

Provider Endpoint Default Model API Schema
Groq https://api.groq.com/openai/v1/chat/completions llama-3.1-8b-instant OpenAI
Together https://api.together.xyz/v1/chat/completions llama-3.1-8b-instant OpenAI
Fireworks https://api.fireworks.ai/inference/v1/chat/completions llama-3.1-8b-instant OpenAI
OpenRouter https://openrouter.ai/api/v1/chat/completions llama-3.1-8b-instant OpenAI
Cohere https://api.cohere.com/v1/chat command Cohere
Google https://generativelanguage.googleapis.com/v1beta gemini-1.5-flash Google

📸 Demo Gallery

AI Assistant in Action

QuickAI Interface

Streaming Response

Streaming Response

Plugin Settings

Settings Panel

Multiple Use Cases

Various Use Cases

🏃‍♂️ Get Started in 60 Seconds

1️⃣ Download & Extract (15 seconds)

# Choose your architecture
wget https://github.com/ruslanlap/PowerToysRun-QuickAi/releases/download/v1.0.1/QuickAi-1.0.1-x64.zip
# Extract to PowerToys plugin directory

2️⃣ Auto-Install Location (30 seconds)

%LOCALAPPDATA%\Microsoft\PowerToys\PowerToys Run\Plugins\QuickAi

3️⃣ Restart PowerToys (15 seconds)

Right-click PowerToys tray icon → Exit → Restart from Start Menu

4️⃣ Configure API Key 🎯

  1. Open PowerToys Settings → PowerToys Run → Plugins → QuickAI
  2. Enter your API key for the preferred provider
  3. Hit Alt+Space → Type ai what is quantum computing? → Marvel at the magic! ✨

Pro Tip: Change the keyword from ai to q or ask in PowerToys settings for even faster access!


💡 Power User Commands

# 🧠 Complex Explanations
ai explain machine learning in simple terms
ai how does blockchain work?
ai what is the difference between REST and GraphQL?

# 💻 Code Generation & Help
ai write a python function to sort a list
ai debug this javascript code: [paste code]
ai convert this sql to mongodb query

# 📝 Text Processing
ai summarize this text: [paste text]
ai improve the grammar of this sentence
ai translate "hello world" to spanish

# 🎯 Creative Tasks
ai write a poem about programming
ai brainstorm ideas for a mobile app
ai create a product description for headphones
🎨 See All Available Features
  • Streaming Responses: Watch answers appear in real-time (updates every 3 tokens or 150ms)
  • Context Menu: Right-click results for:
    • Show full response (Enter)
    • Copy response (Ctrl+C)
    • Restart query (Ctrl+R)
  • Multi-language Support: Works with any language
  • Code Highlighting: Syntax-aware responses for code snippets
  • History: Previous responses cached for quick reference
  • Custom Models: Use any model from supported providers

🔧 Advanced Configuration

🎯 Customize Your Experience

Change Trigger Keyword

PowerToys SettingsPowerToys RunPluginsQuickAI → Change ai to your preference

Optimize Performance

  • Temperature: Adjust creativity (0.0 = factual, 2.0 = creative, default: 0.2)
  • Max Tokens: Control response length (16-4096, default: 128)
  • Request Timeout: Configure timeout in seconds (3-30, default: 8)
  • Model Selection: Choose specific models per provider
  • Dual API Keys: Configure backup keys for reliability

Provider-Specific Settings

  • Groq: Best for speed with Llama models
  • Together: Wide variety of open-source models
  • Fireworks: Fast inference with custom models
  • OpenRouter: Access to multiple providers via one key
  • Cohere: Enterprise-grade models with different API
  • Google: Google Gemini models (API key passed as URL parameter)

⚠️ Important: Model Name Configuration

Critical: Always copy the exact model name from your provider's documentation or dashboard. Model names vary by provider and must match exactly:

Examples of correct model names:

  • Groq: llama-3.1-8b-instant, mixtral-8x7b-32768
  • Together: meta-llama/Llama-3-8b-chat-hf, mistralai/Mixtral-8x7B-Instruct-v0.1
  • Fireworks: accounts/fireworks/models/llama-v3p1-8b-instruct ⚠️ (must include full path)
  • OpenRouter: meta-llama/llama-3.1-8b-instruct, anthropic/claude-3-haiku
  • Cohere: command, command-light, command-nightly
  • Google: gemini-1.5-flash, gemini-1.5-pro, gemini-pro
Settings Example
Example: Fireworks requires full model path like accounts/fireworks/models/llama-v3p1-8b-instruct

Where to find correct model names:


🔑 API Key Acquisition

How to Get Your API Keys

Groq

  1. Visit https://console.groq.com
  2. Sign up or log in
  3. Navigate to API Keys section
  4. Create a new API key
  5. Copy and paste into QuickAI settings

Together

  1. Visit https://api.together.xyz
  2. Create an account
  3. Go to Settings → API Keys
  4. Generate a new key
  5. Copy and paste into QuickAI settings

Fireworks

  1. Visit https://fireworks.ai
  2. Sign up for an account
  3. Navigate to API Keys
  4. Create a new key
  5. Copy and paste into QuickAI settings

OpenRouter

  1. Visit https://openrouter.ai
  2. Sign up or log in
  3. Go to Keys section
  4. Generate an API key
  5. Copy and paste into QuickAI settings

Cohere

  1. Visit https://cohere.com
  2. Create an account
  3. Navigate to API Keys
  4. Create a new key
  5. Copy and paste into QuickAI settings

Google

  1. Visit https://ai.google.dev
  2. Sign up or log in with your Google account
  3. Navigate to Get API Key section
  4. Create a new API key
  5. Copy and paste into QuickAI settings

💡 Tip: Most providers offer free tiers perfect for testing QuickAI!


🔧 Technical Details

Architecture & Implementation

Architecture

  • Target Framework: .NET 9.0 Windows (10.0.22621.0)
  • Plugin Type: PowerToys Run Plugin (DynamicLoading: false)
  • HTTP Client: Static singleton with configurable timeout (default: 8 seconds, range: 3-30)
  • Streaming: Server-Sent Events (SSE) parsing with real-time UI updates
  • JSON: System.Text.Json for serialization
  • UI: WPF with theme-aware design

Implementation Highlights

  • Implements IPlugin for PowerToys Run integration
  • Implements ISettingProvider for GUI configuration via AdditionalOptions
  • Implements IContextMenu for right-click actions (show full response, copy, restart)
  • Implements IDisposable for proper resource cleanup
  • Async HTTP requests with Task.Run() for non-blocking queries
  • Real-time result updates during streaming (batched every 3 tokens or 150ms for performance)
  • Automatic retry with secondary API key on failure
  • Thread-safe response building with StringBuilder
  • Supports multiple API schemas (OpenAI, Cohere, Google Gemini)

Error Handling

  • Validates API key presence before requests
  • Handles network failures gracefully
  • Shows user-friendly error messages
  • Configurable timeout protection (default: 8 seconds, range: 3-30)
  • JSON parsing error recovery
  • Automatic fallback to secondary API key

Project Structure

PowerToysRun-QuickAi/
├── QuickAi/
│   ├── Community.PowerToys.Run.Plugin.QuickAi/
│   │   ├── Main.cs                    # Core plugin implementation (1275 lines)
│   │   ├── plugin.json                # Plugin manifest
│   │   ├── *.csproj                   # Project file
│   │   └── Images/
│   │       ├── ai.dark.png           # Dark theme icon
│   │       └── ai.light.png          # Light theme icon
│   └── QuickAi.sln                   # Solution file
├── assets/                            # README images and demos
├── .github/workflows/                 # CI/CD automation
└── README.md                          # This file

🏗️ For Developers

🚀 Quick Build

git clone https://github.com/ruslanlap/PowerToysRun-QuickAi.git
cd PowerToysRun-QuickAi
./build-and-zip.sh  # Creates distribution-ready packages

🧪 Tech Stack

  • Runtime: .NET 9.0 with Windows 10/11 target
  • UI: WPF with theme-aware design
  • HTTP: HttpClient with streaming support
  • Architecture: Service-oriented with clean separation
  • Serialization: System.Text.Json for API responses

🎯 Project Highlights

  • Clean Code: Well-documented, testable architecture
  • Multi-Platform: x64 + ARM64 builds
  • Streaming: Real-time response handling
  • Plugin Template: Great starting point for other PowerToys plugins
  • Provider Abstraction: Easy to add new AI providers

Want to contribute?

Contribute Issues


🌟 Community & Support

Show Some Love ❤️

If QuickAI boosts your productivity, consider starring the repo and sharing with colleagues!

Star this repo Tweet about it

Support Development ☕

Buy me a coffee

Join the Community


🆘 Troubleshooting

Plugin not showing up?
  • Check path: %LOCALAPPDATA%\Microsoft\PowerToys\PowerToys Run\Plugins\QuickAi
  • Verify files: Ensure plugin.json exists in the folder
  • Restart: Completely exit and restart PowerToys
  • Permissions: Run PowerToys as administrator once
API requests failing?
  • API Key: Verify your API key is correct and active
  • Internet: Check connection for API requests
  • Provider: Ensure selected provider is available
  • Model: Verify model name is supported by provider
Streaming not working?
  • Network: Check if streaming is blocked by firewall
  • Timeout: Increase timeout in plugin settings
  • Provider: Some providers may have streaming limitations

❓ FAQ

How do I change the AI provider? PowerToys Settings → PowerToys Run → Plugins → QuickAI → Select provider from dropdown
Can I use multiple API keys? Yes! Configure both primary and secondary API keys. The plugin will automatically fallback if the primary fails.
What models are supported? Any model supported by your chosen provider. Popular choices include Llama 3.1, Mixtral, and provider-specific models.
Is my data private? Your queries are sent to the chosen AI provider's API. Check each provider's privacy policy for details on data handling.
Can I use it offline? No, an internet connection is required to communicate with AI providers' APIs.

🔒 Privacy & Security

  • Local Plugin: All plugin functionality runs locally
  • No Tracking: Zero analytics or telemetry from the plugin
  • Open Source: Full code transparency
  • MIT License: Free for any use

⚠️ API Key Storage

Important Security Notice: API keys are currently stored in plain text in PowerToys settings JSON file:

%LOCALAPPDATA%\Microsoft\PowerToys\PowerToys Run\settings.json

Security Recommendations:

  • ✅ Use API keys with limited permissions or quotas
  • ✅ Do not use production or billing-critical keys
  • ✅ Consider rotating keys periodically
  • ✅ Avoid sharing your settings.json file
  • ✅ Use provider-specific key restrictions (IP allowlists, rate limits)

Future Enhancement: Windows DPAPI encryption for API keys is planned for a future release.

Data Privacy

  • Your queries are sent to the chosen AI provider's API
  • QuickAI plugin itself does not collect or store any query data
  • Check each provider's privacy policy for their data handling practices
  • Most providers use queries for model improvement (check provider settings to opt-out)

📄 License

Released under the MIT License. Free for personal and commercial use.


🙏 Acknowledgements

Powered by amazing AI providers:

Built with:


🚀 Ready to supercharge your workflow with AI?

Download Now

Made with ❤️ by @ruslanlap

About

🤖AI-Powered Assistance Right at Your Fingertips. Instantly get short, smart, and free AI responses right inside PowerToys Run. Seamless, fast, and privacy-friendly.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published