Skip to content

Second Desk 是一款现代化的 Windows 桌面文件管理工具,采用 Rust + Tauri 2.x + Vue 3 技术栈构建。它以抽屉式设计理念,通过屏幕边缘触发或全局快捷键快速呼出,让桌面文件访问变得触手可及

License

Notifications You must be signed in to change notification settings

Ryanisgood/SecondDesk

Repository files navigation

Second Desk

基于 Rust + Tauri 的高性能桌面文件管理工具 - 轻量、优雅、高效

项目简介

Second Desk 是一款现代化的 Windows 桌面文件管理工具,采用 Rust + Tauri 2.x + Vue 3 技术栈构建。它以抽屉式设计理念,通过屏幕边缘触发或全局快捷键快速呼出,让桌面文件访问变得触手可及。

与传统的桌面图标管理不同,Second Desk 将常用文件收纳在一个可随时呼出的抽屉面板中,既保持了桌面的整洁,又不牺牲文件访问的便捷性。无论是快速启动应用、打开文档,还是管理下载文件,只需将鼠标移到屏幕边缘或按下快捷键,即可在 1 秒内完成操作。

为什么选择 Second Desk?

  • 桌面整洁 - 将常用文件收纳到抽屉中,告别杂乱的桌面图标
  • 随用随现 - 边缘触发或快捷键呼出,用完自动隐藏,不占屏幕空间
  • 智能分类 - 自动识别文件类型,支持自定义分类和虚拟文件夹
  • 高度定制 - 从触发方式到主题配色,一切都可按需调整
  • 性能至上 - Rust 后端保证极致性能,冷启动不到 1 秒

核心亮点

特性 说明
🚀 极速启动 冷启动 <1 秒,文件扫描 <100ms
🪟 智能触发 支持 4 个方向的边缘触发 + 全局快捷键
🎨 精美主题 5 种配色 × 深浅色模式 × 毛玻璃效果
📁 虚拟分组 像 iPhone 一样拖拽图标创建文件夹
✅ 批量操作 长按进入批量选择模式,快速移动多个文件
🔧 完全可调 窗口位置、大小、触发延迟、自动隐藏全可配
💾 轻量高效 内存占用 <120MB,二进制体积 <50MB
🛡️ 智能保护 全屏检测、快捷键保护期、拖动检测

使用说明

基本操作

呼出与隐藏

操作 说明
边缘触发 将鼠标移动到屏幕边缘(默认右侧),停留片刻即可呼出
快捷键呼出 按下 Ctrl+Shift+D(可自定义)快速呼出/隐藏
自动隐藏 鼠标移出窗口或窗口失焦时自动隐藏(可选择模式)
托盘图标 右键托盘图标可快速访问设置或退出程序

文件操作

操作 说明
单击 打开文件或应用程序
右键 打开上下文菜单(打开、重命名、删除、属性等)
拖拽 拖动文件调整顺序,或拖入虚拟文件夹/分类
收藏 点击文件右上角的星标,将文件添加到收藏
搜索 在顶部搜索框输入关键词,实时过滤文件

分类系统

Second Desk 提供灵活的分类管理系统,帮助你组织文件:

预设分类

  • 全部 - 显示当前路径下的所有文件
  • 收藏 - 显示所有已收藏的文件和虚拟文件夹
  • 应用 - 自动识别 .exe.lnk.url 等可执行文件
  • 文档 - 自动识别 .doc.pdf.txt 等文档文件
  • 媒体 - 自动识别图片、视频、音频等媒体文件
  • 其他 - 不属于以上类型的文件

自定义分类

  1. 点击分类栏右侧的 + 按钮
  2. 输入分类名称,选择图标
  3. 勾选要添加到该分类的文件
  4. 点击确认创建

自定义分类支持:

  • 拖拽排序
  • 重命名和编辑
  • 右键删除

虚拟文件夹

虚拟文件夹类似于 iPhone 的文件夹功能,可以将多个文件聚合在一起,但不会真正移动文件位置。

创建虚拟文件夹

方式一:拖拽合并

  1. 拖动一个文件图标
  2. 将其悬停在另一个文件上方(会显示合并预览)
  3. 松开鼠标,自动创建包含两个文件的虚拟文件夹

方式二:批量选择创建

  1. 长按任意文件 500ms 进入批量选择模式
  2. 点击选择多个文件
  3. 点击底部操作栏的「创建文件夹」

管理虚拟文件夹

  • 打开 - 单击虚拟文件夹,弹出成员列表
  • 添加成员 - 拖动文件到虚拟文件夹图标上
  • 移除成员 - 在弹出列表中右键点击成员,选择「移出文件夹」
  • 重命名 - 右键虚拟文件夹,选择「重命名」
  • 删除 - 右键虚拟文件夹,选择「删除」(不会删除实际文件)
  • 收藏 - 点击虚拟文件夹的星标图标

