Skip to content

nihalnihalani/Clipit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Clipboard ClipIt

AI-Powered Clipboard Manager for Windows

Windows Python AI Powered License

Never lose your clipboard history again. Search it with AI.

Features β€’ Demo β€’ Installation β€’ Usage β€’ Architecture β€’ Support


Video Demo

YouTube Watch on YouTube

ClipIt Demo Video

▢️ Watch Full Demo on YouTube

See ClipIt in action with AI-powered clipboard management and smart text retrieval.


Features Features

Clipboard Clipboard Monitoring

Automatically captures all text and images you copy, creating a searchable history that never forgets.

AI AI-Powered Search

Ask natural language questions about your clipboard history using local AI (Llama-3.2-1B). Press Alt+X to start!

Tag Smart Tagging

Automatically organizes clipboard items with semantic tags for easy categorization and retrieval.

OCR OCR Support

Extract text from anywhere on your screen with Alt+V using powerful Tesseract OCR engine.

Dog Floating Assistant

Adorable dog animation provides visual feedback and makes clipboard management delightful.

Keyboard Global Hotkeys

Quick access from any application with customizable keyboard shortcuts.

Database Persistent Storage

SQLite database keeps your clipboard history safe, searchable, and available even after restarts.


Installation Installation

Prerequisites

OS Operating System

Windows 10 or Windows 11

Python Python

Python 3.8 or higher

OCR Tesseract OCR

For screen text extraction

Step 1: Install Tesseract OCR

  1. Download Tesseract from: UB-Mannheim/tesseract
  2. Install to default location or add to PATH

Step 2: Install ClipIt

# Clone the repository
git clone https://github.com/nihalnihalani/Clipit.git
cd Clipit

# Install dependencies
pip install -r requirements.txt

# Run the application
python -m clipit.main

Quick Start (Windows)

Double-click run.bat to launch ClipIt with a single click!


Usage Usage

Shortcuts Keyboard Shortcuts

Shortcut Action Description
Alt+X AI Ask AI Press once to start typing your question, press again to get an AI-generated answer
Alt+V OCR OCR Capture Extract text from current screen using OCR technology
Alt+S Suggestions Show Suggestions Display clipboard suggestions based on context
ESC Dismiss Dismiss Hide the floating dog assistant

Workflow AI Search Workflow

Example Flow:

  1. Press Press Alt+X - Floating dog appears with "Clipit is listening..."
  2. Type Type your question - e.g., "what was that tracking number?"
  3. Press Press Alt+X again - To stop and process
  4. AI AI searches - ClipIt searches your clipboard history
  5. Done Answer appears - The answer replaces your question automatically

Examples Example Questions

πŸ’‘ "what was that email address?"
πŸ’‘ "tracking number"
πŸ’‘ "the code snippet from earlier"
πŸ’‘ "paste image 2" (pastes the 2nd most recent image)
πŸ’‘ "show me the link I copied yesterday"
πŸ’‘ "find that API key"

Architecture Architecture

Tech Stack Tech Stack

Layer Technology Purpose
UI UI Framework PyQt5 Modern, responsive user interface
AI AI Model Llama Local AI inference for privacy
DB Database SQLite Efficient data storage and retrieval
Clipboard Clipboard API Windows API Windows clipboard integration
Hotkeys Hotkey System Pynput Global keyboard shortcuts
OCR OCR Engine Tesseract Text extraction from images

Structure Project Structure

Clipit/
β”œβ”€β”€ πŸ“¦ clipit/                  # Main application package
β”‚   β”œβ”€β”€ πŸš€ main.py              # Application entry point
β”‚   β”œβ”€β”€ 🎨 ui/                  # User interface components
β”‚   β”‚   β”œβ”€β”€ floating_clippy.py  # Clippy assistant
β”‚   β”‚   β”œβ”€β”€ floating_dog.py     # Dog animation
β”‚   β”‚   β”œβ”€β”€ main_window.py      # Main application window
β”‚   β”‚   └── suggestions.py      # Suggestion system
β”‚   β”œβ”€β”€ βš™οΈ services/            # Core services
β”‚   β”‚   β”œβ”€β”€ ai_service.py       # AI integration
β”‚   β”‚   β”œβ”€β”€ clipboard_monitor.py # Clipboard tracking
β”‚   β”‚   β”œβ”€β”€ hotkey_manager.py   # Keyboard shortcuts
β”‚   β”‚   β”œβ”€β”€ ocr_service.py      # OCR functionality
β”‚   β”‚   └── text_capture.py     # Text capture system
β”‚   β”œβ”€β”€ πŸ’Ύ models/              # Database models
β”‚   β”‚   β”œβ”€β”€ database.py         # Database connection
β”‚   β”‚   └── item.py             # Data models
β”‚   └── πŸ”§ utils/               # Utilities
β”œβ”€β”€ πŸ“‹ requirements.txt         # Python dependencies
β”œβ”€β”€ πŸ§ͺ test_clipit.py          # Test suite
β”œβ”€β”€ πŸͺŸ run.bat                 # Windows launcher
β”œβ”€β”€ πŸ“š ARCHITECTURE.md         # Detailed architecture docs
β”œβ”€β”€ πŸ“– README.md               # This file
└── πŸ”§ TROUBLESHOOTING.md      # Common issues & solutions

For detailed architecture diagrams and technical documentation, see Docs ARCHITECTURE.md.


Configuration Configuration

ClipIt stores data in your Windows AppData folder:

%APPDATA%/Clipit/
β”œβ”€β”€ clipit.db           # SQLite database
└── images/             # Copied images

Testing Testing

ClipIt includes a comprehensive test suite to ensure reliability.

# Run all tests
python test_clipit.py

See Testing TESTING.md for comprehensive testing procedures.


Warning Known Limitations

AI AI Model Size

  • Llama-3.2-1B is relatively small
  • Complex queries may not work perfectly
  • Trade-off for fast local inference

Image Image Analysis

  • Limited image understanding
  • Uses separate vision model if available
  • Primarily focused on text content

OCR OCR Quality

  • Depends on screen content clarity
  • Affected by font sizes and styles
  • Tesseract configuration matters

Security Antivirus Software

  • May flag keyboard hooks
  • False positive detection possible
  • Add exception if needed

Bug Troubleshooting

Having issues? Check out our comprehensive troubleshooting guide:

Fix TROUBLESHOOTING.md

Common issues include:

  • Tesseract OCR not found
  • Keyboard shortcuts not working
  • AI model loading errors
  • Antivirus blocking hotkeys

Contributing Contributing

Contributions are welcome! We'd love your help to make ClipIt even better.

Ways to Contribute:

Bug Report Bugs Feature Request Features PR Submit PRs Docs Improve Docs
Open Issue Feature Request Pull Request Edit Docs

License License

This project is licensed under the MIT License - see the LICENSE file for details.


Thanks Acknowledgments

ClipIt wouldn't be possible without these amazing projects:

Project Purpose
Llama Meta Llama-3.2 Local AI language model
OCR Tesseract OCR Optical character recognition
PyQt PyQt5 Cross-platform GUI framework
Dog PastePup Original macOS/Swift inspiration

Star Star History

If you find ClipIt useful, please consider giving it a star!

Star History Chart


Love Made with care for productivity enthusiasts

Made with Love Powered by AI Built for Windows

⬆ Back to Top

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •