轻量级 · 本地优先 · 多主题皮肤
基于 Cron 表达式 的本地任务调度器 —— 支持 Python / Conda / CMD / BAT / 任意可执行程序, 开箱即用的数据自动化、定时任务管理工具。
| 特性 | 说明 |
|---|---|
| 🧩 多执行方式 | 直接 Python、Conda 环境名 / 环境路径、CMD / BAT 命令、任意可执行程序 |
| ⏰ 可视化 Cron | 五段表达式,滑块可视化 + 高级编辑双模式,附中文描述实时预览 |
| 🎨 7 套主题皮肤 | 从日系治愈到赛博黑客、帝国黑金到角色壁纸,一键切换零闪烁 |
| 🖥️ 桌面应用 | Tauri 2 桌面应用,Rust 负责调度、进程和本地数据 |
| 🛡️ 数据安全 | 原子写入 + 写队列互斥,杜绝任务数据损坏或丢失 |
| 🕘 跨小时调度 | 每 3 小时 / 每 6 小时等长周期任务自动补偿触发,不遗漏整点 |
| 🌐 Conda 跨机器友好 | 按环境名定位解释器,换电脑无需改路径 |
| 🔁 失败自动重试 | 可配置失败重试次数和固定间隔,同一任务不会并发执行 |
| 🔐 任务环境变量 | 为每个任务配置独立的环境变量,不修改系统环境 |
| 皮肤 | 风格 | 色系 |
|---|---|---|
| 🌸 豆蔻少女 | 日系治愈 · 玻璃拟态 | 樱花粉 · 奶油白 · 淡紫 |
| 🌅 新海诚黄昏 | 青春电影 · 光影层次 | 晚霞橙 · 天空蓝 · 紫云 |
| 🌊 深海梦境 | 空灵冥想 · 水下梦境 | 深海蓝 · 冰川青 · 荧光 |
| 💻 黑客终端 | 极客赛博 · CRT 质感 | 纯黑 · 荧光绿 · 暗灰 |
| 🏯 秦帝国黑金 | 帝国威严 · 青铜纹理 | 玄黑 · 暗金 · 青铜绿 |
| 🔮 魔女炼金 | 神秘幻想 · 古典魔法 | 深紫 · 暗金 · 月光银 |
| 👑 甄姬背景 | 角色壁纸 · 月白烟紫 | 月白 · 浅蓝 · 青灰 · 烟紫 · 淡粉 |
主题偏好持久化保存,重启自动恢复;桌面端还可通过应用菜单「皮肤」子菜单即时切换。
- Rust stable(含
cargo) - Node.js ≥ 20(建议 LTS 版本)
- npm(随 Node.js 一同安装)
npm install版本号唯一手工来源是 package.json;执行 npm run version:sync 会同步 Cargo 元数据,Tauri 配置不再重复维护版本号。
桌面应用(推荐) — 独立窗口 + 系统托盘:
npm start| 命令 | 说明 |
|---|---|
npm start |
启动 Tauri 桌面应用 |
npm run build |
构建 Vue 前端 |
npm run tauri:build |
构建 Tauri 安装包 |
| 字段 | 说明 |
|---|---|
| 任务名称 | 自定义任务标识,例如「日报生成」 |
| 执行方式 | 直接 Python / Conda 环境名 / Conda 环境路径 / CMD 或 BAT / 可执行程序 |
| Python / 可��行程序命令路径 | Python 模式必填 python.exe;可执行程序填写程序路径或 PATH 中的命令名 |
| Conda 环境名或路径 | Conda 模式必填 |
| 脚本路径 / CMD 命令 | Python / Conda 填 .py 文件路径;CMD 模式填命令文本或 .bat / .cmd 路径 |
| 启动参数 | 可选,例如 --date "2026-03-19" |
| 时间参数名 / 值 | 可选,执行时自动追加到命令行 |
| 工作目录 | 可选;Python / Conda 默认使用脚本所在目录,可执行程序使用进程默认目录 |
| 环境变量 | 可选的 KEY=VALUE 键值表,仅对当前任务进程及子进程生效 |
| 失败重试次数 / 间隔 | 可选,失败后额外重试 0–5 次,间隔 0–86400 秒;手动终止不会重试 |
| Cron 表达式 | 五段格式,可视化滑块 + 高级编辑双模式 |
可执行程序使用直接进程启动,不经过 Shell。例如:程序填写 node,参数填写 worker.js --mode "daily";或程序填写 powershell.exe,参数填写 -File D:\jobs\sync.ps1。需要管道、重定向或 Shell 内建命令时,请继续使用 CMD / BAT 类型。
| 表达式 | 含义 |
|---|---|
*/5 * * * * |
每 5 分钟 |
0 * * * * |
每小时整点 |
0 */3 * * * |
每 3 小时 |
0 9 * * * |
每天 09:00 |
0 9 * * 1-5 |
工作日 09:00 |
30 23 * * * |
每天 23:30 |
0 0 1 * * |
每月 1 日 |
- 跨电脑共享任务时,优先使用 Conda 环境名(如
py3143),而非绝对路径 (如C:\Users\xxx\.conda\envs\py3143) - 程序会优先通过
conda env list按环境名定位真实路径 - 找不到
python.exe时自动回退到conda run --no-capture-output执行
在 Windows 下可直接双击项目根目录的 build.bat,或在终端执行:
npm run tauri:build打包完成后,安装包生成在 src-tauri/target/release/bundle/ 目录下:
src-tauri/target/release/bundle/
└── nsis/WeiScheduler_<version>_x64-setup.exe
安装器由 Tauri 生成,支持 Windows 桌面安装和卸载。
build.bat 在完成 Tauri 构建后,还会生成:
release/
├── WeiScheduler_<version>_portable/ # 解压后可直接运行
└── WeiScheduler_<version>_portable.zip # 便携版压缩包
便携版会将任务数据保存在自身目录下的 data/ 文件夹,不写入 %APPDATA%,可直接复制到其他 Windows 电脑使用。解压后双击 start-portable.bat 或直接运行 WeiScheduler.exe 即可。
| 数据 | 位置 | 说明 |
|---|---|---|
| 任务配置 | %APPDATA%\WeiScheduler\data\tasks.json |
所有定时任务的定义与状态;桌面端与 Web 端共用 |
| 主题偏好 | WebView 本地存储 | 记住你选择的皮肤 |
🛡️ 数据安全设计:所有写入均为原子写入(临时文件 → rename),写入操作经互斥队列串行化; 即使 JSON 文件损坏也会自动备份并保留原文件,绝不静默清空任务。首次升级时会自动迁移旧版数据目录。
WeiScheduler/
├── src/ # Vue 3.5 + TypeScript + Pinia 前端
├── public/skins/ # 7 套主题皮肤 CSS
├── src-tauri/ # Rust domain/service/infrastructure/commands
├── scripts/ # 版本同步脚本
├── build/ # Tauri 图标资源
├── package.json
└── CHANGELOG.md
| 层面 | 技术 |
|---|---|
| 🎨 Frontend | Vue 3.5 · TypeScript · Vite 8 · Pinia |
| ⚙️ Backend | Rust stable · Tauri 2.11 |
| 🖥️ Desktop | Tauri WebView |
| ⏱️ Scheduling | Rust Cron + Tokio |
| 📦 打包 | Tauri bundle |
完整的版本历史见 CHANGELOG.md。
v1.7.0(2026-07-03)
- 🧩 新增 CMD / BAT 定时任务执行方式
- 🖥️ 新增
run.bat启动菜单:安装依赖、启动桌面端、启动 Web 服务、打包
v1.6.x(2026-06)
- 👑 新增「甄姬背景」主题(设为默认主题),全套 7 套皮肤
- 🎨 全部皮肤对比度优化,新增文字层级变量
v1.6.0(2026-06-28)
- 🐛 修复定时任务偶发丢失的严重 Bug(原子写入 + 写队列互斥)
- 🎨 UI 全面重构:语义化 HTML、BEM 命名、响应式三端适配
v1.4.0(2026-05-29)
- 🌸 豆蔻少女版 UI 全面翻新,主题系统架构,新增 6 套皮肤
MIT © 2026 Ethan Wilkins