Files
SnapGo/Introduction.md
mamamiyear ceecbb6af4 feat(app): implement basic function
General
- 配置界面支持配置对象存储桶
- 快捷键进入截图
- 一键上传截图 & 复制截图链接

MacOS
- 状态栏指示器和应用图标
2026-06-01 21:17:29 +08:00

2.8 KiB
Raw Permalink Blame History

SnapGo

SnapGo 是一个以 macOS 为核心体验的截图上传工具,面向“截图后立刻分享链接”的高频场景。它常驻于菜单栏,支持全局快捷键唤起截图覆盖层,在完成区域选择后自动将图片上传到兼容 S3 协议的对象存储,并把最终公开链接写入剪贴板,尽可能减少“截图、保存、上传、复制链接”之间的手动切换成本。

项目当前基于 Wails + Go + Vue 3 构建,桌面端负责截图、热键、托盘与系统集成,前端负责设置页与截图交互界面。整体设计围绕“轻量常驻、快速触发、上传即复制”展开,适合作为个人图床工作流中的本地入口工具。

核心功能

  • 全局快捷键截图:支持通过全局快捷键在任意应用中快速唤起截图流程。
  • 区域选择覆盖层:提供接近原生体验的截图选区交互,优先针对 macOS 做了透明覆盖层与窗口层级优化。
  • 自动上传到 S3 兼容存储:支持 AWS S3、MinIO、Cloudflare R2、Backblaze B2 及其他兼容 S3 API 的对象存储。
  • 自动复制公开链接:上传成功后自动将图片 URL 写入剪贴板,方便直接粘贴到 IM、文档或工单系统。
  • 菜单栏常驻与设置面板:通过托盘菜单进入设置,配置热键、存储参数,并测试连接可用性。
  • 上传失败兜底:当上传失败时,会将截图落盘到本地临时目录,避免截图结果丢失。

典型使用流程

  1. 首次启动后,在设置页中填写 S3 兼容对象存储的连接信息。
  2. 保存配置并测试连通性,确认目标 Bucket 可写。
  3. 使用默认快捷键 cmd+shift+a,或自定义快捷键,随时发起截图。
  4. 选择需要截取的区域并确认。
  5. 应用自动上传截图,并将生成的公开链接复制到剪贴板。

项目定位

SnapGo 当前更偏向一个面向个人使用的高效工具,而不是“大而全”的截图平台。它的重点不在复杂标注或云端管理能力,而在于把“截图并生成可分享链接”这条链路压缩到尽可能短,尤其适合开发者、产品、测试或需要频繁在聊天工具中分享截图的用户。

虽然工程结构中保留了跨平台方向的设计,但现阶段的核心交互与系统集成主要围绕 macOS 打磨,包括菜单栏形态、原生覆盖层、窗口透明化处理以及与系统截图能力的衔接。因此,如果你希望获得完整体验,macOS 是当前最合适的运行平台。

技术实现概览

  • 桌面壳与应用编排:Go + Wails
  • 设置界面与截图覆盖层:Vue 3 + TypeScript + Vite
  • 全局快捷键:golang.design/x/hotkey
  • 对象存储接入:AWS SDK for Go v2S3 兼容实现)
  • macOS 截图与窗口控制:系统 screencapture 命令 + AppKit 原生能力