用 BetterShot 搭建 macOS 截图自动化

18 次阅读 0 点赞 0 评论 6 分钟原创技术教程

从零配置 BetterShot 开源工具,掌握截图/录屏/编辑核心操作,学会用 URL scheme 与 Alfred 联动搭建自动化采集工作流,彻底告别多工具切换的繁琐流程。

#macOS #开源工具 #截图录屏 #效率工具 #Swift #自动化
用 BetterShot 搭建 macOS 截图自动化

用 BetterShot 搭建 macOS 截图自动化

写技术文档、做产品评审、给同事复现 Bug 时,你是否也遇到过这样的场景:系统自带截图只能拍静态图,录屏得切 QuickTime,加标注又要打开 Preview。工具换来换去,半小时过去,正事还没开始。

BetterShot 是一个原生 SwiftUI 写的开源工具,BSD 3-Clause 协议,2300+ 星,没有订阅费、没有账号体系、不收集任何遥测数据。截图和视频除非你主动分享,否则完全留在本地。对于需要截图、录屏、编辑、云分享一体化的 macOS 用户来说,这是一个非常务实的替代方案。


前置条件

  • 操作系统:macOS 26.0 及以上(低版本可从 GitHub Releases 下载 .dmg 自行测试)
  • 硬件:Apple Silicon 或 Intel Mac 均可,视频编辑会调用 GPU 硬件编码
  • 基础知识:会使用 Homebrew 和终端,从源码编译需额外安装 Xcode 26+ 和 XcodeGen
  • 权限准备:首次启动会引导授予屏幕录制、辅助功能等权限,系统层要求必须放行

安装与首次运行

一行命令完成安装:

bash 复制代码
brew install --cask bettershot

装好后从 Applications 或 Launchpad 启动。初次打开有三步引导流程:Welcome → Permissions → First Capture。按提示走完即可。不想用 Homebrew 的用户也能直接从 GitHub Releases 下载 .dmg 文件手动安装。

从源码编译的命令如下:

bash 复制代码
brew install xcodegen
git clone https://github.com/KartikLabhshetwar/better-shot.git
cd better-shot
make release
open .build/Build/Products/Release/BetterShot.app

纯 Swift + SwiftUI 实现,仅引入 DockProgress 一个第三方库。运行 make test 可执行全部测试,包括编辑器快照和导出集成测试。

快捷键与 Capture Deck

记住这几个核心快捷键,后续所有自定义操作都基于同一套体系:

操作 默认快捷键
区域截图 ⌘⇧4
全屏截图 ⌘⇧3
呼出截取/录制面板 ⌘⇧2
录制选项 ⌘⇧5
OCR 文字提取 ⌘⇧O
拾色器 ⌘⇧C

⌘⇧2 是最核心的入口,按下后会出现浮动面板,可快速选择截图或录屏模式。按下 ⌘⇧4 截取区域后,画面不会直接存到桌面,而是先进入 Capture Deck(浮动堆栈)。截图在内存中的私密工作区暂存,你可以决定复制、落盘、云分享或打开编辑器加标注。

Capture Deck 最多保留 5 张截图,支持 Copy、Save、Pin、Edit、拖拽导出和云分享。用完再落盘,桌面保持整洁。

项目提供 75+ 个可自定义快捷键,Settings → Shortcuts 页面会自动检测与 Paste、Shottr 等已装工具的冲突。调整快捷键前先熟悉默认值,后续改起来更顺手。

实战:用 URL scheme 搭建自动化截图流

BetterShot 支持 URL scheme 协议调用,你可以从 Alfred、Raycast 或 shell 脚本中直接触发特定功能:

  • bettershot://capture/region — 区域截图
  • bettershot://capture/fullscreen — 全屏截图
  • bettershot://record — 开始录屏
  • bettershot://ocr — OCR 文字提取

在 Alfred 或 Raycast 中创建快捷键触发器,绑定以下脚本:

bash 复制代码
#!/bin/bash
## 触发区域截图
open "bettershot://capture/region"

## 等待截图完成,自动切换 BetterShot 到前台
sleep 1.5
osascript -e 'tell application "BetterShot" to activate'

脚本通过 open bettershot://capture/region 让工具进入截图模式,等待 1.5 秒后用 AppleScript 将其拉到前台。这样跳过了面板选择步骤,每天大量截图时可显著提升效率。基于同样的协议,还能实现截图后自动跑 OCR、提取文字、追加到 Notion 更复杂的自动化链条。

踩坑提醒

权限未弹出:前往「系统设置 → 隐私与安全性 → 屏幕录制」手动添加 BetterShot,重启应用。

快捷键冲突:Settings → Shortcuts 有冲突检测,注意与已装工具的组合键区分。

云分享配置:支持上传到自建 Cloudflare R2 存储桶,填写 Bucket、Endpoint、Access Key 和 Secret Key。上传走自己的存储,不经过第三方服务器。可在 Settings → Cloud Sharing 中完成配置。

视频导出卡顿:导出调用 GPU 硬件编码,老设备或驱动异常时可降低帧率(支持 30fps 到 60fps)或改用 MOV 格式。

视频编辑器内置剪辑、变速(0.25x ~ 8x)、转场、裁剪、摄像头叠加布局(画中画、并排、演讲者模式),录制教程视频时非常实用。

小结

完成 BetterShot 安装配置后,你掌握了快捷键体系和 Capture Deck 交互逻辑,截图不再散落桌面。通过 URL scheme 配合 shell 脚本,搭建出一键截图并唤醒编辑器的自动工作流。

纯 Swift + SwiftUI 实现,无订阅费、无遥测、完全本地优先。不想为同类工具付月费又有录屏编辑需求的用户,值得上手体验。


项目地址https://github.com/KartikLabhshetwar/better-shot

最后更新:2026-09-15T10:02:47

评论 (0)

发表评论

blog.comments.form.loading
0/500
加载评论中...