批量选择模式

批量选择模式让你可以一次性操作多个文件,比逐个拖动更高效。

进入批量选择模式

  • 长按触发 - 按住任意文件图标不动 500ms,自动进入批量选择模式

批量操作

进入批量选择模式后,底部会出现操作栏:

按钮 功能
全选 选择当前显示的所有文件
移动到... 将选中项添加到分类或虚拟文件夹
创建分类 用选中的文件创建新分类
创建文件夹 用选中的文件创建虚拟文件夹(需选择 ≥2 项)
取消 退出批量选择模式

移动到目标

点击「移动到...」后,会弹出目标选择器:

  • 分类标签页 - 显示所有自定义分类,点击即可添加
  • 虚拟文件夹标签页 - 显示当前路径下的虚拟文件夹

视图切换

显示模式

  • 网格视图 - 以图标网格显示文件(默认)
  • 列表视图 - 以紧凑列表显示文件

图标大小

  • - 适合文件较多时使用
  • - 默认大小,平衡显示效果
  • - 适合触屏或需要大图标时使用

主题与外观

配色方案

提供 5 种预设配色:

  • 🔵 蓝色 - 经典稳重
  • 🟢 绿色 - 清新自然
  • 🟣 紫色 - 优雅神秘
  • 🟠 琥珀 - 温暖活力
  • 🩷 粉色 - 柔和可爱

颜色模式

  • 浅色模式 - 明亮背景,适合日间使用
  • 深色模式 - 暗色背景,减少眼睛疲劳
  • 跟随系统 - 自动匹配系统主题

毛玻璃效果

  • 标准 - 适中的模糊和透明度
  • 淡雅 - 轻微模糊,更加通透
  • 强化 - 强模糊效果,更具质感
  • 极简 - 几乎透明,低调隐蔽
  • 自定义 - 手动调节模糊度、饱和度、透明度

自定义背景

支持设置自定义图片作为窗口背景,让界面更加个性化。

窗口设置

边缘触发

  • 触发方向 - 选择屏幕的上/下/左/右边缘
  • 触发延迟 - 鼠标停留多久后触发(100-1000ms)
  • 触发区域 - 边缘触发的敏感区域大小

自动隐藏

  • 鼠标离开隐藏 - 鼠标移出窗口后自动隐藏
  • 窗口失焦隐藏 - 点击其他窗口后自动隐藏
  • 隐藏延迟 - 触发隐藏前的等待时间

窗口调整

  • 调整模式 - 点击进入调整模式,可拖动调整窗口位置和大小
  • 动画速度 - 窗口显示/隐藏的动画时长(100-500ms)

快捷键

快捷键 功能
Ctrl+Shift+D 呼出/隐藏窗口(可自定义)
Esc 退出批量选择模式 / 关闭弹窗
Ctrl+F 聚焦搜索框
Enter 执行搜索或选中的建议
/ 导航建议列表
Tab 自动补全选中的建议

快捷键支持自定义:在设置面板中点击快捷键输入框,按下新的组合键即可录制。

智能搜索功能

顶部搜索框不仅支持文件搜索,还集成了强大的多模式智能搜索功能:

🔍 文件搜索模式(默认)

直接输入文件名进行搜索:

项目报告.docx      # 搜索文件名包含关键词的文件
.pdf               # 搜索所有 PDF 文件

⚡ 命令执行模式

系统应用(输入 > 前缀或直接输入命令):

>calc              # 打开计算器
>notepad           # 打开记事本
cmd                # 打开命令提示符(无需前缀)
ps                 # 打开 PowerShell(无需前缀)
ps+参数            # 打开 PowerShell 并执行命令
cmd+参数           # 打开命令提示符并执行命令

支持的系统命令:calc(计算器)、notepad(记事本)、explorer(资源管理器)、taskmgr(任务管理器)、mspaint(画图)、control(控制面板)、regedit(注册表)、msconfig(系统配置)

网页搜索(无需前缀,直接输入):

bd                 # 打开百度首页
bd 编程教程        # 用百度搜索"编程教程"
gg React           # 用 Google 搜索"React"
bing AI            # 用 Bing 搜索"AI"

🌐 导航模式

打开网页(自动识别 URL):

https://github.com # 完整 URL
www.google.com     # www 前缀
github.com         # 域名
localhost:3000     # 本地服务

快速跳转系统文件夹(支持中英文):

