A modern clipboard history manager built with Electron, React, and Bun. Runs in your system tray (macOS menu bar / Windows taskbar) with a beautiful transparent UI.
- Automatic Clipboard Monitoring - Captures clipboard text and images automatically
- Image Support - Save and preview screenshots and copied images
- Smart Content Detection - Detects JSON, URLs, colors, emails, and base64
- Syntax Highlighting - Beautiful JSON formatting with syntax highlighting
- Transparent UI - Beautiful frosted glass effect (toggleable)
- System Tray App - Runs in background, accessible from system tray
- Cross-Platform - Works on macOS and Windows
- Settings - Customize transparency and other options
- Fast - Built with Bun for lightning-fast performance
- In-Memory Storage - Clipboard history stored in memory (clears on restart)
- Electron - Desktop app framework
- React - UI library
- Bun - JavaScript runtime and bundler
- TypeScript - Type safety
- Vite - Frontend tooling
src/
├── main/
│ ├── main.ts # Electron main process
│ ├── preload.ts # Preload script (IPC bridge)
│ ├── clipboardManager.ts # Clipboard monitoring logic
│ ├── database.ts # SQLite database manager
│ └── configManager.ts # App configuration management
├── renderer/
│ ├── pages/
│ │ ├── ClipboardHistory.tsx # Main clipboard history view
│ │ ├── ClipboardHistory.css
│ │ ├── Settings.tsx # Settings page
│ │ └── Settings.css
│ ├── components/
│ │ └── ClipboardItem.tsx # Individual clipboard item component
│ ├── main.tsx # React entry point
│ ├── App.tsx # Main app component with routing
│ └── types.d.ts # TypeScript definitions
└── models/
└── ClipboardItem.ts # Data models and interfaces
- Bun v1.0 or higher
- macOS or Windows
Download the latest release from the Releases page.
macOS Users:
-
Download the
.dmgfile (choosearm64for Apple Silicon orx64for Intel Macs) -
Open the
.dmgfile -
Drag clipai to your Applications folder
-
Important: Remove macOS quarantine (required for unsigned apps)
Open Terminal and run:
xattr -cr /Applications/clipai.app
This is safe - it just removes the quarantine flag that macOS adds to downloaded files. Required because the app is not code-signed.
-
Launch clipai from Applications
Alternative method if you see "unidentified developer" warning:
- Right-click (or Control-click) on clipai in Applications
- Click "Open"
- Click "Open" again in the dialog
Note: If you see "app is damaged and can't be opened", you must use the Terminal command above.
Windows Users:
You may see a Windows SmartScreen warning because the app is not code-signed. This is normal for open-source apps. To install:
- Download the
.exeinstaller - Run the installer
- If you see a SmartScreen warning:
- Click "More info"
- Click "Run anyway"
Note: These warnings appear because the app doesn't have a commercial code signing certificate ($300-400/year). The app is completely safe and open-source.
- Clone the repository:
git clone https://github.com/mberrishdev/clipai.git
cd clipai- Install dependencies:
bun installStart the development server:
bun run devThis will:
- Start Vite dev server for the renderer (React UI)
- Compile the preload script in watch mode
- Launch Electron app
Build for production:
bun run buildThis creates:
dist/renderer/- Built React appdist/main/- Compiled Electron main process
Package the app:
bun run packageCreates platform-specific installers in release/:
- macOS:
.dmgand.zipfiles (Intel x64 and Apple Silicon arm64) - Windows:
.exeinstaller (NSIS) and portable.exe
- macOS: Look for the icon in the menu bar (top-right)
- Windows: Look for the icon in the system tray (bottom-right, notification area)
- Click the tray icon to show/hide the window
- Right-click (or left-click on Windows) for menu options:
- Show Clipboard History - View all copied items
- Settings - Configure app preferences
- Quit - Exit the application
- Window Transparency - Toggle transparent/opaque background
- Automatically saves all clipboard text and images
- Smart detection: JSON, URLs, colors, emails
- Click URLs to open in default browser
- Click items to copy back to clipboard
- Ignores empty or whitespace-only entries
- Persistent storage using SQLite database
- Load more history with pagination
macOS:
~/Library/Logs/clipai/main.log
# Open in default editor
open ~/Library/Logs/clipai/main.log
# Tail logs in real-time
tail -f ~/Library/Logs/clipai/main.logWindows:
C:\Users\<YourUsername>\AppData\Roaming\clipai\logs\main.log
To open the logs folder:
# Open in File Explorer
explorer %APPDATA%\clipai\logs
# Open log file directly in Notepad
notepad %APPDATA%\clipai\logs\main.log
# View in Command Prompt
type %APPDATA%\clipai\logs\main.logNote: If the logs folder doesn't exist, the app may not have been launched yet, or electron-log may not have initialized. Launch the app once and the log file will be created automatically.
bun run dev- Start development modebun run dev:renderer- Start Vite dev server onlybun run dev:preload- Build preload scriptbun run dev:electron- Start Electron onlybun run build- Build for productionbun run build:renderer- Build React appbun run build:main- Build main processbun run build:preload- Build preload scriptbun run package- Package app for distributionbun run package:dir- Package without creating installer (faster for testing)
MIT
