你的剪贴板,该有个好记性。

0 阅读4分钟

你的剪贴板,该有个好记性。

一个让我抓狂的场景

刚刚复制的一段代码,切了个窗口就没了;想找回上周复制过的一个地址,翻遍了聊天记录也没找到……

系统自带的剪贴板,永远只能记住最后一次复制的内容。你每天复制几十上百次,大部分内容在粘贴的瞬间就被遗忘了。

作为一个开发者,我决定自己动手解决这个问题。

于是,Clip History 诞生了

Clip History 是一款仅 ~5MB 的跨平台剪贴板历史管理工具——基于 Tauri 2 + Rust 构建,内存占用不到 30MB,搜索响应低于 100ms。后台静默记录每一次复制,随时搜索、预览、一键复用。

官网:clip-history.zhengz.cc

GitHub:github.com/zhengzhuang…

Clip History 主界面

核心功能

文本 + 图片,统统记录

后台静默监听剪贴板变化,自动保存每一次复制操作——纯文本和图片都支持。截图、代码、地址、表情包……复制什么就记什么。同类工具大多只支持文本,Clip History 对图片同样做到了完整收录。

内容去重,不浪费空间

通过 SHA256 哈希对比自动识别重复内容,同样的复制不会产生多条记录。上千条历史依然干净有序。

毫秒级搜索

按下全局快捷键(默认 Alt/Cmd + Shift + V),在任何应用中唤出历史窗口,输入关键词实时过滤, <100ms 找到目标内容。

搜索功能演示

内容预览 & 一键复用

图片缩略图预览、文本全文预览,一目了然。点击即可将历史内容重新写入剪贴板,回到原应用直接粘贴。

系统托盘常驻

最小化到托盘,不占任务栏空间。右键托盘图标可快速访问最近 10 条历史,置顶收藏优先显示。

个性化设置

支持中英文切换,主题可选浅色、深色或跟随系统。还能设置开机自启、最大历史记录数量和自定义快捷键,按你的习惯来。

技术架构:为什么这么轻?

Clip History 的"轻"并非偶然,而是技术选型的结果:

  • Tauri 2 — 桌面应用框架
  • Rust — 后端核心逻辑
  • React 18 + TypeScript + Vite — 前端 UI
  • SQLite — 本地数据存储

Tauri 2 + Rust 后端

不同于 Electron 打包一整个 Chromium 的方案,Tauri 使用系统原生 WebView 渲染界面,后端逻辑用 Rust 编写。Rust 的零成本抽象和内存安全特性,让剪贴板监听、数据去重、SQLite 读写这些核心操作既高效又稳定。

React + shadcn/ui 前端

UI 组件库选择了 shadcn/ui + Tailwind CSS,虚拟滚动(@tanstack/react-virtual)确保即使上千条历史记录,列表依然流畅。无标题栏设计让界面更加简洁。

隐私优先

你的剪贴板内容属于你自己,我们绝不收集、上传或分享任何数据。

Clip History 在设计上就杜绝了数据泄露的可能——它根本没有联网的能力。不注册、不授权、不联网,下载即用。在咖啡厅连公共 WiFi 也能放心使用,你的剪贴板内容只存在于你自己的设备上。

设置面板

支持平台

支持 Windows 10+macOS 12+ ,免费使用。

macOS:下载 .dmg 安装包,拖入 Applications 文件夹即可。

Windows:下载 .exe 安装包,双击运行安装向导。

macOS 未签名应用说明

首次打开可能提示"已损坏"或"无法验证开发者",这是 macOS 对未签名应用的安全限制。

解决方法:打开终端,输入以下命令后回车即可:

xattr -cr /Applications/Clip\ History.app

官网下载clip-history.zhengz.cc

写在最后

Clip History 是我的一个 side project,从构思到发布第一个版本,用了大约一周时间。Tauri 2 + Rust + React 的技术栈让开发体验非常舒适——Rust 负责性能敏感的后端逻辑,React 负责灵活的 UI 交互,Tauri 把它们优雅地粘合在一起。

下一步计划支持 Linux、剪贴板分组标签,以及 Snippet 快捷短语功能。如果你有想法,Issue 区见。

目前项目已开源在 GitHub,MIT 协议,欢迎试用和 Star。如果你也受够了系统剪贴板的"金鱼记忆",不妨试试 Clip History。

你的剪贴板,该有个好记性。