{"id":50125530,"url":"https://github.com/Y-ASLant/ElegantClipboard","last_synced_at":"2026-06-09T11:00:55.872Z","repository":{"id":336348337,"uuid":"1148846366","full_name":"Y-ASLant/ElegantClipboard","owner":"Y-ASLant","description":"An elegant and fast clipboard. 低占用、高性能、现代化、高度自定义，本地化离线剪贴板。","archived":false,"fork":false,"pushed_at":"2026-05-26T02:16:38.000Z","size":14430,"stargazers_count":374,"open_issues_count":22,"forks_count":11,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-05-26T04:14:48.134Z","etag":null,"topics":["clipboard","clipboard-manager","rust","tauri2","windows"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Y-ASLant.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-03T12:41:41.000Z","updated_at":"2026-05-26T03:45:56.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Y-ASLant/ElegantClipboard","commit_stats":null,"previous_names":["y-aslant/elegantclipboard"],"tags_count":42,"template":false,"template_full_name":null,"purl":"pkg:github/Y-ASLant/ElegantClipboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Y-ASLant%2FElegantClipboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Y-ASLant%2FElegantClipboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Y-ASLant%2FElegantClipboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Y-ASLant%2FElegantClipboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Y-ASLant","download_url":"https://codeload.github.com/Y-ASLant/ElegantClipboard/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Y-ASLant%2FElegantClipboard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34103357,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clipboard","clipboard-manager","rust","tauri2","windows"],"created_at":"2026-05-23T20:00:20.650Z","updated_at":"2026-06-09T11:00:55.866Z","avatar_url":"https://github.com/Y-ASLant.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# ElegantClipboard\n\n[English](README_EN.md) | 中文\n\n\u003e 说明：本文档中的界面截图可能与最新版本略有差异，当前截图拍摄于 **v0.5.0**。\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"src-tauri/icons/icon.png\" alt=\"ElegantClipboard\" width=\"128\" height=\"128\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  低占用 · 高性能 · 现代化 · 完全本地化离线剪贴板。\n\u003c/p\u003e\n\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/Y-ASLant/ElegantClipboard/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/Y-ASLant/ElegantClipboard?label=version\u0026color=blue\" alt=\"version\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/Y-ASLant/ElegantClipboard/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/downloads/Y-ASLant/ElegantClipboard/total?label=downloads\u0026color=brightgreen\" alt=\"downloads\"\u003e\u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/platform-Windows-lightgrey.svg\" alt=\"platform\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/license-MIT-green.svg\" alt=\"license\"\u003e\n  \u003ca href=\"https://github.com/Y-ASLant/ElegantClipboard/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://github.com/Y-ASLant/ElegantClipboard/actions/workflows/ci.yml/badge.svg\" alt=\"CI\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## 界面截图（v0.5.0）\n\n### 外观主题\n\n#### 跟随系统强调色\n\n![跟随系统](img/theme_0.png)\n\n| 经典黑白 | 翡翠绿 | 天空青 |\n|:-:|:-:|:-:|\n| ![经典黑白](img/theme_1.png) | ![翡翠绿](img/theme_2.png) | ![天空青](img/theme_3.png) |\n\n#### 暗色模式\n\n自动跟随系统深色/浅色模式，实时切换\n\n### 设置界面\n\n| 数据管理 | 显示设置 | 快捷按键 |\n|:-:|:-:|:-:|\n| ![数据管理](img/setting_1.png) | ![显示设置](img/setting_2.png) | ![快捷按键](img/setting_3.png) |\n\n### 图片悬浮预览\n\n![图片预览](img/preview_mode.png)\n\n### 文本悬浮预览\n\n文本悬浮预览与图片悬浮预览共用预览位置与悬浮预览延时设置（默认 500ms，文本预览默认关闭）。\n\n### 启动通知\n\n![启动通知](img/startup_notification.png)\n\n## 设计理念\n\n**低占用 · 高性能 · 现代化 · 完全本地化离线**\n\n- **低占用** - 托盘常驻，不打扰核心工作流，窗口不抢占焦点，仅可见时启用监控\n- **高性能** - 优化的 LIKE 搜索（兼容 CJK 文本）、虚拟列表处理万级记录、异步图像处理、内容哈希去重\n- **现代化** - Tauri 2.0 + React 19 + Tailwind CSS 4，类型安全，优雅架构\n- **本地化离线** - 数据完全本地存储，无网络请求，无云同步，隐私至上\n\n## 功能特性\n\n完整功能列表与术语约定见 [FEATURES.md](FEATURES.md)。\n\n## 快捷键\n\n### 全局快捷键\n\n| 快捷键 | 功能 |\n|--------|------|\n| `Alt+C` | 显示/隐藏窗口（默认，可自定义） |\n| `Win+V` | 显示/隐藏窗口（可选，需在设置中开启） |\n\n### 窗口内快捷键\n\n| 快捷键 | 功能 |\n|--------|------|\n| `↑` / `↓` | 上下选择剪贴板条目 |\n| `←` / `→` | 切换分组标签（全部/文本/图片/文件/收藏） |\n| `Enter` | 粘贴选中条目 |\n| `Shift+Enter` | 以纯文本粘贴选中条目 |\n| `Delete` | 删除选中条目 |\n| `ESC` | 关闭对话框/隐藏窗口 |\n| `Ctrl+滚轮` | 缩放图片预览 / 滚动文本预览 |\n\n## 技术栈\n\n| 类别 | 技术 |\n|------|------|\n| **框架** | Tauri 2.0 |\n| **前端** | React 19 + TypeScript |\n| **构建** | Vite 7 |\n| **样式** | Tailwind CSS 4 |\n| **组件** | shadcn/ui (Radix UI) + Fluent UI Icons |\n| **状态管理** | Zustand 5（持久化 + 多窗口同步） |\n| **虚拟列表** | react-virtuoso |\n| **拖拽排序** | @dnd-kit |\n| **后端** | Rust |\n| **数据库** | SQLite (rusqlite) + 优化的 LIKE 查询（支持 CJK 文本） |\n| **哈希** | BLAKE3（内容去重） |\n| **锁** | parking_lot（高性能 Mutex/RwLock） |\n| **并行** | rayon（文件检查并行化） |\n| **剪贴板** | clipboard-master + arboard + clipboard-rs |\n| **窗口特效** | window-vibrancy（Mica/Acrylic/Tabbed） |\n| **键盘模拟** | enigo |\n| **输入监控** | Win32 LL Hook（WH_MOUSE_LL + WH_KEYBOARD_LL，仅窗口可见时启用键盘钩子） |\n| **自动更新** | 基于 GitHub Release 的检查与下载（支持系统代理） |\n| **CI/CD** | GitHub Actions（CI + Tag 触发 Release） |\n\n## 安装\n\n### 下载安装包\n\n从 [Releases](https://github.com/Y-ASLant/ElegantClipboard/releases) 页面下载最新版本：\n\n- **安装版**（推荐）：`ElegantClipboard_x.x.x_x64-setup.exe`\n- **便携版**：`ElegantClipboard_x.x.x_x64_portable.exe`（无需安装，直接运行）\n\n### winget\n\n```powershell\nwinget install Y-ASLant.ElegantClipboard\n```\n\n### Scoop\n\n```powershell\nscoop bucket add elegantclipboard https://github.com/Y-ASLant/ElegantClipboard\nscoop install elegantclipboard\n```\n\n### 从源码构建\n\n#### 环境要求\n\n- Node.js 18+（推荐 LTS 版本）\n- Rust 1.85+（Rust edition 2024）\n- Windows 10/11\n\n#### 构建步骤\n\n```bash\n# 克隆仓库\ngit clone https://github.com/Y-ASLant/ElegantClipboard.git\ncd ElegantClipboard\n\n# 安装依赖\nnpm install\n\n# 仅构建前端静态资源（dist/）\nnpm run build\n\n# 开发模式\nnpm run tauri dev\n\n# 构建生产版本（默认仅当前机器架构）\nnpm run tauri build\n\n# 分别构建 x64 / arm64 安装包（需执行两次）\nnpm run tauri build -- --target x86_64-pc-windows-msvc\nnpm run tauri build -- --target aarch64-pc-windows-msvc\n\n# 代码检查\nnpm run lint\n```\n\n说明：\n- `npm run build` 只会执行 `tsc \u0026\u0026 vite build`，用于前端资源构建，不会生成安装包。\n- 安装包由 `npm run tauri build` 生成；不指定 `--target` 时只构建当前环境对应架构。\n- 需要同时发布 `x64` 和 `arm64` 时，需分别执行两次带 `--target` 的构建命令（或在 CI 中分架构构建）。\n\n#### 版本管理\n\n```powershell\n# 统一修改三处版本号（package.json, tauri.conf.json, Cargo.toml）\n.\\scripts\\bump-version.ps1 0.5.0\n```\n\n或直接推送 tag，Release workflow 自动同步版本号并构建：\n\n```bash\ngit tag v0.5.0\ngit push origin v0.5.0\n```\n\n## 数据存储\n\n默认存储位置（可在设置中修改）：\n\n| 类型 | 路径 |\n|------|------|\n| 配置文件 | `%LOCALAPPDATA%\\ElegantClipboard\\config.json` |\n| 数据库 | `\u003c数据目录\u003e\\clipboard.db` |\n| 图片缓存 | `\u003c数据目录\u003e\\images\\` |\n\n## 许可证\n\n[MIT License](LICENSE)\n\n## 作者\n\n**ASLant** - [@Y-ASLant](https://github.com/Y-ASLant)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FY-ASLant%2FElegantClipboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FY-ASLant%2FElegantClipboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FY-ASLant%2FElegantClipboard/lists"}