A lightweight, ultra-fast Windows native application for AI-powered text assistance with global keyboard shortcuts.
A modern Windows assistant that brings AI to your fingertips with one keyboard shortcut:
- Ctrl + Right-Click anywhere
- Choose an action (Summarize, Translate, Custom Prompt, etc.)
- Get AI response instantly with streaming
Supports: Ollama (local), OpenAI, Anthropic Claude, and more.
| Feature | Status | Details |
|---|---|---|
| π Multi-LLM Support | β Phase 1 | Ollama, OpenAI, Anthropic (pluggable) |
| β¨οΈ Global Shortcuts | π§ Phase 2 | Ctrl+Right-Click menu system |
| π¬ Streaming Chat | π§ Phase 2 | Real-time token streaming |
| πΈ Screenshot + Vision | π Phase 3 | AI analyze images natively |
| πΎ History | π Phase 4 | SQLite-based conversation storage |
| π¨ Modern UI | π§ Phase 2 | Dark/Light themes, smooth animations |
| β‘ Ultra-Fast | π― Target | < 2s startup, < 100ms menu latency |
- Windows 10 (1809+) or Windows 11
- Python 3.10+
- One LLM: Ollama (local) OR OpenAI/Anthropic API key
# 1. Clone repo
git clone <repo-url>
cd app-quick-shortcut-AI-LLM
# 2. Create virtual environment
python -m venv venv
.\venv\Scripts\activate
# 3. Install dependencies
pip install -r requirements.txt
# 4. Run tests to verify setup
pytest tests/ -v# Coming in Phase 2 - For now, tests only
python -m pytest tests/ -v- LLM Provider abstraction (Ollama, OpenAI, Anthropic)
- Configuration service (JSON persistence)
- Health checks (startup validation)
- 43 unit tests (87% coverage)
- Ready for UI layer
- Global keyboard hooks (Ctrl+Right-Click) - unit tested
- Floating context menu (6 actions) - unit tested
- Response streaming window - unit tested
- Keyboard shortcuts manager - unit tested
- System tray icon - unit tested
- Main app orchestration - unit tested
- 213 unit tests (89% coverage)
- Components signal-connected
β οΈ No integration/visual tests yet (moved to Phase 3)
Status: Code complete (365 tests passing) but critical UI bugs blocking UAT
- Real LLM streaming (Task #1 - done)
- Clipboard manager (Task #1 - done)
- Markdown rendering (Task #3 - done)
- Settings dialog (Task #4 - done, but closes app β)
- Auto-paste (Task #5 - done)
- Integration Tests (Task #6 - 365 tests passing β )
- π΄ Chat streaming (works but freezes UI β)
- π΄ Floating context menu (appears but unclickable β)
- π΄ Status icon (shows wrong state β)
Blocking Issues (Details here):
- Settings dialog closes entire app
- Status icon stays red with valid config
- Chat UI freezes during LLM response
- Menu items not clickable
- Windows system menu appears alongside app menu
Next: Fix 5 critical issues before continuing UAT
- SQLite history with search
- Toast notifications
- Dark/Light theme system (QSS)
- Performance profiling and optimization
- Packaging with Nuitka (< 50MB exe, < 2s startup)
- Final documentation & user guide
- Release on GitHub
# With coverage report
pytest tests/ -v --cov=src --cov-report=term-missing
# Summary
pytest tests/ -vβ
test_llm_provider.py : 18 tests passing
β
test_config_service.py : 14 tests passing
β
test_health_check.py : 11 tests passing
======================== 43 passed in 0.56s ========================
Coverage: 87% β
llm_provider.py : 89% β
config_service.py : 93% β
health_check.py : 85% β
For more details, see PHASE_1_REVIEW.md and VSCODE_TESTING_GUIDE.md.
app-quick-shortcut-ai-llm/
βββ src/ # Application code
β βββ core/ # Core logic
β β βββ llm_provider.py # Abstract LLM interface + Factory
β β βββ ollama_provider.py # Ollama implementation
β β βββ openai_provider.py # OpenAI implementation
β β βββ anthropic_provider.py # Anthropic implementation
β β βββ config_service.py # Configuration (Singleton)
β βββ ui/ # UI components (Phase 2+)
β βββ services/ # Services
β β βββ health_check.py # Startup validation
β βββ utils/ # Utilities
βββ tests/ # Test suite
β βββ test_core/ # Core tests
β βββ test_services/ # Service tests
βββ assets/ # Icons, styles (Phase 2+)
βββ docs/ # Documentation
βββ requirements.txt # Python dependencies
βββ pyproject.toml # Project metadata
βββ pytest.ini # Pytest configuration
βββ SPEC.md # Technical specification
βββ TODO.md # Implementation roadmap
βββ LICENSE # GPL-3.0
βββ README.md # This file
%APPDATA%\QuickShortcutAI\config.json
{
"providers": [
{
"id": "ollama-local",
"type": "ollama",
"base_url": "http://localhost:11434",
"enabled": true
}
],
"appearance": {
"theme": "dark",
"font_family": "Segoe UI",
"font_size": 11
},
"behavior": {
"auto_paste_enabled": false,
"auto_paste_delay_ms": 100
}
}See SPEC.md for complete configuration schema.
- CONTRIBUTING.md - Development workflow and standards
- SPEC.md - Complete technical specification
- STATUS.md - Current project status and known issues
- TODO.md - Implementation roadmap
- PHASE_1_REVIEW.md - Phase 1 detailed review
- PHASE3_ISSUES_INVENTORY.md - Current Phase 3 blocking issues
- VSCODE_TESTING_GUIDE.md - How to run tests in VS Code
- QUICK_START_TESTS.md - 3-minute test startup guide
- Formatter:
black(auto-formatted) - Linter:
ruff - Type Hints: Where relevant (not strict)
- Docstrings: Google style
Recommended extensions:
- Python (Microsoft)
- Pylance (Microsoft)
- Python Test Explorer (Little Fox Team)
Open command palette (Ctrl+Shift+P):
"Python: Select Interpreter" β Choose venv interpreter
"Test: Focus on Test Explorer View" β See all tests
| Metric | Target | Current |
|---|---|---|
| App startup | < 2s | TBD (Phase 2) |
| Menu latency | < 100ms | TBD (Phase 2) |
| Streaming response | Smooth 60fps | TBD (Phase 2) |
| Memory (idle) | < 150MB | TBD (Phase 2) |
| Exe size | < 50MB | TBD (Phase 5) |
# 1. Refresh test explorer (icon in VS Code)
# 2. Ensure pytest installed in venv:
pip install pytest pytest-cov
# 3. Restart VS Code# Verify PYTHONPATH includes src/
export PYTHONPATH=$PYTHONPATH:$(pwd)/src
python -m pytest tests/ -vSee VSCODE_TESTING_GUIDE.md for comprehensive troubleshooting.
This is a personal project, but improvements are welcome:
- Fork the repo
- Create feature branch (
git checkout -b feature/amazing-feature) - Add tests for your changes
- Ensure all tests pass (
pytest tests/ -v) - Submit pull request
This project is licensed under GPL-3.0 - see LICENSE file for details.
- β Read this README
- β Check SPEC.md for features
- π§ Phase 2: Download exe and try it (coming soon)
- β
Run tests:
pytest tests/ -v - β Read PHASE_1_REVIEW.md
- π§ Phase 2: Begin UI implementation
- π See TODO.md for detailed roadmap
- Issues: Check TODO.md roadmap
- Questions: See documentation files above
- Test Help: VSCODE_TESTING_GUIDE.md
Built with β€οΈ using Python + PySide6 + pytest
Last updated: 2026-02-17 | Phase 3 In Progress | UAT Paused - Critical Issues Identified