TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
다양한 플랫폼의 데스크톱 할 일을 관리하고, Markdown 설명·하위 작업·달력 보기 지원
管理跨平台桌面待办事项,支持Markdown描述、子任务与日历视图
AI가 요약 · 검수에서 고쳐 썼습니다
생산성Rust · PythonGitHub @dreamlonglll직접 설치운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
一款简洁高效的跨平台桌面待办事项管理应用,基于 Tauri 2 + Vue 3 + TypeScript 开发,支持 Windows / macOS。 待办管理 • 以列表模式/四象限模式展示待办项(支持子任务) • 待办描述使用 Markdown 编辑器(Milkdown),支持粘贴/拖拽上传图片 • 描述支持粘贴 Markdown 源码自动解析为富文本、GFM 语法(表格/任务清单/删除线),并提供源码/预览分栏的放大编辑弹窗(可最大化) • 点击待办默认进入只读详情:简化排版突出内容,展示标题、Markdown 渲染的描述、通知状态与优先级,可一键切换到编辑模式 • 子任务支持标题 + 内容分离,内容使用 Markdown 编辑器(Milkdown) • 子任务支持粘贴/拖拽上传图片,图片点击可预览 • 子任务列表双击可快捷内联编辑标题 • 支持日历展示,以及自定义颜色 • 列表/四象限模式都拖拽排序 • 系统提醒README 전문 보기 ↗
简洁、聚焦的 Windows / macOS 桌面待办
原生 GPUI 渲染,无需 WebView2 · 列表 / 四象限 / 日历 · Markdown 与子任务 · 提醒与重复 · 桌面收纳箱 · WebDAV 同步
下载 · 功能介绍视频 · 安装说明 · 常见问题 · 云端 API 与 AI · 参与开发
https://github.com/user-attachments/assets/e19c8fc2-9ec1-403a-b096-43057cc02871
Mini Todo 是一款本地优先的桌面待办应用:数据存在自己电脑的 SQLite 里,不需要注册账号;想在多台电脑之间同步,接上任意 WebDAV (坚果云、Nextcloud、自建都行)即可。它常驻托盘,可以固定在桌面上随时瞄一眼,也可以贴边自动隐藏、用时再唤出,不打扰你。
3.0 起桌面端用 Rust + GPUI 重写:Windows 上是单个 mini-todo.exe,
macOS 上是 Apple 芯片 / Intel 通用的 mini-todo.app,都不需要 WebView2。数据与 2.x 完全互通,安装包会原地升级 2.x 并保留全部数据。
file:/// 本地文件在资源管理器(macOS 访达)中定位,其它协议一律不打开;
只读详情里单击打开,编辑时 Ctrl / ⌘ + 单击%USERPROFILE%\MiniTodo收纳箱\<收纳箱名>\(macOS:~/MiniTodo收纳箱/<收纳箱名>/),桌面随之变干净;
重名自动改为 名字 (2),绝不覆盖;在资源管理器 / 访达里增删这个文件夹的内容,收纳箱随之刷新. 开头的文件自动隐藏,也可以右键隐藏单个图标;「更多」→「显示隐藏的图标」按收纳箱切换(只影响显示,不改文件属性)mini-todo-backup-YYYY-MM-DD.zip);导入支持本应用导出的 ZIP / JSON(包括 2.x 导出的),
导入会用备份内容覆盖当前的全部待办;导入与数据库升级前都会自动备份到 backups/(保留最近 5 份)前往 Releases 下载(页面上附有各版本的更新说明)。每个版本附带 SHA256SUMS.txt
用于校验下载文件。预发布版(版本号带 -pre)不会出现在应用内的更新提示里,需要手动下载。
| 文件 | 说明 |
|---|---|
mini-todo_<版本>_x64-setup.exe | 安装包:默认装到 %LOCALAPPDATA%\mini-todo,可选创建桌面快捷方式。已安装 2.x 时会先卸载旧版再安装,待办、设置、图片都保留;卸载只删除程序文件,不删数据 |
mini-todo_<版本>_x64-portable.zip | 便携版:解压后直接运行 mini-todo.exe |
不需要安装 WebView2 Runtime。
mini-todo_<版本>_universal.dmg,打开后把 mini-todo 拖进「应用程序」。装过 2.5.0 mac 版的直接覆盖即可,数据都保留(两者是同一个应用)xattr -cr /Applications/mini-todo.app,之后正常双击打开与 Windows 版的差异:主窗口没有"嵌入桌面";固定模式不会把应用从程序坞 / ⌘Tab 里藏起来;导入导出的文件对话框没有扩展名过滤; WebDAV 密码明文保存在本机数据库中(与 2.5.0 mac 版相同);系统通知第一次弹出时会请求通知权限。 桌面收纳箱在 mac 上同样只在虚拟机上测过(没测过真实桌面、iCloud 同步的桌面、多个桌面空间 / 台前调度、多显示器与 Retina 屏、改名时的中文输入法): 点收纳箱不会把 mini-todo 切到前台,只有双击标题改名时会。正常使用不需要额外授权;如果系统询问能否访问「桌面」文件夹, 点「允许」即可(也可以在「系统设置 → 隐私与安全性 → 文件与文件夹」里打开),被拒绝时收纳 / 移回会失败并提示原因; 由于没有开发者签名,升级后系统可能会再问一次。遇到问题请到 Issues 反馈,最好附上截图与日志。
| Windows | macOS | |
|---|---|---|
| 数据库、图片、备份 | %LOCALAPPDATA%\mini-todo\ | ~/Library/Application Support/mini-todo/ |
| 日志(反馈问题时附上) | %LOCALAPPDATA%\com.tauri-app.mini-todo\logs\mini-todo.log | ~/Library/Logs/com.tauri-app.mini-todo/mini-todo.log |
| 收纳箱里的文件 | %USERPROFILE%\MiniTodo收纳箱\ | ~/MiniTodo收纳箱/ |
Windows 的安装版、便携版与 2.x 旧版共用同一份数据,macOS 版与 2.5.0 mac 版也共用同一份;日志目录名沿用旧版。收纳箱文件夹不在数据目录里,卸载应用或删除数据目录都不会丢文件。
从 2.x 升级会丢数据吗? 不会。3.x 使用同一个数据目录、同一种数据库与同步格式,Windows 安装包会原地升级;macOS 直接覆盖 2.5.0 即可。 已知差异:描述 / 子任务的 Markdown 编辑由"所见即所得"改为"源码 + 实时预览"(渲染效果、图片上传、链接规则不变); 多行中文的换行位置可能与旧版差一个字(逗号、句号等全角标点偶尔出现在行首)。
为什么再次启动只是唤出了原来的窗口? 同一时间只运行一个 Mini Todo。再次启动(包括另一份便携版或 2.x 旧版)时,新启动的那个会直接退出,并把已运行的窗口唤到前台。 想切换版本,先在托盘菜单(macOS:菜单栏图标或 ⌘Q)里"退出"当前版本。开启了开机自启时,最后一次运行的那个程序会把启动项更新成自己的路径。
同步的数据安全吗? 同步数据经 Gzip 压缩,但本身不加密,传输安全取决于 WebDAV 地址是否是 https(填 http:// 时设置页会提示明文风险),WebDAV 服务商能看到内容。 WebDAV 密码在 Windows 上用系统 DPAPI 加密保存,macOS 上以明文存在本机数据库里。
多台电脑共用一个 WebDAV 要注意什么? 请把所有电脑上的 Mini Todo 与云端 API 一起升级到较新的版本(PC 2.5.0 / cloud 0.3.0 起才是逐条合并)。更旧的版本是"整库覆盖"式同步, 混用期间旧版本那一侧仍可能丢失尚未同步的改动。
日历里的节假日从哪里来? 法定节假日与调休上班日来自 NateScarlet/holiday-cn(联网拉取,失败时使用本地缓存); 农历、节气、传统节日由 tyme4rs 本地计算。
想在电脑之外、通过 AI 读写自己的待办,可以在 VPS 上部署 cloud/:一个 Rust + Axum 的 HTTP 服务,
通过同一个 WebDAV 与电脑同步(不要求电脑在线),提供 REST API(列表筛选、增删改、子任务、图片、手动同步)。
每个版本的 Release 附带 minitodo-cloud 的 Linux 二进制(x86_64 / aarch64),部署与 API 详情见 cloud/README.md。
Claude Code Skill:安装后 Claude Code 可以直接查看 / 新增 / 完成 / 修改待办(需要 Python 3.10+ 与 requests,Python 3.10 另需 tomli):
bash cloud/skill/minitodo/install.sh # Linux / macOS;Windows PowerShell:.\cloud\skill\minitodo\install.ps1
# 按提示编辑 ~/.claude/skills/minitodo/config.toml,填入云端 endpoint 与 api_key
python ~/.claude/skills/minitodo/minitodo.py today --json # 今日待办
python ~/.claude/skills/minitodo/minitodo.py add "买菜" # 新增
python ~/.claude/skills/minitodo/minitodo.py done C3 # 标记完成(C3 是云端分配的短码)
使用规则见 SKILL.md。配合 openclaw 的定时任务,还可以每天定时检查临期 / 逾期待办,
推送到 Slack / Telegram / Discord 等,安装步骤与提示词模板见 cloud/openclaw.md。
PC 端代码在 pc-gpui/(Cargo workspace:crates/core 业务核心、crates/app GPUI 界面与平台集成),命令都在 pc-gpui/ 下执行:
cd pc-gpui
cargo run -p mini-todo # debug 运行
cargo fmt --all -- --check
cargo clippy --workspace --all-targets --locked -- -D warnings
cargo test --workspace --locked
cargo build --release -p mini-todo --locked # Windows release → target\release\mini-todo.exe
fxc.exe,
也可用 GPUI_FXC_PATH 指定);macOS 构建需要 Xcode Command Line Tools,universal 包与 dmg 的命令见
pc-gpui/scripts/README.md;Linux 只用于 CI、截图回归与端到端测试(依赖见 pc-gpui-ci.yml)MINI_TODO_DATA_DIR=<临时目录> 启动 debug 构建(数据、日志隔离,不占用单实例与开机自启项);
其它 debug 开关见 pc-gpui/scripts/README.mdscripts/regress.py;端到端测试
Linux / Windows / macOS;
mac 的 GPUI 代码在 Linux / Windows 上编不了,只能靠 CI 的 macOS 作业pc-gpui/scripts/intro-video/ 从真实应用生成,界面改版后可一键重新生成v* tag 由 release.yml 构建 Windows 安装包 / 便携包、macOS dmg 与 cloud 二进制,版本号只在 pc-gpui/Cargo.toml 一处crates/app/README.md、;
项目总览与维护检查清单见 ;GPUI 约定、数据兼容、同步协议、验证门槛与发布流程见 | 层级 | 技术选型 | 说明 |
|---|---|---|
| UI 框架 | GPUI(gpui-kit 0.7.3:gpui-pre + gpui-component) | Zed 编辑器的 GPU 加速 UI 框架,Windows 用 DirectX 11、macOS 用 Metal 绘制,不依赖 WebView |
| 界面控件 | 自绘 Element Plus 风格控件 | 图标为 Element Plus Icons |
| Markdown | gpui-base TextView + markdown crate | GFM 渲染;编辑为"源码 + 预览" |
| 业务核心 | Rust(mini-todo-core) | 数据库、同步、导入导出、提醒、收纳箱文件层 |
| 数据库 | SQLite(rusqlite) | 本地数据库 |
| 云同步 | WebDAV(reqwest) | 兼容坚果云、Nextcloud、Apache / nginx 自建等 |
| 农历 | tyme4rs | 结果与 lunar-javascript 逐日比对一致 |
| 平台集成 | windows crate(Win32)、objc2(AppKit)、tray-icon、notify-rust、auto-launch | 窗口模式与嵌入桌面、托盘 / 菜单栏图标、系统通知、开机自启 |
| 安装包 | NSIS / dmg | Windows x64 安装包与便携 zip;macOS universal dmg(ad-hoc 签名) |
| 云端 API | Rust + Axum | 独立 HTTP 服务,供 AI Skill / 定时任务读写待办 |
| CI / 测试 | GitHub Actions + 本地脚本 | Windows / macOS / Linux 的 lint 与单测、Windows / macOS 端到端测试、发布流水线;Linux 截图回归与端到端测试 |
mini-todo/
├── pc-gpui/ # 桌面端(Rust Cargo workspace)
│ ├── crates/core/ # 业务核心:数据库 / 同步 / 导入导出 / 提醒 / 收纳箱文件层,不依赖 GUI 框架
│ ├── crates/app/ # GPUI 界面、窗口与平台集成(托盘 / 菜单栏图标、通知、开机自启……)
│ └── scripts/ # 截图回归、端到端测试、介绍视频生成、Windows 安装器与 macOS 打包脚本
├── cloud/ # 云端 HTTP API(Rust + Axum,独立 crate)与 Claude Code / openclaw Skill
├── docs/
│ ├── 开发文档/ # 项目概述、技术架构、功能需求、UI 设计规范、数据库设计等
│ ├── images/ # README 截图
│ └── video/ # 功能介绍视频与封面
├── .github/ # CI、端到端测试、发布流水线与各版本发布说明(release-notes/)
├── .trellis/spec/ # 开发规范
└── CLAUDE.md / AGENTS.md # 项目指南 / AI 助手工作流说明
MIT License
crates/core/README.mdcloud/ 下 cargo test --locked;Skill 单测 python3 -m unittest discover -s skill/minitodo -p 'test_*.py'