Skip to content

Repository files navigation

Taskato

Taskato

把层级任务、番茄专注、时间统计和每日复盘放进一个安静的 Windows 工作台

下载安装 · 功能亮点 · 界面预览 · 源码运行 · 许可证

Latest release Last commit GitHub stars GitHub issues


这是什么

Taskato 是一个基于 .NET 8 + WPF + WebView2 + React 的 Windows 本地任务与番茄钟应用。

  • React 提供任务、专注统计、每日总结、历史记录和设置五个完整业务页面。
  • C# 负责 SQLite 数据、任务规则、番茄钟、托盘、通知、备份恢复和系统生命周期。
  • WPF 只保留 WebView2 桌面宿主、完成确认、提醒弹窗和必要的原生文件对话框,不再维护旧版 WPF 工作区。

主界面是可最大化、可缩放分栏的整窗工作台。日间模式采用低刺激米黄色,夜间模式采用高对比深色主题;导航折叠状态、分栏宽度和最大化状态会在下次启动时恢复。

界面预览

Taskato React 整窗工作区日间模式

React 整窗工作区:层级任务树、任务详情与多组番茄钟

更多设计与验证资料:

功能亮点

模块 能力
今日任务 只展示未完成、今天发布或今天完成的任务,并保留必要的父级路径;支持筛选、一键展开/收起和页面切换后恢复选中项
层级任务 最多 5 层嵌套、任务组与未归类分区、直属子任务编辑、父任务迁移、删除分支或提升直属子任务
完成规则 子任务全部完成后父任务仍保持未完成,由用户手动确认大任务或阶段任务完成;新增未完成子任务会重新打开相关父级
任务内容 标题与内容使用同一个业务字段,可在详情区直接编辑;新增任务和子任务时可选择四级优先级
番茄钟 主番茄钟与多个附加计时器、工作/休息循环、暂停、停止、提前休息和时长调整
跨进程计时 使用绝对截止时间持久化;关闭软件不影响倒计时,重新打开时自动恢复,已超时则显示过去多久并弹出提醒
专注统计 按天、周、月查看半小时或自然日热力格子、工作启动标记、专注/休息/总时长、启动次数、最长单次和活跃天数
统计口径 只统计番茄钟真实 Working/Resting 区间;暂停和完成弹窗等待时间不计入,任务仅作为会话说明信息
提醒与飞书 工作完成、休息完成、休息过半和手动测试分别配置发送次数;可选择提示时是否直接打开软件界面
每日总结 只展示当前仍有效的完成记录,按顶级任务分组,并区分叶子任务与手动确认的父级成果;支持补充任务和导出
历史记录 只追加保存创建、编辑、移动、完成、取消完成和删除事件;支持日期、关键词筛选及 CSV 导出
数据安全 本地 SQLite、设置与运行状态备份,恢复前完整性校验、恢复回滚副本和本地诊断日志
系统集成 托盘常驻、休眠恢复、最小化后台运行、开机自启、单例运行及窗口状态持久化

下载安装

最新稳定版是 v2.28

安装包是 .NET 8 win-x64 自包含版本,目标电脑不需要预装 .NET Desktop Runtime;若系统缺少 WebView2 Evergreen Runtime,安装器会从微软官方入口下载。

发布包不包含任何个人任务、数据库或设置。程序首次运行后才会创建自己的 Data 目录;覆盖升级同一安装目录时不会覆盖已有数据,但升级前仍建议在“设置 → 数据与维护”中创建备份。

使用方式

  1. 在左栏新增任务并选择优先级;需要拆分时,在任务详情顶部继续添加直属子任务。
  2. 用任务树的一键展开/收起和筛选快速定位当前分支,双击子任务进入详情编辑。
  3. 完成叶子任务后,由你决定何时手动确认父任务或整个任务组完成。
  4. 选择当前任务并启动番茄钟;软件关闭、系统休眠或界面卡顿不会让计时变慢。
  5. 在“专注统计”中切换天、周、月,查看哪些时间启动过专注以及实际工作、休息时长。
  6. 在“每日总结”回看仍然有效的成果,在“历史记录”查询完整活动时间线。
  7. 如需远程提醒,在设置中配置飞书 Webhook 和四类通知次数。

源码运行

环境要求

  • Windows 10/11
  • .NET 8 SDK
  • Node.js 20 或更高版本
  • Microsoft Edge WebView2 Runtime(Windows 11 通常已包含)

