ceecbb6af4
General - 配置界面支持配置对象存储桶 - 快捷键进入截图 - 一键上传截图 & 复制截图链接 MacOS - 状态栏指示器和应用图标
2.8 KiB
2.8 KiB
SnapGo
SnapGo 是一个以 macOS 为核心体验的截图上传工具,面向“截图后立刻分享链接”的高频场景。它常驻于菜单栏,支持全局快捷键唤起截图覆盖层,在完成区域选择后自动将图片上传到兼容 S3 协议的对象存储,并把最终公开链接写入剪贴板,尽可能减少“截图、保存、上传、复制链接”之间的手动切换成本。
项目当前基于 Wails + Go + Vue 3 构建,桌面端负责截图、热键、托盘与系统集成,前端负责设置页与截图交互界面。整体设计围绕“轻量常驻、快速触发、上传即复制”展开,适合作为个人图床工作流中的本地入口工具。
核心功能
- 全局快捷键截图:支持通过全局快捷键在任意应用中快速唤起截图流程。
- 区域选择覆盖层:提供接近原生体验的截图选区交互,优先针对 macOS 做了透明覆盖层与窗口层级优化。
- 自动上传到 S3 兼容存储:支持 AWS S3、MinIO、Cloudflare R2、Backblaze B2 及其他兼容 S3 API 的对象存储。
- 自动复制公开链接:上传成功后自动将图片 URL 写入剪贴板,方便直接粘贴到 IM、文档或工单系统。
- 菜单栏常驻与设置面板:通过托盘菜单进入设置,配置热键、存储参数,并测试连接可用性。
- 上传失败兜底:当上传失败时,会将截图落盘到本地临时目录,避免截图结果丢失。
典型使用流程
- 首次启动后,在设置页中填写 S3 兼容对象存储的连接信息。
- 保存配置并测试连通性,确认目标 Bucket 可写。
- 使用默认快捷键
cmd+shift+a,或自定义快捷键,随时发起截图。 - 选择需要截取的区域并确认。
- 应用自动上传截图,并将生成的公开链接复制到剪贴板。
项目定位
SnapGo 当前更偏向一个面向个人使用的高效工具,而不是“大而全”的截图平台。它的重点不在复杂标注或云端管理能力,而在于把“截图并生成可分享链接”这条链路压缩到尽可能短,尤其适合开发者、产品、测试或需要频繁在聊天工具中分享截图的用户。
虽然工程结构中保留了跨平台方向的设计,但现阶段的核心交互与系统集成主要围绕 macOS 打磨,包括菜单栏形态、原生覆盖层、窗口透明化处理以及与系统截图能力的衔接。因此,如果你希望获得完整体验,macOS 是当前最合适的运行平台。
技术实现概览
- 桌面壳与应用编排:Go + Wails
- 设置界面与截图覆盖层:Vue 3 + TypeScript + Vite
- 全局快捷键:
golang.design/x/hotkey - 对象存储接入:AWS SDK for Go v2(S3 兼容实现)
- macOS 截图与窗口控制:系统
screencapture命令 + AppKit 原生能力