Better Shot:macOS 开源截图工具技术分析

一、新闻概述

1. 标题

Better Shot:基于 Tauri + React 的 macOS 开源截图工具

2. 发布时间

2026 年 1 月(持续更新中)

3. 来源

GitHub 开源仓库

二、核心内容

1. 事件摘要

A. 主要内容

Better Shot 是一款开源的 macOS 截图工具,作为 CleanShot X 的免费替代方案。项目使用 Tauri 和 React 构建,提供快速、轻量级的截图捕获、编辑和导出功能。

B. 核心亮点

  • 完全开源且免费,替代商业软件 CleanShot X
  • 基于 Rust + Tauri 架构,性能优异
  • 支持区域截图、全屏截图、窗口截图三种模式
  • 内置丰富的背景库、标注工具和快捷键支持
  • GitHub 已获得 1.1k+ Star

C. 关键信息

A. 版本信息

  • 最新版本:v0.2.4(2026 年 1 月 17 日)
  • 开发状态:活跃维护中
  • 仓库:KartikLabhshetwar/better-shot

B. 技术栈

  • 前端:React + TypeScript(90.9%)
  • 后端:Rust(5.5%)
  • 样式:CSS + Tailwind(3.2%)
  • 框架:Tauri + Vite

C. 社区数据

  • GitHub Stars:1.1k
  • Forks:58
  • Contributors:4

2. 背景介绍

A. 前置背景

CleanShot X 是 macOS 平台知名的商业截图工具,功能强大但价格昂贵。Better Shot 旨在提供同样强大的功能,但完全免费开源。

B. 相关上下文

Better Shot 遵循 BSD 3-Clause 许可证,允许自由使用、修改和分发。项目采用现代化的开发技术栈,注重性能和用户体验。

三、详细报道

1. 主要功能

A. 捕获模式

  • 区域截图(⌘⇧2):选择屏幕任意区域
  • 全屏截图(⌘⇧F):捕获整个屏幕
  • 窗口截图(⌘⇧D):捕获特定窗口

B. 图像编辑

  • 背景库:精选壁纸、Mac 资产和网格图案
  • 自定义背景:纯色和透明棋盘格
  • 效果控制:模糊 + 噪点调节
  • 阴影 + 圆角:调节深度和边角半径
  • 高质量导出:支持文档、演示和社交媒体

C. 标注工具

  • 形状:圆形、矩形、线条、箭头
  • 文本:可调节大小的文本添加
  • 序号标签:自动递增的步骤标注
  • 可编辑性:选择、移动、删除标注
  • 样式:颜色、透明度、边框、对齐

D. 工作流特性

  • 全局快捷键:即使应用隐藏也能捕获
  • 自动应用:应用默认背景并保存,无需打开编辑器
  • 剪贴板支持:捕获/导出后自动复制
  • 偏好设置:保存目录、默认设置、快捷键配置持久化
  • 菜单栏访问:从菜单栏快速启动
  • 原生性能:Rust + Tauri 架构

2. 技术架构

graph TB
    subgraph 前端层
        A[React + TypeScript]
        B[Vite 构建工具]
        C[Tailwind CSS]
    end

    subgraph 桌面框架层
        D[Tauri]
        E[系统 API 绑定]
    end

    subgraph 后端层
        F[Rust Core]
        G[截图捕获]
        H[文件操作]
        I[快捷键管理]
    end

    subgraph macOS 系统
        J[Screen Recording API]
        K[文件系统]
        L[全局快捷键]
    end

    A --> D
    B --> D
    C --> D
    D --> E
    E --> F
    F --> G
    F --> H
    F --> I
    G --> J
    H --> K
    I --> L

Better Shot 技术架构

3. 技术栈详解

A. 前端技术(90.9% TypeScript)

  • React:UI 组件和状态管理
  • TypeScript:类型安全的代码
  • Vite:快速的开发构建工具
  • Tailwind CSS:实用优先的样式框架

B. 后端技术(5.5% Rust)

  • Rust:高性能的系统级代码
  • Tauri:轻量级桌面应用框架
  • 系统级 API 访问:屏幕捕获、文件操作

C. 项目结构

  • 根目录:Tauri 桌面应用
  • bettershot-landing/:Next.js 落地页
  • src-tauri/:Rust 后端代码
  • src/:React 前端代码
  • scripts/:构建和发布脚本

