这款纯 Swift 打造的 macOS 效率神器 SnapClick,让你的右键、截图、录屏、取色“组合起来”!
告别臃肿 Electron!这款纯 Swift 打造的 macOS 效率神器 SnapClick,让你的右键、截图、录屏、取色一把梭
九年 macOS 老用户实测:从"装一堆小工具"到"一个 SnapClick 搞定全部"——纯原生 Swift、零 Electron 包袱、零后台网络、后台常驻 < 80 MB。
一、我为什么又把 macOS 效率工具重做了一遍?
我是 Tyeerth,一个用了九年 Mac 的普通用户。市面上的 macOS 效率工具我几乎都装过:截图用 Xnip、录屏用 ScreenFlow、取色用 Sip、右键增强用 RClick、贴图用 PinPhoto……
结果就是:
- 菜单栏塞得满满当当,光是这些工具的图标就占了一半
- 每个工具都是独立的"小作坊",UI 风格、快捷键、文件命名规则各管各的
- 很多都是 Electron 套壳,动辄 200 MB 内存起步,截图录屏时还互相抢资源
- 订阅制收费、强制登录、收集数据……让人越来越累
于是我决定:自己写一个。
SnapClick的目标只有一个——用纯原生 Swift,把"macOS 用户日常最高频的 9 个效率动作"全部装进一个 App,并且:
- 启动 1 秒内
- 后台常驻 < 80 MB
- 零 Electron、零 WebView、零后台网络请求
- 完全开源(Apache 2.0)、完全免费
一年年时间、九个大版本迭代后,今天这篇文章就来正式安利一下它。
二、九大功能 · 一屏尽览
1️⃣ Finder 右键菜单增强(FinderSync Extension)
通过系统底层的FinderSync Extension无缝融入 Finder,右键任意文件/文件夹都能看到增强菜单:
- 一键新建常用文件:
.txt、.md、.docx、.xlsx、.pptx、.html、.css、.js、.py、.sh全格式支持,支持自定义模板(内置真实 Office 模板,新建的 docx/xlsx/pptx 用 Office/WPS 直接打开不会"格式无效") - 跨目录剪切粘贴:比原生更顺滑的剪贴板工作流
- 常用目录快速归档:收藏夹式一键移动/复制
- 路径一键高级拷贝:完整路径 / 仅文件名 / POSIX 路径 三种格式
- MD5 / SHA 哈希校验:右键直接算文件指纹
- 默认在终端打开 + 多编辑器选择:自动识别 Terminal / iTerm2 / Warp / VS Code / Cursor / JetBrains 全家桶
架构细节:FinderSync 沙盒里跑,不直接执行任何文件操作,所有动作通过 App Group + Darwin Notification 跨进程交给主 App。涉及 TCC 权限的 API(如
NSWorkspace.urlForApplication)全部下沉到主 App,扩展绝不调用——所以你在使用过程中不会弹任何 Apple Event 授权框。
2️⃣ 高级截图与实时标注
⌥⇧A 一键调起,覆盖你日常所有截图场景:
- 自由选区 / 智能窗口识别:鼠标拖动选区,悬停窗口自动贴合
- 长截图(滚动截图):滚动网页/长文档时无缝拼接,再长的内容也能"一图装下"
- 截图后直接进入标注:不需要先保存再打开标注器
- 丰富标注工具栏:矩形、椭圆、直线、箭头、文字、画笔、橡皮、高亮蒙层、步骤序号、像素级马赛克
- 毛玻璃美化包装:0–32px 自定义圆角外框,导出就是可以直接发的"成品图"
- 多格式保存:PNG / JPG / PDF / HEIF
3️⃣ 智能长截图
单独把长截图拎出来说,因为它真的解决了一个任何系统自带截图工具都解决不了的问题:
- 浏览器里一篇万字长文
- 飞书 / 钉钉 / Notion 上一份几十页的文档
- App Store 应用的完整介绍页
这些场景下,系统截图只能截当前屏幕,要么反复手动滚动拼接(累且不精准),要么装第三方工具。
SnapClick 的长截图实现:
- 自动检测滚动方向(垂直 / 水平)
- 智能识别"内容是否已经到底",避免多截空白
- 像素级无缝拼接,没有错位、没有色差
- 截完直接进标注编辑器
4️⃣ 高性能屏幕录制
底层走的是Apple 官方 ScreenCaptureKit(macOS 12.3+ 的硬件加速捕获框架),不是那些套个 Electron 用getUserMedia的玩具能比的:
- 三种录屏模式:自定义区域 / 全屏 / 指定应用窗口
- 极速高帧率:30 / 60 / 120 FPS 通吃
- 多编码器:H.264 / HEVC 双支持,HEVC 同画质体积小一半
- "原画"无损档:码率拉满,适合后期剪辑
- 双音轨独立录制(macOS 13+):系统内录音频 + 麦克风分两个轨道保存,后期混音超方便
- HUD 悬浮控制条:录屏过程中浮出独立控制条,暂停 / 继续 / 停止 / 取消一目了然,不需要切回主窗口
5️⃣ 屏幕贴图(Pin Window)
⌥⇧P 一键置顶任意图片,做参考图、做对比、做"灵感收集板"时特别好用:
- 跨 Space 跟随:从桌面 Space 切到全屏应用,贴图还在最上层
- 悬浮多窗口管理:多个贴图并存,每个独立调节
- 滚轮无级调节透明度
- 双击缩放,不会糊
- 关闭 / 删除 / 复制三键快捷栏
6️⃣ 像素取色放大镜
⌥⇧C 一键调起,做设计、前端、写 UI 必备:
- 16× 像素级放大镜,精确到单个像素
- 多格式一键复制:HEX / RGB / HSL / Swift (NSColor) / CSS五种格式实时切换
- 20 条取色历史记录,自动保存当前会话所有取过的颜色
- 跨屏支持(多显示器也能取)
7️⃣ 液态玻璃主设置窗口
侧边栏全面采用Apple WWDC 2025 Liquid Glass 设计语言,跟 macOS Tahoe 系统设置一个味儿:
- 半透明毛玻璃材质:背景透明度 20–30%、背景模糊 40–60px,能透出桌面颜色(毛玻璃的精髓)
- 1px 白色高光描边:告别老版本那种"灰色大块 + 粗黑描边"
- 28–32px 大圆角侧边栏:跟 macOS 系统窗口保持一致
- macOS 交通灯按钮嵌进侧边栏顶部:红黄绿三颗按钮跟 Logo / 导航项保持统一 ~20px 呼吸间距
- 悬浮胶囊导航:默认完全透明,hover 浮现淡淡高光,选中态是发光 Liquid Glass 胶囊
- SF Symbols 单色图标:告别粗黑线条的拟物图标
- 深色 / 浅色双主题完美适配
三、技术架构亮点
| 模块 | 技术选型 | 说明 |
|---|---|---|
| UI 主框架 | SwiftUI + AppKit 混编 | SwiftUI 写界面,AppKit 处理窗口/事件 |
| 截图/录屏 | ScreenCaptureKit | 苹果官方硬件加速框架,零拷贝 |
| Finder 扩展 | FinderSync Extension | 沙盒运行,IPC 委托主 App |
| 进程通信 | App Group UserDefaults + Darwin Notification | 轻量、稳定、零延迟 |
| 快捷键 | Carbon HotKey API | 替代易被拦截的NSEvent.addGlobalMonitor |
| 颜色拾取 | CoreGraphics + CGDisplay | 像素级精度,跨多显示器 |
| 音频录制 | AVFoundation | 双音轨独立编码 |
| 窗口装饰 | NSVisualEffectView | 原生毛玻璃,性能最优 |
| 多语言 | 本地化 .strings | 中 / 英 |
架构原则:
- 主 App 与 FinderExtension 完全隔离——扩展只负责"传话",所有文件操作回到主 App 执行,避免任何沙盒/权限问题
- TCC 敏感的 API 全部下沉到主 App——
NSWorkspace.urlForApplication这类在扩展里调用会触发授权框的 API,SnapClick 一个都不用 - 用
/usr/bin/open -R替代activateFileViewerSelecting——避免 Apple Event 弹窗骚扰用户
四、5 分钟跑起来
方式一:直接下载安装包(推荐)
前往 Releases 页面 下载最新的.dmg或.zip安装包,解压后拖拽到「应用程序」文件夹即可。
方式二:从源码编译
# 1. 克隆gitclone https://github.com/Tyeerth/SnapClick.gitcdSnapClick# 2. 用 Xcode 打开openSnapClick.xcodeproj# 3. 在 Signing & Capabilities 里为两个 Target 配置你的开发者账号:# - SnapClick (com.snapclick.app) 非沙盒# - FinderExtension (com.snapclick.app.FinderExtension) 沙盒 + App Group启动后:
- 按⌥⇧A调起截图
- 按⌥⇧P贴图
- 按⌥⇧C取色
- 右键任意 Finder 文件即可看到增强菜单
首次运行授权说明
首次启动时,App 会引导你授予以下系统权限(全部都是 macOS 系统弹窗,App 本身不收集任何数据):
- 屏幕录制权限— 用于截图、长截图、屏幕录制与放大镜取色
- 辅助功能权限— 用于捕获并拦截全局快捷键
- Finder 扩展启用— 前往「系统设置 → 通用 → 登录项与扩展 → Finder 扩展」勾选
FinderExtension
五、对比同类工具
| 工具 | 技术栈 | 内存占用 | 订阅制 | 联网 | 评价 |
|---|---|---|---|---|---|
| SnapClick | 纯 Swift / ScreenCaptureKit | < 80 MB | 完全免费 | 无 | 一个顶九个 |
| Snip / Xnip | 原生 | 30 MB | 免费/订阅 | 无 | 只解决截图 |
| Cleanshot X | 原生 | ~120 MB | $29/年 | 有 | 功能多但贵 |
| ScreenFlow | 原生 | ~400 MB | $169 | 有 | 专业录屏但太重 |
| Sip | 原生 | 20 MB | 免费/订阅 | 无 | 只解决取色 |
| RClick | 原生 | 15 MB | 免费 | 无 | 只解决右键 |
一个 SnapClick ≈ Cleanshot X + Sip + RClick + 录音软件,内存还更少。
六、后续规划
- 录屏支持鼠标点击高亮 + 键盘按键回显
- 标注工具支持图层管理 + 撤销历史面板
- 取色器支持取色板调色(HSL 滑杆微调)
- 截图 OCR 文字识别(Vision 框架)
- 全局快捷动作工作流(Alfred 风格)
- 录屏支持时间轴剪辑
七、写在最后
做这个项目的初衷很简单:macOS 用户值得一个不臃肿、不打扰、真正好用的效率工具集。
如果你也喜欢它,欢迎:
- ⭐Star:https://github.com/Tyeerth/SnapClick
- 🐛提 Issue:反馈 bug 或新功能想法
- 🍴Fork & PR:一起把它做得更好
- 📮联系作者:tyeerth@163.com
官网:http://snapclick.cn/
许可证:Apache License 2.0
💬你在评论区聊聊:你心目中的"完美 macOS 效率工具"应该长什么样?你提到的功能,可能就是下个版本的 Roadmap 🚀