下载 / downloads   # 在资源管理器中打开下载文件夹
文档 / documents   # 在资源管理器中打开文档文件夹
桌面 / desktop     # 在资源管理器中打开桌面
图片 / pictures    # 在资源管理器中打开图片文件夹
音乐 / music       # 在资源管理器中打开音乐文件夹
视频 / videos      # 在资源管理器中打开视频文件夹

打开任意路径

C:\Windows         # 在资源管理器中打开 Windows 目录
D:\Projects        # 打开其他盘符路径

💡 使用技巧

  • 搜索框会自动识别输入类型,并在左侧显示对应图标:
    • 🔍 搜索模式(默认)
    • ⚡ 命令模式(蓝色)
    • 🌐 导航模式(绿色)
  • 输入时会实时显示智能建议,按 键选择,Enter 执行
  • 搜索引擎命令会显示动态提示:无参数显示"打开首页",有参数显示"搜索:关键词"
  • 所有操作都会自动记录到历史记录,方便快速重复执行

技术栈

后端(Rust)

  • Tauri 2.x - 跨平台桌面应用框架
  • tokio - 异步运行时
  • rayon - 数据并行处理
  • windows-rs - Windows API 绑定
  • dashmap - 并发哈希表

前端(Web)

  • Vue 3 + TypeScript - 响应式 UI 框架
  • Vite - 快速构建工具
  • Pinia - 状态管理
  • VueUse - 组合式工具库

快速开始

环境要求

  • Node.js 18+
  • Bun 1.0+
  • Rust 1.70+
  • Windows 10/11

安装依赖

# 安装前端依赖
bun install

# Rust 依赖会在首次运行时自动下载

开发模式

# 启动开发服务器(热重载)
bun run tauri:dev

生产构建

# 构建生产版本
bun run tauri:build

项目结构

SecondDesk/
├── src/                    # Vue 3 前端代码
│   ├── components/         # 组件
│   ├── composables/        # 组合式函数
│   ├── config/             # 配置文件
│   ├── stores/             # Pinia 状态管理
│   ├── styles/             # 样式文件
│   ├── App.vue             # 根组件
│   └── main.ts             # 入口文件
│
├── src-tauri/              # Rust 后端代码
│   ├── src/
│   │   ├── commands/       # Tauri 命令
│   │   ├── core/           # 核心逻辑
│   │   ├── utils/          # 工具函数
│   │   ├── main.rs         # 主程序
│   │   └── lib.rs          # 库入口
│   ├── Cargo.toml          # Rust 配置
│   └── tauri.conf.json     # Tauri 配置
│
├── package.json            # 前端配置
├── vite.config.ts          # Vite 配置
└── tsconfig.json           # TypeScript 配置

性能指标

指标 目标值 说明
冷启动时间 <1 秒 从点击到可用
文件扫描 <100ms 100 个文件
图标加载 <50ms 单个图标
内存占用 <300MB 正常使用
窗口动画 60fps 流畅无卡顿
二进制体积 <50MB 安装包大小

💡 灵感来源

本项目灵感来源于 @Vicent轩EasyDesktop 项目,在原项目的基础上进行了完全重构:

感谢原作者的创意和灵感!🙏


开发路线图Run cargo fmt -- --check

已完成 ✅

  • 基础文件管理(扫描、打开、重命名、删除)
  • 网格/列表视图切换
  • 图标大小调节
  • 实时搜索功能
  • 分类管理系统
  • 虚拟文件夹(拖拽创建、收藏、排序)
  • 批量选择模式
  • 主题系统(5 种配色 + 深浅色模式)
  • 毛玻璃效果(4 种预设 + 自定义)
  • 自定义背景图片
  • 边缘触发系统(4 个方向)
  • 全局快捷键
  • 自动隐藏模式
  • 全屏应用检测
  • 窗口位置/大小调整
  • 设置面板

计划中 🚧

  • 新手引导流程
  • 最近访问记录
  • 访问频率统计
  • 自动更新功能
  • 模糊检索 - 支持拼音、首字母、关键词匹配
  • 网页搜索 - 快速调用搜索引擎
  • 路径快速打开 - 输入路径直接打开文件夹
  • 快捷命令 - 设置快捷打开常用应用
  • PowerShell 命令执行
  • 网页搜索集成

许可证

GPL V3.0 LICENSE

贡献

欢迎提交 Issue 和 Pull Request!


已知问题

当前版本已知问题,计划在后续版本中修复

  • 自动隐藏,需要手动触发一下才能恢复?需要探明原因才能修改

About

Second Desk 是一款现代化的 Windows 桌面文件管理工具,采用 Rust + Tauri 2.x + Vue 3 技术栈构建。它以抽屉式设计理念,通过屏幕边缘触发或全局快捷键快速呼出,让桌面文件访问变得触手可及

Resources

License

Stars

Watchers

Forks

Packages

No packages published