一款灵感源自 Windows 11 Fluent Design 的极简主义桌面便签应用。
SoNotes 是一款常驻于系统托盘的本地化便签工具。它追求零摩擦的操作体验,通过前端壳层驱动的有色亚克力拟态视觉与极简交互设计,让记录灵感变得如同呼吸般自然。
- Windows 风格桌面美学: 采用前端壳层驱动的圆角与有色亚克力拟态视觉,支持 深色模式 与稳定的材质化便签表面,日夜皆美。
- 无限画布: 突破屏幕限制,支持 推墙扩展 与 全域漫游,配合 交互式小地图 快速定位。
- 零摩擦体验: 双击空白处新建、右键粘贴即创、拖拽吸附、自动折叠、交互式 Todo 勾选,让记录如同呼吸般自然。
- 多看板系统: 一键切换工作、生活、灵感等不同维度的便签板。
- 全局搜索 (Spotlight):
Ctrl+P极速唤起,支持模糊搜索与跨看板跳转。 - 快速捕获:
Ctrl+Alt+N唤起轻量输入浮层,快速把灵感写入当前看板。 - 智能粘贴 Lite: 纯文本粘贴默认先保留为一张便签,多行或多段内容可通过便签旁拆分气泡按行/段拆分。
- 智能归拢: 一键整理杂乱便签,治愈强迫症。
- 批量管理: 支持框选、Ctrl+点击多选,可批量移动、复制、删除、折叠/展开、置顶/置底便签。
- 扩展撤销与重做: 支持单便签、批量操作、软删除、废纸篓还原、归拢、拆分、合并和编辑尺寸偏好的撤销与重做。
- 废纸篓: 误删无忧,支持一键还原或永久删除,支持 Ctrl/Shift+点击多选后批量还原或批量永久删除。
- 数据主权: 数据完全本地存储 (IndexedDB + JSON),支持 本地 zip 全量备份/恢复、WebDAV 远端备份仓库(含保留策略与断崖保护)、恢复前验证与摘要、单板导出 与 选中项精准导出,并可兼容恢复旧版备份。
- 图片便签管理: 支持剪贴板粘贴和拖入本地图片创建独立图片便签,本地预览通过 Asset Protocol 实现;图片文件按 SHA-256 内容寻址存储在
attachments/目录,并提供图片文件一致性扫描与孤儿清理。 - 空数据覆盖防护: 启动仲裁和自动保存路径会优先保护已有非空 WAL 数据,并拒绝异常空便签集合覆盖本地存储。
- 稳健持久化写入:
data.json写入采用临时文件、OS 级文件锁和批处理确认;图片文件写入采用流式哈希、随机临时文件和进程内 hash 锁。 - 保存状态反馈: 数据管理区提供“保存中 / 已保存 / 保存失败”可见提示,便于及时确认当前持久化状态。
- 快捷键系统: 丰富的快捷键支持 (详见下方指南)。
- 托盘优先: 点击托盘图标快速显隐,支持 可视化钉住 (Pin Mode)、快速捕获、从剪贴板创建便签、新建空白便签、显示所有悬浮便签、重置窗口与退出。
- 一键复制: 便签顶部提供快捷复制按钮,自动格式化标题与内容。
- 撕下便签: 从画布撕下便签,生成独立悬浮窗口,只读查看原便签内容,支持拖拽移动、一键定位、OS 级置顶或取消置顶、贴回画布、主题同步与内容实时同步,软删除后自动关闭。
| 全局操作 | 快捷键 |
|---|---|
| 全局搜索 | Ctrl + P / Cmd + P |
| 快速捕获 | Ctrl + Alt + N |
| 重置视口 | Ctrl + 0 / Cmd + 0 |
| 显隐窗口 | Ctrl + Alt + S (默认) |
如果全局快捷键被系统或其他应用占用,SoNotes 会在应用内显示提示,便于调整占用或系统权限。
| 画布操作 | 快捷键 |
|---|---|
| 新建便签 | 双击空白处 |
| 智能粘贴 | Ctrl + V / Cmd + V 或右键“粘贴并新建” |
| 平移画布 | 按住 Space + 拖拽 |
| 多选便签 | 鼠标框选 / Ctrl + 点击 |
| 删除选中 | Delete / Backspace |
| 复制选中 | Ctrl + D / Cmd + D |
| 全选 | Ctrl + A / Cmd + A |
| 撤销 | Ctrl + Z / Cmd + Z |
| 重做 | Ctrl + Y / Cmd + Y 或 Ctrl + Shift + Z / Cmd + Shift + Z |
智能粘贴遇到多行或多段文本时,会先创建为一张便签;需要拆分时,可使用便签旁的拆分气泡按行或按段生成多张便签。
- 核心核心: Tauri v2 (Rust) - 提供轻量级的跨平台支持与底层系统交互。
- 前端框架: React 19 + TypeScript + Vite - 构建响应式且类型安全的交互界面。
- 样式处理: TailwindCSS - 实现灵活且高性能的 Fluent Design 风格。
- 状态管理: Zustand + Immer - 简洁高效的数据流控。
确保您的系统中已安装 Rust 和 Node.js 环境。
- 克隆仓库并进入目录。
- 安装依赖:
npm install
- 启动开发服务器:
npm run tauri dev
执行以下命令构建生产环境可执行文件:
npm run tauri build本地构建完成后,主产物位于 src-tauri/target/release/so-notes.exe。
如果通过 GitHub Release 发布,工作流会将该产物重命名为带版本号的 SoNotes-<tag>.exe 后再上传。
本项目基于 MIT 许可证开源。
本地优先 · 记录每一个闪光的灵感