⚡ 轻量高效的截图 + 标注 + 贴图工具 — PixPin 的开源替代品
| 层级 | 技术 |
|---|---|
| 框架 | Tauri v2 |
| 后端 | Rust |
| 前端 | Svelte 5 + TypeScript |
| 样式 | TailwindCSS 4 |
| 构建 | Vite |
| 截图引擎 | xcap |
snapx/
├── src/ # Svelte 前端
│ ├── App.svelte # 主入口(双窗口路由)
│ ├── main.ts # 前端启动
│ ├── app.css # TailwindCSS 入口
│ └── lib/components/
│ ├── CaptureOverlay.svelte # 截图覆盖层(区域选择)
│ ├── SizeIndicator.svelte # 选区尺寸显示
│ └── Toolbar.svelte # 操作工具栏
├── src-tauri/ # Rust 后端
│ ├── src/
│ │ ├── main.rs # 应用入口
│ │ ├── lib.rs # Tauri 配置(托盘、快捷键、窗口)
│ │ ├── capture.rs # 截图引擎(xcap 封装)
│ │ └── commands.rs # Tauri 命令(前端调用)
│ ├── capabilities/
│ │ └── default.json # 窗口权限声明
│ ├── icons/ # 应用图标
│ ├── Cargo.toml # Rust 依赖
│ └── tauri.conf.json # Tauri 配置
├── index.html # HTML 入口
├── vite.config.ts # Vite 构建配置
├── svelte.config.js # Svelte 配置
├── tsconfig.json # TypeScript 配置
└── package.json # Node.js 依赖
# 安装前端依赖
pnpm install
# 安装 Rust 依赖(首次构建时自动安装)
cd src-tauri && cargo build
pnpm tauri dev
pnpm tauri build
Ctrl+Shift+A 触发区域截图详见 ROADMAP.md
欢迎 PR!请确保:
cargo clippy 检查pnpm check(svelte-check)MIT License(待确认)
SnapX — 让截图更简单