Production-grade, local AI writing assistant for enhanced productivity anywhere on your screen.
Quill is a completely rewritten, high-performance AI writing assistant that runs entirely on your local machine. Built with a modern, modular architecture for blazing-fast performance and reliability.
- Optimized LLM Integration: Direct Ollama API with connection pooling and caching
- Smart Text Monitoring: Intelligent context capture with minimal system impact
- Async Operations: Non-blocking UI with background processing
- Memory Efficient: Optimized buffer management and resource cleanup
- Context-Aware Completions: Smart text completion based on typing patterns
- Auto-Write: Generate content from natural language prompts
- Advanced Rephrasing: Rephrase text with custom instructions
- Real-time Suggestions: Instant suggestions as you type
- 100% Local Processing: All AI operations happen on your machine
- No Data Collection: Your text never leaves your computer
- Secure: No internet required after initial model download
- Global Hotkeys: Quick access from anywhere
- System Tray Integration: Runs quietly in the background
- Floating Interface: Always available, never intrusive
- Customizable: Extensive configuration options
quill/
βββ src/
β βββ core/ # Core functionality
β β βββ assistant.py # Main coordinator
β β βββ llm_manager.py # Optimized LLM handling
β β βββ text_buffer.py # Smart text capture
β β βββ keyboard_monitor.py # Efficient monitoring
β βββ ui/ # User interface
β β βββ main_window.py # Main floating window
β β βββ suggestion_widget.py
β β βββ rephrase_widget.py
β β βββ styles.py # Centralized styling
β βββ utils/ # Utilities
β β βββ config.py # Configuration management
β β βββ clipboard.py # Clipboard operations
β βββ workers/ # Background processing
β βββ generation_worker.py # Async text generation
βββ config/
β βββ settings.yaml # Configuration file
βββ requirements.txt
- Python 3.8+
- Ollama (Download here)
- Clone the repository:
git clone https://github.com/your-username/quill.git
cd quill- Install dependencies:
pip install -r requirements.txt- Install the optimized model:
ollama pull hf.co/unsloth/Qwen3-0.6B-GGUF:Q4_K_M- Run Quill:
python src/main.pypip install -e .
quill- Type naturally in any application
- Suggestions appear automatically after trigger keys (space, enter, tab)
- Use arrow keys to navigate, Enter/Tab to accept
- Click "β¨ Auto Write" or use hotkey
Ctrl+Shift+Q - Describe what you want to write
- Generated content is automatically inserted
- Select text in any application
- Click "π Rephrase" or use hotkey
Ctrl+Shift+R - Add optional instructions for specific style changes
Ctrl+Shift+Q: Toggle assistant windowCtrl+Shift+C: Quick completionCtrl+Shift+R: Rephrase selected text
Edit config/settings.yaml to customize:
# LLM Configuration
llm:
model: "hf.co/unsloth/Qwen3-0.6B-GGUF:Q4_K_M"
temperature: 0.7
max_tokens: 512
# Performance
performance:
cache_size: 100
max_concurrent_requests: 3
# UI Customization
ui:
theme: "dark"
opacity: 0.95
colors:
primary: "#4a9eff"
secondary: "#45a165"- LLM Response Caching: Avoid redundant API calls
- Smart Context Management: Optimal context window usage
- Debounced Input: Prevents excessive processing
- Connection Pooling: Reuse HTTP connections
- Context-Aware Triggers: Smart completion timing
- Sentence Boundary Detection: Natural break points
- Typing Pattern Analysis: Adaptive to user behavior
- Modular Design: Clean separation of concerns
- Type Hints: Full type annotation for better IDE support
- Error Handling: Comprehensive error management
- Logging: Detailed logging for debugging
- LLMManager: Handles all AI model interactions
- TextBuffer: Intelligent text capture and context management
- GenerationWorker: Async text generation with queue management
- KeyboardMonitor: Efficient global keyboard monitoring
- Local Processing: All AI operations happen on your machine
- No Telemetry: No usage data is collected or transmitted
- Secure Storage: Configuration stored locally
- Memory Safety: Automatic cleanup of sensitive data
- Startup Time: < 2 seconds
- Response Time: 200-800ms (depending on model and prompt)
- Memory Usage: ~50-100MB
- CPU Impact: Minimal when idle
- Model: Qwen3-0.6B optimized for speed and quality
- Quantization: Q4_K_M for optimal size/performance balance
- Caching: Intelligent response caching
- Threading: Non-blocking operations
We welcome contributions! Please see our Contributing Guide for details.
Licensed under the Apache License 2.0. See LICENSE for details.
- Ollama Team: For the excellent local LLM runtime
- Unsloth: For the optimized Qwen3 model
- PyQt5: For the robust GUI framework
Made with β€οΈ for enhanced writing productivity
Quill v2.0 - Completely rewritten for production use