这款纯 Swift 打造的 macOS 效率神器 SnapClick,让你的右键、截图、录屏、取色“组合起来”!

📅 2026/8/3 7:39:23 👁️ 阅读次数 📝 编程学习
这款纯 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 的长截图实现:

  1. 自动检测滚动方向(垂直 / 水平)
  2. 智能识别"内容是否已经到底",避免多截空白
  3. 像素级无缝拼接,没有错位、没有色差
  4. 截完直接进标注编辑器

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中 / 英

架构原则:

  1. 主 App 与 FinderExtension 完全隔离——扩展只负责"传话",所有文件操作回到主 App 执行,避免任何沙盒/权限问题
  2. TCC 敏感的 API 全部下沉到主 App——NSWorkspace.urlForApplication这类在扩展里调用会触发授权框的 API,SnapClick 一个都不用
  3. /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 本身不收集任何数据):

  1. 屏幕录制权限— 用于截图、长截图、屏幕录制与放大镜取色
  2. 辅助功能权限— 用于捕获并拦截全局快捷键
  3. 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 🚀