克隆、构建与运行

git clone https://github.com/quecai-niu/Taskato.git
cd Taskato
cd src/Taskato.Web
npm ci
npm run build
cd ../..
dotnet run --project src/Taskato/Taskato.csproj

测试

cd src/Taskato.Web
npm ci
npm run check
npm test
npm run build
cd ../..
dotnet build Taskato.sln -c Release
dotnet run --project src/TestProject/TestProject.csproj -c Release

生成发布包

生成经过前端测试、C# 回归和真实 WebView2 烟测的便携包:

.\scripts\build-release.ps1 -Version 2.28.0

已安装 Inno Setup 时,同时生成安装包:

.\scripts\build-release.ps1 -Version 2.28.0 -BuildInstaller

完整运行时、升级、签名和回滚策略见 发布与恢复说明

许可证

Taskato 采用 PolyForm Noncommercial License 1.0.0,以源码可用方式发布,不属于 OSI 定义的开源软件。

  • 允许将本软件用于个人学习、研究、实验、测试、业余项目及许可证列明的其他非商业用途。
  • 允许在非商业用途范围内修改和分发本软件;分发时必须同时提供许可证条款及规定的通知。
  • 不允许将本软件用于商业目的。商业使用或商业授权请事先联系著作权人并取得书面许可。

除文件另有说明外,本许可证适用于本仓库中著作权由许可方拥有的全部 Taskato 源代码,包括历史版本与历史提交;不适用于第三方依赖、第三方资源或许可方无权许可的内容。

本节仅作通俗说明,不替代 LICENSE 中的完整条款;两者不一致时,以 LICENSE 为准。

技术栈

层级 技术
桌面宿主 WPF、WebView2、Windows Forms NotifyIcon
Web UI React 19、TypeScript、Vite、Phosphor Icons
业务与桥接 .NET 8、C#、Service/ViewModel、JSON WebBridge 白名单协议
数据 SQLite、sqlite-net-pcl、事务化任务活动日志和番茄钟会话区间
通知 原生提醒窗口、MediaPlayer/SoundPlayer、飞书 Webhook
验证 Vitest、TestProject、Release WebView2 自动烟测

项目结构

Taskato/
├─ src/
│  ├─ Taskato/
│  │  ├─ Assets/          # 图标与原生资源
│  │  ├─ Models/          # 任务、活动、专注统计与 Bridge DTO
│  │  ├─ Services/        # SQLite、计时器、设置、桥接、托盘、通知与备份
│  │  ├─ ViewModels/      # 任务工作区、番茄钟和每日总结状态
│  │  └─ Views/           # WebView2 主壳层与原生短流程窗口
│  ├─ Taskato.Web/        # React 工作区、Bridge client、browser mock 与测试
│  └─ TestProject/        # C# 回归与集成测试
├─ installer/             # Inno Setup 安装定义
├─ scripts/               # 发布、WebView2 与窗口烟测脚本
├─ docs/                  # 设计、发布、审查与项目导航文档
├─ Taskato.sln
└─ README.md

配置与数据

应用默认在程序目录下的 Data 中维护本地数据:

  • Data/taskato.db:任务树、完成记录、只追加活动日志和番茄钟专注区间。
  • Data/settings.json:主题、窗口、番茄钟、提示音、通知和系统偏好。
  • Data/pomodoro-state.json:跨进程恢复所需的计时状态。

WebView2 浏览器缓存默认放在 %LOCALAPPDATA%/Taskato/WebView2,不会进入程序目录、备份文件或发布包。Taskato 不需要云端账号,除非你主动配置飞书 Webhook,否则业务数据不会发送到外部服务。

当前版本

v2.28

  • 新增天、周、月专注统计,分别展示工作与休息有效时长,并排除暂停和完成等待。
  • 任务树支持最多五层、手动确认父级成果、当前任务筛选、折叠状态和会话选中项保持。
  • 番茄钟支持跨进程恢复、超时提醒、多组计时和四类可配置飞书通知次数。
  • WebView2 成为唯一工作区 UI,旧版 WPF 业务页面和回退入口已经移除。
  • 提供经过前端、C# 和真实 WebView2 烟测的安装包、便携包、SHA-256 与发布清单。

About

一个协助工作任务管理的番茄钟软件

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages