这个项目能做什么
Gancho(西班牙语意为“钩子”)是一款采用 MIT 许可的本地优先剪贴板历史记录和精选片段库,适用于 Apple 平台家族。其 README 描述该项目目前为公开 v0.8.3 版本,正积极开发至 1.0 版本。macOS 是其主要创建平台,iPhone/iPad 应用支持扩展功能,计划推出兼容 iPad 的 visionOS 版本,而 watchOS 则仅限于固定项和最近项目。Android、Windows 和 Linux 仅列为未来的分析方向,暂无实现承诺。
macOS 上的捕获与隐私由一个剪贴板监视器处理,该监视器使用自适应低功耗轮询,在屏幕锁定和私密模式下会暂停,且会抑制自身的写入,标记 Universal Clipboard 项目,并保留文本、RTF、HTML、图像和文件 URL 等富文本负载。被标记为 ConcealedType、TransientType 或 AutoGeneratedType 的剪贴板类型在读取内容前会被否决捕获。此外,还内置了预加载的密码管理器和银行黑名单,以及“忽略下次复制”操作。设备端检测器可识别卡号(Luhn)、AWS/Stripe/GitHub/Slack 密钥、PEM 密钥和可能的密码,并显示具有短过期时间的掩码预览。在 iOS、iPadOS 和 visionOS 上,捕获仅在有意为之时触发,不支持后台剪贴板轮询。项目声明剪贴板内容绝不会写入日志、遥测、崩溃报告、分析或支持包中。
存储采用 GRDB/SQLite,具有内容寻址的磁盘 Blob、延迟缩略图、分页元数据列表、版本化迁移、设备感知去重以及 JSON/CSV 导出。搜索基于 FTS5,支持精确、模糊和正则模式,以及针对类型、来源应用和日期的过滤器,并由 100k 项性能测试套件支持。一个 512 维的设备端嵌入索引为“询问你的剪贴板”功能和自动面板建议提供支持,而主历史搜索仍维持 FTS5。保留引擎应用全局和每类过期策略、敏感内容自动过期和后台清理,固定项除外。
macOS 应用是一个菜单栏代理,具有可调整大小的浮动历史面板 (Shift-Cmd-V)、键盘优先的输入搜索、可组合过滤器、可编辑标题、每类预览、只读全内容预览,以及通过合成 Cmd-V 进行粘贴回写。项目实现了固定项、多成员面板以及一个统一的面板与片段库 (Library),还支持批量添加到堆栈、添加到面板、带撤销的删除、多选、拖拽文件剪辑、带结构化脱敏的精选 Spotlight 捐赠,以及带有只读预览、验证、原子去重和取消功能的引导式 Maccy/CSV 历史导入。Raycast 被明确排除在导入源之外,因为其公开的剪贴板 API 仅暴露六条最近条目,且其加密备份没有公开的第三方解码方案。
iPhone 和 iPad 应用仅通过“保存”按钮、UIPasteControl、共享扩展和 App Intents/快捷指令提供有意捕获,此外还提供带有历史记录的键盘扩展、小组件、iPad 分屏视图和来源应用过滤。其设备端智能栈在零网络环境下工作:一个确定性的 Tier-0 分类器可在 5 毫秒内识别 17 种内容类型;支持 Apple Intelligence 标题、截图 OCR、语义索引、开发者操作(JWT 解码、JSON 格式化、Base64、URL 解析、颜色转换、UUID 格式,这些操作同样暴露为 App Intents)、智能粘贴重写/翻译/PII 脱敏、基于历史记录的接地问答 (grounded Q&A) 以及自动面板建议。智能屏幕上的每个阶段都有独立的开关。
同步通过 SyncEngine 边界,利用用户私有 iCloud 数据库上的 CKSyncEngine 实现,并具有可见的同步状态。集成项包括 gancho CLI、一个本地选择加入的 MCP 服务器(具有过期且可撤销的每客户端授权、明确的面板/时间上下文、独立的读写权限和仅元数据的访问日志),以及 VS Code 的“保存选区”命令。货币化采用 StoreKit 2 的购买、恢复和权限机制,配有上下文付费墙和免费层限制;直接下载版本可通过 Lemon Squeezy 购买、激活、重新验证和停用 Pro 许可证,无需嵌入支付密钥,Pro 版本可解锁加密的 iCloud 同步。可选的匿名诊断在获得明确同意前保持禁用,隐私中心的活动收据在设备上保留 13 个月的滚动每应用总量,不进行同步或导出。
在工程方面,项目使用 XcodeGen、Swift 6 严格并发、英/西双语 String Catalog 门控、辅助功能支持,以及一个包含 8 个库产品和一个 CLI 的单一 SwiftPM 包 (GanchoKit)。CI 覆盖构建、测试和 Lint,强制执行生产源码覆盖率底线,以及序列化的 StoreKit 自动化和规模性能测试。构建要求 macOS 15.4+、Xcode 26+ 和 XcodeGen,并为测试、iOS 设备安装、打包、发布 QA 和站点检查提供了文档化的 make 目标。README 感谢了 GRDB.swift、SQLCipher、KeyboardShortcuts、Sauce 和 TelemetryDeck 等底层开源工作。许可证:MIT, © 2026 Johnny Young。
评论
0 评分人数达到10人后显示
登录后参与讨论。