
Time Machine 很擅长做一件事:把整台 Mac 还原成某个时刻的样子。但它有个明显的短板——备份通常就在你桌上那块硬盘里,不加密,也没有第二份。国内开发者 shenxianpeng(贤鹏)新做的 Keelhaven 补的就是这个位置:一个常驻菜单栏的开源备份工具,把你在乎的文件夹加密后送到你自己拥有的存储上。
它的底层是久经考验的 restic,上层是原生 SwiftUI 菜单栏应用。GPL-3.0 开源,免费,无订阅、无账号、无遥测。
项目档案
| 项目 | 内容 |
|---|---|
| 作者 | shenxianpeng(贤鹏) |
| 备份引擎 | restic(BSD 2-Clause),已内置于 App |
| 协议 | GPL-3.0-or-later |
| 系统 | macOS 14 Sonoma 及以上,Apple silicon 与 Intel 通用 |
| 版本 | v0.6.0(2026-09-07),公开测试版 |
| 界面 | 英文 / 简体中文 |
项目 2026 年 8 月 26 日建仓,到今天不到两周已经迭代到 v0.6.0,节奏很快。
三步就完事
Keelhaven 的设计目标写在官网上——「Built to be forgotten」(做好了就该被忘掉)。整个配置流程只有三步:
- 选文件夹:文档、照片、项目,那些丢了你真会心疼的东西。
- 选一个你拥有的目的地:外接硬盘、NAS,或者任意 S3 兼容的存储桶。链路上没有 Keelhaven 的服务器。
- 设定时:每小时、每天或每周,选好星期几和几点。
之后它就待在菜单栏里——没有 Dock 图标,没有窗口要管,只在需要你注意的时候才出声。

