copyvault-keyboard / README.md
ryzerrr's picture
Upload README.md with huggingface_hub
067b86e verified
|
Raw
History Blame Contribute Delete
3.39 kB
---
license: mit
tags:
- android
- keyboard
- ime
- clipboard
- react
- nextjs
language:
- en
---
# CopyVault Keyboard
**Search your clipboard like you search the web.** An Android keyboard (IME) that captures everything you copy and lets you search & re-paste it from any app.
## Downloads
| File | Size | Description |
|------|------|-------------|
| [copyvault-keyboard.apk](https://huggingface.co/ryzerrr/copyvault-keyboard/resolve/main/copyvault-keyboard.apk) | 4.5 MB | Pre-built Android APK (ready to install) |
| [copyvault-full-project.zip](https://huggingface.co/ryzerrr/copyvault-keyboard/resolve/main/copyvault-full-project.zip) | 1.9 MB | Complete source: web app + Android project |
| [copyvault-full-project.tar.gz](https://huggingface.co/ryzerrr/copyvault-keyboard/resolve/main/copyvault-full-project.tar.gz) | 1.3 MB | Same, as tarball |
| [BUILD-GUIDE.md](https://huggingface.co/ryzerrr/copyvault-keyboard/resolve/main/BUILD-GUIDE.md) | β€” | Step-by-step build instructions |
## Install the APK
1. Download `copyvault-keyboard.apk` to your Android phone
2. Tap the file to install (enable "Install from unknown sources" if prompted)
3. Open **Settings β†’ System β†’ Keyboard & Input Method**
4. Enable **CopyVault Keyboard**
5. Set CopyVault as your default keyboard
6. Copy anything anywhere β†’ it's captured to your searchable history
7. Tap any text field β†’ use the **Clipboard** tab to search & paste
## Features
- **Searchable clipboard history** β€” capture everything, search by text/type/source/time
- **Smart entity detection** β€” URLs, emails, phones, OTPs, tracking numbers, crypto addresses, code, colors, passwords
- **Three-panel keyboard** β€” Clipboard / Type (QWERTY) / Emoji
- **Trapezium-shaped tabs** β€” sleek, unique monochrome design
- **Themes** β€” Light / Dark / AMOLED / System
- **Incognito mode** β€” stops capture when enabled
- **Snippet templates** β€” type `;sig` + space β†’ expands to full signature
- **Local-only storage** β€” no cloud, no telemetry
- **System clipboard monitoring** β€” captures clips from any app
## Architecture
```
User types on keyboard
↓
TypingPanel β†’ useUI.typeChar("q")
↓
UI store (imeMode=true) β†’ window.AndroidKeyboard.commitText("q")
↓
WebAppInterface.commitText() β†’ InputConnection.commitText()
↓
Text appears in the active app
User copies text anywhere
↓
Android ClipboardManager fires listener
↓
CopyVaultKeyboardService injects JS: window.__copyVaultAddClip(text, "Android")
↓
Zustand store adds clip to history
↓
Clip appears in the Clipboard panel, searchable
```
## Build from source
See [BUILD-GUIDE.md](https://huggingface.co/ryzerrr/copyvault-keyboard/resolve/main/BUILD-GUIDE.md) for complete instructions.
Quick version:
```bash
bun install
BUILD_EXPORT=true bun run build
node scripts/fix-assets.js
cp -r out/* android-keyboard/app/src/main/assets/
cd android-keyboard
echo "sdk.dir=/path/to/Android/Sdk" > local.properties
./gradlew assembleDebug
adb install app/build/outputs/apk/debug/app-debug.apk
```
## Tech stack
- **Web app**: Next.js 16, TypeScript 5, Tailwind CSS 4, shadcn/ui, Zustand, Framer Motion
- **Android**: Kotlin, InputMethodService, WebView, ClipboardManager
## Requirements
- Android 7.0 (API 24) or higher
- JDK 17 for building
- Android SDK 34 for building
## License
MIT