一个基于 Electron 的本地桌面待办与番茄钟应用。FocusTodo 把自定义任务流程、分类、标签、图片附件、细分步骤、归档和番茄钟悬浮窗放在同一个工作台里,适合日常任务推进、轻量项目管理和专注计时。
- 自定义流程看板:支持待办、进行中、完成等流程,也可以新增、编辑、删除流程。
- 分类管理:不同流程可以绑定不同分类,主界面和归档内容都支持按分类筛选。
- 标签系统:提前维护标签和色调,任务编辑时选择标签,并可在看板中按标签过滤。
- 任务管理:支持新增、编辑、删除、拖拽排序、跨流程拖动、图片附件和细分步骤。
- 卡片内步骤勾选:任务卡片上可以直接完成或取消细分步骤,不必进入编辑弹窗。
- 归档能力:支持单个任务归档、整列一键归档、归档列表查看和恢复。
- 一键复制:每个流程顶部可复制当前流程下所有任务标题。
- 番茄钟:支持工作、短休、长休、轮次设置,工作结束可自动锁屏。
- 悬浮窗:番茄钟开始后显示独立悬浮计时窗,可暂停、跳过、打开主窗口或查看全部待办。
- 数据备份:支持导出和导入本地数据。
- 主题模式:内置浅色和深色模式。
- Electron 41
- Node.js
- JavaScript
- HTML
- Tailwind CSS
- SQLite 本地存储
npm install
npm run dev开发模式下,renderer 变更会热刷新,main/preload 变更会自动重启 Electron。
如果只想普通启动应用:
npm start生成 Windows 安装包,适合正式分发给普通用户安装使用。它通常会包含安装向导、开始菜单入口、卸载入口等安装体验。
npm run pack:win-installer生成 Windows 目录版,适合本地调试或检查打包后的完整应用文件。它会输出一个可直接运行的应用目录,但需要保留目录内的全部文件。
npm run pack:win-dir生成 Windows 便携版,适合做成单文件 .exe 直接分发。用户通常不需要安装,双击即可运行,更适合轻量分享。
npm run pack:win-portable应用数据保存在 Electron 的 userData 目录中:
- 数据库:
focus-todo.db - 图片附件:
attachments
也可以在应用设置中导出或导入本地备份数据。
.
├─ main.js
├─ src
│ ├─ main # Electron 主进程、窗口、IPC、数据库和服务逻辑
│ ├─ renderer # 页面、交互和 Tailwind 样式
│ ├─ shared # 主进程和渲染进程共享工具
│ └─ preload.js # 安全桥接 API
├─ scripts
├─ static
├─ test
└─ README_ASSET
- 当前主要面向 Windows 桌面环境。
- 番茄钟工作结束自动锁屏使用 Windows 的
LockWorkStation能力。 - 所有核心数据默认保存在本地,不依赖云服务。
ISC
| 任务编辑 | 流程管理 |
|---|---|
![]() |
![]() |
| 标签设置 | 番茄钟设置 |
|---|---|
![]() |
![]() |
| 数据备份 | 休息确认 |
|---|---|
![]() |
![]() |