支持哪些目的地
- 挂载在 Mac 上的外接硬盘或网络驱动器
- 任意 S3 兼容对象存储:AWS S3、Backblaze B2、Wasabi、Cloudflare R2、MinIO
- SFTP 到你自己的服务器或 NAS
- 自建的 restic REST server
备份计划数量和目的地数量都不限。
安全模型:这部分值得单独看
Keelhaven 在 README 里专门列了一节 security model,细节做得很实在:
- 数据在离开你的 Mac 之前就完成加密。
- 仓库密码、S3 密钥、REST 服务器密码全部存在 macOS 钥匙串里,每个备份计划一条独立记录,绝不会写进磁盘或日志。
- 这些密钥只通过子进程环境变量传给 restic——不走命令行参数,不落盘。这点很关键,因为命令行参数在进程列表里是可见的。
- restic 子进程拿到的是最小化干净环境(只有
PATH、HOME、TMPDIR、SSH_AUTH_SOCK加必要凭据),而不是 App 自己的环境。 - 零遥测。除了你加密后的备份数据流向你指定的目的地,没有任何东西离开这台机器。
- App 启用了 hardened runtime,只是不走 Mac App Store 分发。
不锁定:备份比软件活得久
每个计划写的都是标准 restic 仓库。这意味着你可以在任何 Mac 或 Linux 机器上,用开源的 restic 命令行工具直接列出、校验和恢复你的备份——装不装 Keelhaven 都行。官方的说法很直白:如果 Keelhaven 明天消失了,你的备份不会。
怎么确认备份真的没问题
官方对这点的回答挺让人安心:
- 失败绝不静默:引擎报错会立刻出现在菜单栏并推送通知。
- 定期校验:每个计划会按计划跑 restic 自己的完整性检查,默认每周一次,可按计划调整;计划行里有一行安静的「Verified」显示上次通过时间——只有出问题才会主动提醒。
- 官方也补了一句大实话:偶尔真的恢复一个文件试试,对任何备份工具来说都是金标准,包括它自己。
保留策略:默认不删你的数据
每次运行都会新增一个去重快照,只存变化的部分。至于清理,官方的态度是:默认关闭保留清理——因为「删除你的数据」不该由 Keelhaven 自己决定。
想让它别一直长,可以在 Edit Plan 里选一个预设:保留一年历史或保留一个月历史。旧快照会被稀释成按日、按周、按月保留的「keeper」,空间回收每周最多执行一次。仓库始终是标准 restic,所以你想用 restic forget --prune 自己定策略,在任何机器上照样能做。
它不替代 Time Machine
这点官方说得很明确:不是替代关系,两个都跑。
| 对比 | Time Machine | Keelhaven |
|---|---|---|
| 擅长 | 整台 Mac 原样还原 | 关键文件夹的第二份拷贝 |
| 加密 | 可选 | 离开本机前强制加密 |
| 目的地 | 主要是本地/直连磁盘 | 外接盘、NAS、S3、SFTP、自建 REST |
| 格式 | 苹果专有 | 标准 restic,跨平台可恢复 |
| 界面 | 系统设置 + 全屏恢复器 | 菜单栏,无 Dock 图标 |
简单说:Time Machine 管「机器坏了」,Keelhaven 管「文件夹没了」——尤其是那份不在你桌上的、加密的拷贝。顺带一提,苹果此前还因 iCloud 备份服务被指控垄断而遭集体诉讼,多一个自己掌控的备份通道,对国内用户来说意义更实际些。
安装与首次启动
两种终端方式,装的是和下载按钮同一个 dmg:
- Homebrew:
brew install --cask shenxianpeng/tap/keelhaven,之后brew upgrade就能跟上新版本 - 无 Homebrew:
curl -fsSL https://keelhaven.app/install.sh | bash(脚本很短,可以先读一遍再跑) - 或去官网 / releases 下载 dmg 拖进 Applications
注意:目前是 beta,构建未经苹果公证,首次启动需要手动放行一次:
- macOS 15(Sequoia):双击一次并关掉警告 → 打开「系统设置 → 隐私与安全性」,往下滚,点「仍要打开」。
- macOS 14(Sonoma):在「应用程序」里右键 Keelhaven 选「打开」,再点一次「打开」。
- 终端一步到位:
xattr -d com.apple.quarantine /Applications/Keelhaven.app,直接清掉隔离标记。
App 里所有依赖都打包好了,包括 restic 引擎本身,不需要另外装任何东西,也不用为了它去装 Homebrew。
当前状态与几个要注意的点
官方把状态标为 public beta:备份引擎、配置向导、定时备份、整快照恢复、定期仓库校验、保留预设都已可用;快照内的文件级浏览是「下一步」,目前还没有。
另外三点提醒:
- 忘了仓库密码 = 数据找不回,这是端到端加密的必然结果,官方和你的存储服务商都不持有备用密钥。Keelhaven 存在钥匙串里,可以通过 Touch ID 验证后复制出来——建议同时存一份到你的密码管理器。
- 不上 Mac App Store:商店应用必须跑在沙盒里,而备份引擎需要读取你指定的文件夹并建立网络与 SSH 连接,两者冲突。
- GPL-3.0 覆盖代码,但「Keelhaven」名称和图标不在其内,分叉需要用你自己的名字发布。
适合谁
如果你一直想给重要文件夹做一份加密的、异地的、不被厂商锁定的备份,但又不想去啃 restic 的命令行,Keelhaven 正好填这个位置。它免费、开源、密钥只在你手上,而且即使哪天你不装它了,备份依然能用 restic 打开。
反过来,如果你要的是整机一键还原、或者需要按文件逐个挑着恢复,那现阶段还是 Time Machine 更合适——后一项 Keelhaven 官方也说了还在路上。
项目地址:github.com/shenxianpeng/keelhaven,官网 keelhaven.app(有中文)。备份这种事,多一层自己掌控的拷贝总不是坏事。需要挑选外接硬盘的话,站内这篇《MountMate:Mac 外接硬盘管理工具》可以配合看。
声明:本文来自苹果迷投稿,不代表苹果家园立场,版权归原作者所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ BrowSync for Mac - 把 Safari/Chrome/Edge/Firefox 统一收编,跨浏览器自动分流与书签/登录态同步的开源中枢09/06
- ♥ 声迹 LocalScribe:在 Mac 本机完成语音转写、字幕编辑、离线翻译与 AI 整理的开源工具09/07
- ♥ LiveContainer:不越狱突破 3 个 App 上限,一个 App ID 装无限应用、还能多开的开源启动器09/07
- ♥ Port Radar for Mac - 菜单栏里的端口雷达,让 Apple Intelligence 解释每个本地进程09/05
- ♥ OpenDisplay for Mac - 把 iPhone/iPad/旧 Mac 变成副屏的开源替代,Sidecar / Duet 之外第三条路09/06
- ♥ UniClipboard for Mac:跨 Mac、Windows、Linux、iOS 的端到端加密剪贴板同步,本地优先、无云账号09/07