4. 安装方式

A. 下载安装包(推荐)

  1. 访问 GitHub Releases 页面
  2. 下载对应架构的 DMG 文件

    • Apple Silicon(M1/M2/M3/M4/M5):bettershot_*_aarch64.dmg
    • Intel:bettershot_*_x64.dmg
  3. 打开 DMG 并将 Better Shot 拖入 Applications
  4. 从 Applications 启动
  5. 在系统设置中授予屏幕录制权限

B. Homebrew 安装

brew install --cask bettershot

系统要求:macOS >= 10.15

C. 从源码构建

git clone https://github.com/KartikLabhshetwar/better-shot.git
cd better-shot
pnpm install
pnpm tauri build

安装程序位于 src-tauri/target/release/bundle/

D. 构建要求

  • Node.js:18+
  • pnpm:包管理器
  • Rust:最新稳定版本

5. 权限要求

首次启动时,macOS 会请求屏幕录制权限:

  1. 打开系统设置 → 隐私与安全性 → 屏幕录制
  2. 启用 Better Shot
  3. 如需要,重启应用程序

此权限是应用捕获屏幕截图所必需的。

6. 快捷键列表

A. 捕获快捷键(可在偏好设置中自定义)

操作默认快捷键
捕获区域⌘⇧2
捕获全屏⌘⇧F(默认禁用)
捕获窗口⌘⇧D(默认禁用)
取消选择Esc

B. 编辑器快捷键

操作快捷键
保存图像⌘S
复制到剪贴板⇧⌘C
撤销⌘Z
重做⇧⌘Z
删除标注Delete 或 Backspace
关闭编辑器Esc

7. 开发指南

A. 桌面应用开发

pnpm tauri dev

其他有用命令:

pnpm lint:ci
pnpm test:rust
pnpm tauri build

B. 落地页开发

cd bettershot-landing
pnpm install
pnpm dev

四、影响分析

1. 技术趋势

A. Tauri 崛起

Better Shot 展示了 Tauri 作为 Electron 替代品的优势:

  • 更小的打包体积
  • 更低的内存占用
  • 更好的性能表现
  • Rust 后端的安全性

B. 开源替代方案

提供了商业软件的可行替代方案:

  • 零成本使用
  • 完全的代码透明
  • 社区驱动的功能迭代
  • 自定义和扩展可能性

2. 用户影响

A. 目标用户

  • 开发者和设计师
  • 需要频繁截图的技术文档作者
  • 预算敏感的个人用户
  • 重视隐私和数据控制的开源爱好者

B. 竞争优势

  • 完全免费 vs CleanShot X 的 29 美元/年或 79 美元一次性购买
  • 本地处理,无需云服务
  • 开源可审计
  • 社区支持和贡献

C. 潜在限制

  • 目前仅支持 macOS
  • 功能可能不如商业软件全面
  • 缺少官方支持和 SLA 保证

3. 生态系统影响

A. 技术选型参考

为 Tauri 桌面应用开发提供了优秀案例:

  • React + TypeScript 前端
  • Rust 后端处理
  • 系统级 API 集成

B. 开源社区

  • 吸引贡献者参与开发
  • 促进同类工具的诞生
  • 推动桌面应用开源化

五、各方反应

1. 社区反馈

A. GitHub Stars 增长

  • 短时间内获得 1.1k+ Star
  • 显示社区对开源替代方案的需求

B. 贡献者参与

  • 4 位活跃贡献者
  • 持续的功能更新和 bug 修复

C. 用户评价

  • 快速轻量的性能表现
  • 界面简洁易用
  • 功能覆盖主要使用场景

2. 技术评价

A. 架构设计

  • Tauri + React 的技术选型得到认可
  • Rust 后端保证了系统调用的效率和安全性

B. 代码质量

  • TypeScript 类型安全
  • 模块化设计
  • 良好的项目结构

六、相关链接

1. 官方资源

2. 相关项目

  • CleanShot X:原商业替代产品
  • Tauri:桌面应用框架
  • React:前端框架

3. 技术文档

  • 贡献指南:CONTRIBUTING.md
  • 行为准则:CODE_OF_CONDUCT.md
  • 变更日志:CHANGELOG.md

参考资料

  1. KartikLabhshetwar/better-shot GitHub Repository
最后修改:2026 年 01 月 20 日
如果觉得我的文章对你有用,请随意赞赏