Celery Todo 3.0 基于 Tauri 2、React 与 Rust 构建。数据保存在本机 SQLite 数据库中,无需账号或网络连接;celery CLI 与桌面端读写同一份 v3 数据库。
在 v3.7.0 正式版 或 最新 Release 下载对应平台的安装包。
| 平台 | 文件 |
|---|---|
| Windows x64 | Celery.Todo_3.7.0_x64-setup.exe |
| macOS Apple Silicon | Celery.Todo_3.7.0_aarch64.dmg |
| macOS Intel | Celery.Todo_3.7.0_x64.dmg |
| Linux | Celery.Todo_3.7.0_amd64.AppImage 或 Celery.Todo_3.7.0_amd64.deb |
| Android | Celery.Todo_3.7.0_android.apk |
| Windows CLI | celery.exe |
发布附件中的 .sig 与 latest.json 用于 Tauri 自动更新校验。应用会检查 GitHub Release 上的新版本。
- 多项目管理、筛选、搜索、排序、批量操作与完成统计
- 高 / 中 / 低优先级、置顶、Markdown 描述与拖拽排序
- 已归档事项的浏览、恢复与永久删除
- 单项目或全量 v3 数据导入 / 导出
- 系统托盘、单实例、窗口状态记忆和开机自启
- 把项目固定为独立的桌面贴图浮窗,支持置顶和样式配置
- 原生保存对话框、自动更新与跨窗口数据同步
- Rust
celery-db提供 SQLite 数据库、迁移、FTS5 搜索和事务性批量写入 - 首次启动可检测并导入本机 2.x 数据库
celery status、projects、list、add、done、archive等命令直接管理同一份数据
| 类别 | 技术 |
|---|---|
| 桌面框架 | Tauri 2 |
| 前端 | React 18 + TypeScript 5 + Vite 5 + Tailwind CSS 3 |
| 桌面宿主与数据层 | Rust 2021 + rusqlite(bundled SQLite) |
| 数据访问 | @celery/data Repository 契约 + Tauri commands |
| 本地存储 | SQLite(WAL、外键、FTS5) |
| CLI | Rust + clap |
| 单元测试 | Vitest、Rust tests |
| E2E 测试 | WebdriverIO + tauri-driver |
| 包管理与构建编排 | Bun workspaces + Turborepo |
bun install
# 运行桌面端(会启动真实窗口)
bun run desktop:dev
# 构建所有 TypeScript workspace
bun run build
# 打包当前平台的 Tauri 桌面端
bun run desktop:buildbun run lint
bun run test:run
cargo test -p celery-db
cargo check -p celery-desktop桌面 E2E 会启动真实应用窗口,由 GitHub Actions 验证;日常开发请优先运行与改动相关的单测或 Rust 测试。
celery-todo/
├── apps/
│ ├── desktop/ # 3.0 Tauri 2 桌面端(React/Vite + Rust 宿主)
│ ├── cli/ # Rust CLI:celery
│ └── mobile/ # Expo 移动端(独立发布节奏)
├── crates/
│ └── celery-db/ # SQLite schema、迁移、Repository 实现与 FTS
├── packages/
│ ├── core/ # 领域实体、规则、排序与导入导出规则
│ ├── data/ # 跨端 Repository 契约与适配器
│ ├── ui-tokens/ # 跨端设计 token
│ └── test-contracts/ # Repository 共享契约测试
├── scripts/ # 仓库辅助脚本
└── .github/workflows/ # CI、E2E 与桌面发布
React renderer → @celery/data Repository → Tauri commands → celery-db → SQLite
↑
celery CLI ───────────────────────────────┘
数据库默认位于系统应用数据目录的 com.celery.todo/celery-v3.db。写操作以事务执行并广播 data-changed,已打开的窗口会同步刷新。
- TypeScript:
bun run lint、bun run test:run、bun run build - Rust:
cargo test -p celery-db(同时校验生成的 TypeScript 绑定)和cargo check -p celery-desktop - Tauri E2E:GitHub Actions 在 Linux 上使用 WebdriverIO 与
tauri-driver
完整约定、命令和变更区域到测试文件的映射见 AGENTS.md。
| 文档 | 内容 |
|---|---|
AGENTS.md |
Monorepo 架构、命令、约束与测试约定 |
CHANGELOG.md |
用户可见版本变更日志 |
apps/mobile/README.md |
Expo 移动端的独立开发说明 |
VERSIONING.md |
版本号策略与发版流程(App/DB/导出格式) |
欢迎提交 Issue 与 PR。提交前请运行 bun run lint、bun run test:run 与相关的 Rust 验证;提交信息遵循 Conventional Commits。
本项目基于 MIT License 开源。