projects / smart_desktop_assistant_tauri.md public repo

smart_desktop_assistant_tauri

tauri版本文件整理工具+剪贴板记录

Rust
owner demonerdpity
language Rust
topics 01
reader / README.md markdown render

Smart Desktop Assistant(Tauri 版本 / MVP)

Windows 10/11 后台托盘小工具(纯本地运行、轻量、无外部服务):

  • 自动整理 Downloads 文件夹
  • 记录剪贴板文本历史(本地 SQLite)
  • 托盘常驻 + 轻量面板查看/复制

本仓库是把 Python 版 smart_desktop_assistant 按 MVP 需求用 Tauri v2 + Rust + 前端页面重写后的实现。

功能

  • 下载目录自动整理(默认 C:\Users\admin\Downloads,可在配置里修改)
    • 分类目录:Images / Videos / Documents / Archives / Installers / Code / Others
    • 忽略:.crdownload .tmp .part
    • 避免覆盖:同名自动追加 (1) (2)
    • 监听目录变化触发整理;同时有兜底定时扫描(默认 10 分钟)
  • 剪贴板文本历史
    • 每 0.5s 轮询(只保存文本,忽略空字符串)
    • sha256 去重(SQLite UNIQUE)
    • 默认最多 1000 条,超过后删除最旧记录(保留 is_pinned 字段,MVP 暂不提供“置顶”UI)
  • 系统托盘菜单
    • Organize Downloads Now
    • Open Clipboard History
    • Pause/Resume File Organizer
    • Pause/Resume Clipboard Monitor
    • Exit
  • 剪贴板历史面板:展示最新 50 条 + Copy 按钮

直接运行(推荐)

在 PowerShell 中:

cd C:\Users\admin\work\tools\smart_desktop_assistant_tauri
.\run.ps1

说明:

  • run.ps1 会优先启动 src-tauri\target\release\app.exe,否则启动 src-tauri\target\debug\app.exe
  • 如果 exe 不存在,会先自动执行一次构建(等价于 .\scripts\tauri-build.ps1

一键打包(NSIS 安装包)

cd C:\Users\admin\work\tools\smart_desktop_assistant_tauri
.\package.ps1

安装包输出目录:

  • src-tauri\target\debug\bundle\nsis

构建/打包环境要求(Windows)

  • Windows 10 / Windows 11(x64)
  • Node.js:^20.19.0 || >=22.12.0(本项目使用 Vite 8)
  • Rust(MSVC toolchain)
  • Visual Studio Build Tools 2022:需要安装 Desktop development with C++ + Windows 10/11 SDK
    • 脚本会通过 vswhere.exe 自动找到 VS 安装路径,并调用 VsDevCmd.bat 进入编译环境
  • WebView2 Runtime(一般 Win10/11 已自带;若缺失请安装 WebView2 Evergreen Runtime)

本项目使用 npx tauri ...(依赖在 package.json),无需全局安装 Tauri CLI。

开发模式(热更新)

cd C:\Users\admin\work\tools\smart_desktop_assistant_tauri
.\scripts\tauri-dev.ps1

其它脚本

  • .\scripts\tauri-build.ps1:构建 exe(debug、--no-bundle
  • .\scripts\tauri-bundle-nsis.ps1:构建并打包 NSIS(debug)

想打 release 包:把脚本里的 --debug 去掉,或在同样的 VS 开发环境里执行:

npx tauri build --no-bundle
npx tauri build --bundles nsis

使用方式(怎么打开剪贴板历史面板)

程序启动后默认不弹窗,只常驻系统托盘:

  • 右键托盘图标 → Open Clipboard History:打开剪贴板历史面板(最近 50 条)
  • 面板里点击 Copy:把对应文本写回剪贴板,然后到其它软件里 Ctrl+V 粘贴
  • 右键托盘图标 → Organize Downloads Now:立刻扫描并整理一次下载目录

注意:如果你在浏览器里直接打开 devUrl(例如 http://localhost:5173),不会有 Tauri API;请以托盘打开的窗口为准。

配置 / 数据 / 日志位置(Windows)

由 Tauri 的路径规则决定(和 src-tauri\tauri.conf.jsonidentifier 相关):

  • 配置:%APPDATA%\com.demonerdpity.smartdesktopassistant\config.json
  • 数据库:%APPDATA%\com.demonerdpity.smartdesktopassistant\data\smart.db
  • 日志:%LOCALAPPDATA%\com.demonerdpity.smartdesktopassistant\logs\

说明:日志会保留在本地文件里,但托盘不提供“打开日志目录”的入口。

config.json 示例

{
  "downloads_path": "C:\\\\Users\\\\admin\\\\Downloads",
  "scan_interval": 600,
  "max_clipboard_history": 1000
}