Your clipboard, with a brain — and nothing ever leaves your machine.
Here's the problem nobody talks about: every "smart clipboard" app takes the most sensitive thing on your device — your clipboard, full of passwords, one-time codes, half-written messages, medical notes — and ships it off to somebody else's server. We thought that was backwards. So we built a clipboard app that does all of its thinking right there on your own hardware.
No account. No server. No telemetry. No "we value your privacy" page that means nothing. Just an app that works with the Wi-Fi off.
The launch cut — desktop (16:9) and phone (9:16). Autoplays and loops right here; click either to watch full-res with sound.
Dashboard · Chat · Notes · OCR & Voice · Settings · Meaning search — all running on a real device, fully offline.
Ten or so seconds across every screen, straight off the phone.
You copy stuff all day. ClipSync AI quietly keeps it, cleans it up, and makes it useful:
The original is never thrown away. Every AI result sits next to what you copied, not on top of it.
This repository builds two separate programs. Same idea, each one native to its home:
📱 Android — a Flutter app that loads a GGUF model straight into llama.cpp inside its own process. Your phone becomes the AI server. Works with Qwen 0.5B up to Llama 7B depending on your RAM.
🖥️ Windows — a single no-installer program (~23 MB) that carries its own llama.cpp runtime inside it, the same way the phone build does. Pick a GGUF from the catalogue (it downloads with a progress bar) or import one you own, and it runs entirely on this PC with nothing else installed — Ollama reference, minus the server. Prefer a service instead? Add your own API key for OpenAI, Anthropic, Gemini, Groq, Mistral, xAI or OpenRouter (opt-in twice, key sealed to your Windows account). It still talks to an existing local server too — Ollama, LM Studio, llama.cpp, Jan — and with no model at all, a built-in engine still cleans, classifies, and tags every clip, and the app is honest about which buttons need a model and hides the ones that don't.
🐧 Linux & 🍏 macOS — the same Flutter app as Android, built for the desktop. Linux produces a .deb and an .rpm with a proper /usr/lib/clip-sync-ai layout, desktop entry, and hicolor icon; macOS produces .dmg/.zip for both Apple Silicon and Intel. Both are built fully in GitHub Actions — see Build for Linux & macOS (GitHub Actions) below.
Neither one has ever sent a single clip anywhere. That's not a setting. There's just no code that does it.
Clips — your clipboard history: searchable, pinnable, and relevance-ranked, so a title hit beats a body hit and rare words beat common ones. Load the indexing model and search turns semantic — "that AWS key from last week" finds the key. Every clip gets a title and tags at capture (written by the model when one is loaded), every entry can be cleaned up, summarised, retitled, joined with others, or redacted — and saving something twice gets you asked: keep both, merge, or discard. Delete offers an undo, because everyone fat-fingers sometimes.
Chat — a real conversation with the model, streamed live, with markdown rendering. Attach a document, a photo (read by on-device OCR first), a voice note (transcribed first), or just paste. Long-press any message to copy it, summarise it, save it to notes, or regenerate the reply.
Notes — a markdown editor with tags and search. The AI bar can summarise, expand, fix grammar, or pull out action items — and every one of those can be undone.
Capture (OCR & Voice) — scan text from a photo or a region of your screen, dictate instead of typing. Results are editable before you save them, because recognition is never perfect and we'd rather admit it. On Android you can also share text straight into Clips from any app's share sheet, or file the clipboard from a Quick Settings tile without opening the app.
Settings — four tidy tabs: AI (models, downloads, device advice, model-server connection, and the meaning-search indexing model), Themes & UI, System (clipboard service, permissions, redact-on-capture), Data (privacy lock with PIN and biometrics, clip lifetime, export everything to markdown, or wipe with confirmation). The Model connection dialog offers presets for OpenAI, Gemini, Claude, and other providers, or a custom OpenAI-compatible gateway — with opt-in confirmation before any chat data is sent.
We rebuilt the whole interface around one design system, so everything feels like it came from the same hands:
Ctrl+Shift+V to summon, Ctrl+Shift+C to tidy, Ctrl+Shift+H for a Win+V-style history popup that pastes back into whatever you're in) plus a tray icon. A mouse is not a thumb, so we didn't pretend.You'll need the Flutter SDK (stable) and Android SDK with platform 36:
flutter pub get
flutter build apk --release
The APK lands at build/app/outputs/flutter-apk/app-release.apk. Want smaller files? Add --split-per-abi.
Check our work:
flutter analyze && flutter test
You need... nothing. Seriously — the C# compiler already lives inside Windows:
windows\build.cmd
That runs all 600 tests first (and stops if any fail), then writes both executables to windows/build/, each with the llama.cpp runtime embedded. Run the one that matches your machine — x86 works everywhere, though embedded models want the 64-bit build.
Desktop binaries for Linux and macOS are built entirely in the cloud — you never need a Linux or a Mac to ship them. The workflow lives at .github/workflows/desktop.yml, is pinned to Flutter 3.47.1 for reproducible builds, and produces:
| Artifact | Platform | Notes |
|---|---|---|
clip-sync-ai_<ver>_amd64.deb | Linux x86_64 | Installs to /usr/lib/clip-sync-ai, /usr/bin launcher, desktop entry, hicolor icon |
clip-sync-ai_<ver>.x86_64.rpm | Linux x86_64 | Same package contents, RPM metadata |
clip-sync-ai-linux-x64.tar.xz | Linux x86_64 | Portable bundle, run right after extracting |
ClipSyncAI_<ver>_macos_arm64.dmg + .zip | macOS Apple Silicon | Built on macos-latest |
ClipSyncAI_<ver>_macos_x64.dmg + .zip | macOS Intel | Built on macos-15-intel |
How to trigger a build:
main)..deb, .rpm, .tar.xz, .dmg and .zip for each job.Package details worth knowing:
deb depends on libgtk-3-0, libsecret-1-0 and zenity (used by the file picker); the rpm mirrors those as Requires. Storage is encrypted with the same AES-256 scheme, keys held by the Secret Service (GNOME Keyring and friends).csc build deliberately avoids — and keyword-ranked search, since its embedded runtime has no embedding path. Same clips, same honesty, slightly shorter feature list.Android: version 7.0 or newer · 4 GB RAM for small models, 6–8 GB+ for bigger ones · 1–5 GB free for model files.
Windows: Windows 7 or newer, 32- or 64-bit · .NET Framework 4.0+ (already there on Windows 8 and up) · the exe itself is ~23 MB, plus however much a downloaded model weighs. Embedded models need the 64-bit build; everything else works on either.
Linux (from the .deb/.rpm): glibc 2.28+, GTK 3, Secret Service daemon, zenity; a Vulkan-capable GPU is fine, OpenGL fallback included.
macOS: macOS 12.0+ (Monterey or newer), Apple Silicon or Intel.
Fresh, unsigned builds sometimes get a suspicious look from antivirus (Malwarebytes in particular) — an unknown program that watches the clipboard and sets hotkeys sounds like spyware until you look closer. Everything here uses the official documented APIs, asks for no admin rights, and the binaries now ship with full version identity. If your scanner complains, allowlist the file and consider reporting the false positive — it helps every small developer shipping honest software.
MIT — do what you like, just keep the notice.
ClipSync AI is an open-source project provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and non-infringement. The author(s) and contributors shall not be held liable for any damage, data loss, malfunction, or other consequence arising from installing, building, or using this software on any device. By downloading, installing, or using this software, you acknowledge that you do so entirely at your own risk. Always back up your data before installing software from any source, including this repository.
Your clipboard, with a brain — and nothing ever leaves your machine.
Here's the problem nobody talks about: every "smart clipboard" app takes the most sensitive thing on your device — your clipboard, full of passwords, one-time codes, half-written messages, medical notes — and ships it off to somebody else's server. We thought that was backwards. So we built a clipboard app that does all of its thinking right there on your own hardware.
No account. No server. No telemetry. No "we value your privacy" page that means nothing. Just an app that works with the Wi-Fi off.
The launch cut — desktop (16:9) and phone (9:16). Autoplays and loops right here; click either to watch full-res with sound.
Dashboard · Chat · Notes · OCR & Voice · Settings · Meaning search — all running on a real device, fully offline.
Ten or so seconds across every screen, straight off the phone.
You copy stuff all day. ClipSync AI quietly keeps it, cleans it up, and makes it useful:
The original is never thrown away. Every AI result sits next to what you copied, not on top of it.
This repository builds two separate programs. Same idea, each one native to its home:
📱 Android — a Flutter app that loads a GGUF model straight into llama.cpp inside its own process. Your phone becomes the AI server. Works with Qwen 0.5B up to Llama 7B depending on your RAM.
🖥️ Windows — a single no-installer program (~23 MB) that carries its own llama.cpp runtime inside it, the same way the phone build does. Pick a GGUF from the catalogue (it downloads with a progress bar) or import one you own, and it runs entirely on this PC with nothing else installed — Ollama reference, minus the server. Prefer a service instead? Add your own API key for OpenAI, Anthropic, Gemini, Groq, Mistral, xAI or OpenRouter (opt-in twice, key sealed to your Windows account). It still talks to an existing local server too — Ollama, LM Studio, llama.cpp, Jan — and with no model at all, a built-in engine still cleans, classifies, and tags every clip, and the app is honest about which buttons need a model and hides the ones that don't.
🐧 Linux & 🍏 macOS — the same Flutter app as Android, built for the desktop. Linux produces a .deb and an .rpm with a proper /usr/lib/clip-sync-ai layout, desktop entry, and hicolor icon; macOS produces .dmg/.zip for both Apple Silicon and Intel. Both are built fully in GitHub Actions — see Build for Linux & macOS (GitHub Actions) below.
Neither one has ever sent a single clip anywhere. That's not a setting. There's just no code that does it.
Clips — your clipboard history: searchable, pinnable, and relevance-ranked, so a title hit beats a body hit and rare words beat common ones. Load the indexing model and search turns semantic — "that AWS key from last week" finds the key. Every clip gets a title and tags at capture (written by the model when one is loaded), every entry can be cleaned up, summarised, retitled, joined with others, or redacted — and saving something twice gets you asked: keep both, merge, or discard. Delete offers an undo, because everyone fat-fingers sometimes.
Chat — a real conversation with the model, streamed live, with markdown rendering. Attach a document, a photo (read by on-device OCR first), a voice note (transcribed first), or just paste. Long-press any message to copy it, summarise it, save it to notes, or regenerate the reply.
Notes — a markdown editor with tags and search. The AI bar can summarise, expand, fix grammar, or pull out action items — and every one of those can be undone.
Capture (OCR & Voice) — scan text from a photo or a region of your screen, dictate instead of typing. Results are editable before you save them, because recognition is never perfect and we'd rather admit it. On Android you can also share text straight into Clips from any app's share sheet, or file the clipboard from a Quick Settings tile without opening the app.
Settings — four tidy tabs: AI (models, downloads, device advice, model-server connection, and the meaning-search indexing model), Themes & UI, System (clipboard service, permissions, redact-on-capture), Data (privacy lock with PIN and biometrics, clip lifetime, export everything to markdown, or wipe with confirmation). The Model connection dialog offers presets for OpenAI, Gemini, Claude, and other providers, or a custom OpenAI-compatible gateway — with opt-in confirmation before any chat data is sent.
We rebuilt the whole interface around one design system, so everything feels like it came from the same hands:
Ctrl+Shift+V to summon, Ctrl+Shift+C to tidy, Ctrl+Shift+H for a Win+V-style history popup that pastes back into whatever you're in) plus a tray icon. A mouse is not a thumb, so we didn't pretend.You'll need the Flutter SDK (stable) and Android SDK with platform 36:
flutter pub get
flutter build apk --release
The APK lands at build/app/outputs/flutter-apk/app-release.apk. Want smaller files? Add --split-per-abi.
Check our work:
flutter analyze && flutter test
You need... nothing. Seriously — the C# compiler already lives inside Windows:
windows\build.cmd
That runs all 600 tests first (and stops if any fail), then writes both executables to windows/build/, each with the llama.cpp runtime embedded. Run the one that matches your machine — x86 works everywhere, though embedded models want the 64-bit build.
Desktop binaries for Linux and macOS are built entirely in the cloud — you never need a Linux or a Mac to ship them. The workflow lives at .github/workflows/desktop.yml, is pinned to Flutter 3.47.1 for reproducible builds, and produces:
| Artifact | Platform | Notes |
|---|---|---|
clip-sync-ai_<ver>_amd64.deb | Linux x86_64 | Installs to /usr/lib/clip-sync-ai, /usr/bin launcher, desktop entry, hicolor icon |
clip-sync-ai_<ver>.x86_64.rpm | Linux x86_64 | Same package contents, RPM metadata |
clip-sync-ai-linux-x64.tar.xz | Linux x86_64 | Portable bundle, run right after extracting |
ClipSyncAI_<ver>_macos_arm64.dmg + .zip | macOS Apple Silicon | Built on macos-latest |
ClipSyncAI_<ver>_macos_x64.dmg + .zip | macOS Intel | Built on macos-15-intel |
How to trigger a build:
main)..deb, .rpm, .tar.xz, .dmg and .zip for each job.Package details worth knowing:
deb depends on libgtk-3-0, libsecret-1-0 and zenity (used by the file picker); the rpm mirrors those as Requires. Storage is encrypted with the same AES-256 scheme, keys held by the Secret Service (GNOME Keyring and friends).csc build deliberately avoids — and keyword-ranked search, since its embedded runtime has no embedding path. Same clips, same honesty, slightly shorter feature list.Android: version 7.0 or newer · 4 GB RAM for small models, 6–8 GB+ for bigger ones · 1–5 GB free for model files.
Windows: Windows 7 or newer, 32- or 64-bit · .NET Framework 4.0+ (already there on Windows 8 and up) · the exe itself is ~23 MB, plus however much a downloaded model weighs. Embedded models need the 64-bit build; everything else works on either.
Linux (from the .deb/.rpm): glibc 2.28+, GTK 3, Secret Service daemon, zenity; a Vulkan-capable GPU is fine, OpenGL fallback included.
macOS: macOS 12.0+ (Monterey or newer), Apple Silicon or Intel.
Fresh, unsigned builds sometimes get a suspicious look from antivirus (Malwarebytes in particular) — an unknown program that watches the clipboard and sets hotkeys sounds like spyware until you look closer. Everything here uses the official documented APIs, asks for no admin rights, and the binaries now ship with full version identity. If your scanner complains, allowlist the file and consider reporting the false positive — it helps every small developer shipping honest software.
MIT — do what you like, just keep the notice.
ClipSync AI is an open-source project provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and non-infringement. The author(s) and contributors shall not be held liable for any damage, data loss, malfunction, or other consequence arising from installing, building, or using this software on any device. By downloading, installing, or using this software, you acknowledge that you do so entirely at your own risk. Always back up your data before installing software from any source, including this repository.