Paste 是一款专为 macOS 设计的现代化剪贴板管理工具,采用 Go + Electron 架构构建,提供流畅、高效、安全的剪贴板历史管理体验。
- 持续剪贴板监听 - 自动记录所有复制的文本和图片内容
- 智能去重 - 基于内容哈希自动识别并合并重复记录
- 快速搜索 - 毫秒级全文搜索,支持 5000+ 条历史记录
- 收藏夹 - 收藏常用内容,方便快速访问
- 全局快捷键 - 默认
⌘⇧V快速唤出,可自定义 - 菜单栏常驻 - 后台静默运行,不占用 Dock 栏
- 自动粘贴 - 双击条目自动粘贴到当前应用
- 开机启动 - 支持登录时自动启动
- 完全本地运行 - 所有数据存储在本地,不上传任何用户数据
- 无遥测/分析 - 不包含任何行为跟踪或数据分析功能
- 敏感应用排除 - 自动忽略密码管理器、银行应用等敏感场景
- 内容黑名单 - 基于正则表达式的内容过滤规则
- 自定义忽略应用 - 用户可自定义需要排除的应用列表
- 毛玻璃效果 - macOS 原生风格的透明毛玻璃界面
- 深浅色模式 - 支持浅色/深色/跟随系统三种主题
- 流畅动画 - Framer Motion 驱动的丝滑动画
- Retina 适配 - 完美支持高分辨率显示
- 键盘操作 - 完整的键盘快捷键支持
- 🚀 启动时间 < 500ms
- ⚡ 搜索延迟 < 50ms
- 📦 支持 5000+ 条历史记录保持流畅
- 🔋 后台监听长期 CPU 占用 < 1%
- 💾 内存占用优化
- 数据库: SQLite (WAL 模式)
- HTTP 服务: Gin 框架
- 日志: Zap (结构化日志)
- 剪贴板: atotto/clipboard + macOS osascript
- 配置: JSON 文件持久化
- 框架: React 18 + TypeScript
- 样式: Tailwind CSS
- 状态管理: Zustand
- 动画: Framer Motion
- HTTP 客户端: Axios
- UI: 原生 macOS 毛玻璃 (vibrancy)
- 本地 HTTP API (127.0.0.1)
- Electron IPC 桥接
paste/
├── backend/ # Go 后端
│ ├── cmd/
│ │ └── main.go # 程序入口
│ ├── internal/
│ │ ├── api/ # HTTP API 服务
│ │ ├── clipboard/ # 剪贴板监听
│ │ ├── config/ # 配置管理
│ │ ├── logger/ # 日志系统
│ │ ├── paste/ # 粘贴功能
│ │ ├── security/ # 安全与隐私
│ │ ├── storage/ # SQLite 存储
│ │ └── autostart/ # 开机启动
│ ├── pkg/
│ │ ├── models/ # 数据模型
│ │ └── utils/ # 工具函数
│ └── bin/ # 编译输出
├── frontend/ # Electron 前端
│ ├── src/
│ │ ├── main/ # Electron 主进程
│ │ │ ├── index.ts # 主进程入口
│ │ │ └── preload.ts # 预加载脚本
│ │ └── renderer/ # 渲染进程 (React)
│ │ ├── components/ # UI 组件
│ │ ├── stores/ # Zustand 状态管理
│ │ ├── api/ # API 客户端
│ │ ├── types/ # TypeScript 类型
│ │ ├── utils/ # 工具函数
│ │ ├── styles/ # 全局样式
│ │ ├── App.tsx # 应用根组件
│ │ └── main.tsx # 渲染入口
│ ├── build/ # 构建资源
│ └── public/ # 静态资源
├── Makefile # 构建脚本
├── go.mod
└── package.json
- macOS 11.0+
- Go 1.21+
- Node.js 18+
- npm 或 yarn
# 一键安装所有依赖
make install-deps
# 或分别安装
cd backend && go mod download
cd ../frontend && npm install# 启动后端
make dev-backend
# 启动前端(另开一个终端)
make dev-frontend# 构建后端 + 前端
make build
# 打包应用
make pack
# 构建发布版本 (.dmg / .zip)
make dist# 运行所有测试
make test
# 仅后端测试
make test-backend
# 仅前端测试
make test-frontend| 快捷键 | 功能 |
|---|---|
⌘⇧V |
唤出/隐藏 Paste 窗口 |
⌘F |
聚焦搜索框 |
↑ / ↓ |
上下选择条目 |
Enter |
粘贴选中条目 |
⌫ / Delete |
删除选中条目 |
Esc |
隐藏窗口 |
后端 HTTP API 运行在 http://127.0.0.1:48175/api/v1
GET /items- 获取剪贴板列表GET /items/:id- 获取单条记录DELETE /items/:id- 删除记录PUT /items/:id/favorite- 切换收藏POST /items/:id/copy- 复制到剪贴板POST /items/:id/paste- 自动粘贴
GET /search?q=关键词- 搜索剪贴板内容
GET /config- 获取配置PUT /config- 更新配置
GET /stats- 获取数据统计DELETE /items- 清除历史记录
Paste 严格保护您的隐私:
- 100% 本地运行 - 所有剪贴板数据仅存储在您的 Mac 上
- 无网络请求 - 除了本地 API 通信,不发起任何外部网络请求
- 无遥测 - 不收集、不上传任何使用数据
- 开源透明 - 代码完全开源可审计
- 敏感保护 - 默认启用敏感应用和内容排除功能
项目包含完善的测试覆盖:
- 后端单元测试 - 存储层、安全模块、配置管理
- 端到端测试 - API 接口测试
运行测试:
make testMIT License - 详见 LICENSE 文件。
欢迎提交 Issue 和 Pull Request!
Made with ❤️ for macOS users