刚刚开源!我写了一款轻量级、隐私优先的 macOS/iOS 全平台剪贴板神器 —— Paste

0 阅读4分钟

大家好!我刚刚将自己打磨了一段时间的剪贴板管理工具 —— Paste 正式开源了!🎉

项目地址:github.com/gxlself/Pas… (如果觉得不错,求在 GitHub 顺手点个 Star ⭐️ 支持一下!)

作为重度依赖电脑和手机的开发者/创作者,我们每天都会进行无数次的复制和粘贴。(Apple Store上的Paste年订阅99, 太残忍了,这你受得了吗?)

为了解决这些痛点,我开发了 Paste。它是一款轻量级、隐私优先的剪贴板管理器,不仅覆盖了 macOS 和 iOS,还专门为 iOS 开发了自定义键盘扩展

🌟 核心特性速览

1. 🍎 三端合一,全生态覆盖

在 Paste 中,你不仅能体验到桌面端的便捷,还能享受移动端的丝滑:

  • macOS (Paste) :常驻菜单栏的轻量级应用。支持全局快捷键唤起半透明悬浮面板(可配置在屏幕上下左右),支持剪贴板堆栈(Paste Stack)、固定看板(Pinboards),并支持可选的 iCloud 同步
  • iOS (Paste-iOS) :功能完备的 iPhone/iPad App。你可以浏览与 Mac 相同的剪贴板历史,支持文本/图片/文件分类过滤、多选操作、甚至内置扫描和快速新建文本功能。
  • iOS 自定义键盘 (Paste-Keyboard)这是 iOS 端的杀手锏! 你可以在任意 App(微信、邮件、备忘录等)中直接唤出 Paste 键盘,一键选中并插入历史记录,彻底告别频繁切 App 的烦恼。

2. ☁️ 无缝的 iCloud 同步与隐私优先

在当今的大环境下,数据隐私至关重要。

  • 本地存储为主:macOS 默认将数据安全地保存在本地。
  • 可选 iCloud 同步:当你同时在 Mac 和 iPhone 上登录同一个 Apple ID 并开启同步后,剪贴板历史会在多设备间悄无声息地对齐。不经过任何第三方服务器,绝对的隐私安全。

3. 🛡️ 智能且克制的记录规则(macOS端)

我们为剪贴板的记录加入了非常多实用的“极客”设定:

  • 智能去重:基于 SHA-256 内容哈希算法,遇到重复复制的内容只更新时间戳,不浪费存储空间。
  • 防循环记录:通过 Paste 自身写入剪贴板的内容不会被二次记录。
  • App 黑名单(排除列表) :可以设置排除特定的 Bundle ID(例如 1Password 等密码管理器),复制密码绝不会被记录,守住安全底线。
  • 记录过滤:自动跳过纯空白/空格的无意义文本,支持自定义历史记录保留时间。

4. ⚡️ 高效的检索与粘贴体验

  • 实时全文搜索:防抖动(Debounced)实时搜索,聚焦面板时直接打字即可查找。
  • 快速分类与正则匹配:内置了 All、Text、Image、File 标签,甚至支持自带的 Regex(正则表达式)预设进行高级过滤,开发者狂喜!
  • 辅助粘贴(Assisted Paste) :利用 Accessibility 权限,回车直接将内容上屏到当前活动应用,并自动收起面板。

🛠️ 开发者视角的“内幕”

对于掘金的同行们,Paste 的工程结构也是非常值得一玩的。整个仓库将 三个交付物(Deliverables) 优雅地集成在了一个 Xcode 工程中:

  1. 代码使用 Swift 原生开发,结构清晰。
  2. App Group 数据共享:iOS App 与 Keyboard Extension 之间通过 App Group 共享同一个本地数据库,让你在键盘打字时,能实时读取 App 维护的剪贴板数据。
  3. 极简的 macOS 打包机制:仓库内自带了 ./scripts/build-macos-github-release.sh 脚本,开发者只需安装好 Xcode,一键即可生成 zip/pkg 用于 GitHub Releases 发布。

如果你对 iOS/macOS 开发、App Group 数据共享、或者 iCloud CloudKit 同步感兴趣,Paste 的源码绝对是一个不错的参考示例。


🚀 如何获取与体验?

macOS 端

macOS 版本的编译无需任何额外配置,克隆代码后直接 Run 即可运行。 你也关注 GitHub Releases,未来我会上传打包好的版本供大家直接下载使用。

iOS 端 (TestFlight 招募中!)

由于 Apple 的限制,iOS 无法像 Mac 那样直接安装,目前我已上架 TestFlight 进行公测: 👉 点击这里加入 TestFlight 体验 (如果名额满了或者遇到问题,欢迎邮件联系 gxlself@gmail.com)

(注:如果你想自己编译 iOS 端或键盘扩展,需要进行一次性的签名和 App Group 配置,详细步骤请参考仓库里的 SETUP.md)


💬 写在最后

作为个人开发者,将自己日常高频使用的工具开源出来是一件非常有成就感的事情。Paste 还有很多可以打磨和优化的地方。

如果你觉得这个工具切中了你的痛点,或者对代码实现感兴趣: 🔥 欢迎去 GitHub 给我点个 Star! 🐛 遇到任何问题,欢迎提交 Issue,甚至直接提 PR 来一起共建!

感谢大家的阅读与支持,希望能帮大家在日常开发中提升效率!💻✨