J-Flow 是一个(vibe-coding产出的)本地优先的个人 Todo 与种草清单桌面工具。
它适合用来管理两类事情:
- 今天、明天、某一天真的要做的事;
- 现在还不一定做,但以后有空想试试、看看、买买、研究一下的事。
换句话说,J-Flow 不只是一张 Todo List。它更像是一个“今日待办 + 种草清单 + 有空时拔草”的个人小工具。
在线参考版本:
- J-Flow V2 Web:https://eglantine-shell.github.io/J-Flow/
Web 版主要作为可试用和参考版本保留;当前主线是桌面版。
J-Flow 适合这些人:
- 日常有 Todo 要管,但又不想把所有想法都塞进今日待办里;
- 经常会“种草”很多东西:电影、书、展览、菜谱、小游戏、文章、项目、购物清单;
- 希望空闲时能从已有清单里挑一件事做,而不是临时想半天;
- 喜欢计划,但不想把生活安排成过度僵硬的日程表;
- 极致 J 人,或者想用一个偏 J 的工具中和自己 P 的 P 人。
它不太适合:
- 团队协作;
- 项目管理;
- 复杂日历排班;
- 手机端随手记录;
- 依赖账号体系和官方云同步的工作流。
J-Flow 目前更偏向单人长期自用。
很多 Todo 工具都能记录“今天要做什么”,但生活里还有很多事情不是今天必须做,也不适合立刻放进待办,J-Flow 称之为“有空再说”——这些东西如果放进 Todo,会让今日列表变得很喧嚣;如果放进收藏夹,又很容易永远吃灰。
J-Flow 的思路是:
- Todo:负责执行。今天要做、某天要做、需要截止日期、需要分次推进的事,放在 Todo 里。
- 种草:负责暂存。现在不一定做,但未来有空可能想做的事,先放进种草清单。
- 拔草:当你有空时,从种草清单里挑一件,加入今日 Todo。
V3 起,首次初始化后会进入真实 UI 使用教学。教学使用独立演示数据,不会改动你的本地 Todo、种草清单、日志、设置或同步目标。
第一次打开 J-Flow 时,会看到初始化页面。 这里主要是为“种草清单”做准备。你可以先设置两类筛选维度:
- 类型清单:这件事属于什么类型,比如书、电影、展览、购物、菜谱、项目等。
- 进行场景:这件事适合在什么场景做,比如晚上、周末、通勤、有大块时间、中彩票之后等。
这些设置不需要一次想完。你可以先填几个最常用的,之后在使用过程中继续补充和修改。
完成初始化后,J-Flow 会进入一轮使用教学,带你看日期切换、Todo 输入、种草、必要事项、分步、分次、重复、同步和日志。之后也可以在设置页的“初始化与使用教学”中重新观看教学,而不清空当前数据。
进入主页面后,主要区域是 Todo。 你可以把今天要做的事直接加进去,也可以切换日期,查看或安排别的日期。 Todo 会区分白天和晚上。你可以把事项放到更适合的时间段里,也可以进入排序模式,通过拖动把手调整顺序或跨越白天 / 晚上分隔线。
如果当天事项较多,可以点击“只看必要”,同时筛选未完成和已完成的必要事项。筛选开启时排序模式会暂时禁用,恢复“全部事项”后即可继续排序。
添加 Todo 时,你可以只写一个标题,也可以继续设置更多属性:
- 日期:默认是今天,也可以选择未来某一天。
- 白天 / 晚上:决定事项出现在当天哪个区域。
- 必要事项:适合必须完成、有截止日期的事情。
- 备注:适合记录材料、前置动作或注意事项,可以留空。
- 分步事项:适合按“当前步骤 / 下一步”推进的事情。
- 分次事项:适合不是一次做完、需要推进进度的事情。
- 重复事项:适合周期性出现的事情。
普通 Todo 如果没有完成,会按规则顺延到今天。完成后会进入已完成区;删除则表示结束这条 Todo。
如果一件事不是“有空做”,而是“必须在某天前做完”,可以把它设为必要事项。 必要事项需要设置 DDL。当前版本支持两种方式:
- 直接选择截止日期;
- 输入“x 日内完成”。
保存后,J-Flow 只记录真实截止日期。 如果必要事项逾期,列表里会显示逾期提示。当前版本只做显示和警告,不做弹窗提醒,也不会自动帮你重新排序。
有些事情不是不能做,而是每次看到时都要重新想一遍:
- 要带什么?
- 要提前查什么?
- 要找哪份资料?
- 要联系谁?
- 做之前有什么限制?
这类信息可以直接写在 Todo 输入框下方的备注栏里。备注可以为空,不会影响 Todo 保存。
有些事情不适合只用一条 Todo 完成,比如:
- 读一本书;
- 做一个长期项目;
- 整理一批资料;
- 推进一个需要分阶段处理的问题。
这类事项可以设为分步事项。添加时填写“当前步骤”,并可继续添加多个后续步骤。列表里会显示为“事项内容:当前步骤”。完成当前步骤后,如果后续步骤不为空,系统会按顺序自动创建下一条 Todo;如果后续步骤为空,这条分步链路就结束。
分步事项的 DDL 只属于当前这一步。自动创建下一步时,不继承上一条的 DDL。
有些事情不适合用“完成 / 未完成”来表达,比如:
- 看一本书;
- 整理一批资料;
- 做一个小项目;
- 学习一个课程;
- 清理一个长期堆积的问题。
这类事项可以设为分次事项。 分次事项会显示进度条。你可以拖动进度,记录今天推进到了哪里。 如果不小心把进度拖到 100%,也可以取消完成。当前规则下,取消后进度会回退到 90%,方便继续调整。
J-Flow 当前支持两类重复事项:
适合固定周期出现的事情,如每 1 天、每 3 月。 这类事项不管上一次有没有完成,到了对应日期都会出现。
适合“做完一次后,隔一段时间再做”的事情,如完成后 3 天。 这类事项只有在当前这次完成后,才会生成下一次。
重复周期支持 1-100 之间的日、周、月、年。
重复 Todo 会保存自己的白天 / 晚上归属。后续自动生成的新 Todo 会继承这个归属,不会再根据场景 tag 名称推断。
主页面下方有种草区。 你可以把暂时不做、但以后想做的事放进去。添加种草时,可以选择:
- 类型清单;
- 进行场景;
- 兴趣程度。
类型清单和进行场景用于筛选;兴趣程度用于排序。 如果同一批种草属于同一类型、同一场景、兴趣程度也相同,可以直接批量添加:一行一条,最多 20 条。
种草清单有独立页面。 在这里,你可以查看所有未完成的种草条目,包括:
- 还没有加入 Todo 的种草;
- 已经加入 Todo,但对应 Todo 还没完成的种草。
你可以在这里修改种草内容和兴趣程度,也可以通过 TODO 按钮把它加入今日待办。
如果某条种草已经排进某一天的 Todo,列表里会显示它已经排在哪一天。
列表顶部还可以在“更新时间排序”“高兴趣优先”“低兴趣优先”之间循环切换。
当你今天有空,想从收藏过的事情里挑一件来做,可以从种草清单中选择一条,加入今日 Todo。 加入 Todo 后,它就会按 Todo 的规则执行:
- 可以设为白天或晚上;
- 可以设为必要事项;
- 可以加备注;
- 可以设为分步事项;
- 可以设为分次事项;
- 可以设为重复事项。
也就是说,种草只是“先存起来”;真正要执行时,仍然回到 Todo 里管理。
来自种草的 Todo 删除后会彻底删除,不会自动回到种草清单。如果你想放回种草清单,请点击条目右侧的返回按钮。
J-Flow 会生成每日日志。 日志用于回看某一天的 Todo 快照,包括完成、未完成、删除、拔草、逾期、分次进度等信息。 日志正文默认不修改,但可以添加备注,也可以一键复制 Markdown 格式。 这适合用来做简单复盘,或者把一天的完成情况复制到别的记录工具里。
J-Flow 是本地优先应用。 Desktop 版数据保存在本机,主库使用 SQLite。应用也支持 JSON 导入、导出和恢复备份。 当前桌面版支持:
- 本地数据保存;
- JSON 导入 / 导出;
- 本地自动备份;
- 恢复备份;
- 本地文件夹同步。
需要注意的是: 本地文件夹同步不是官方云同步。 J-Flow 不提供账号系统,也不提供自己的云服务。你可以选择一个本地文件夹作为同步文件夹;如果这个文件夹本身位于坚果云、OneDrive、iCloud Drive、Dropbox、NAS 等会自动同步的目录里,就可以借助它们在不同设备之间交换数据。 但从 J-Flow 的角度看,它做的是“本地文件夹同步”,不是“登录账号后的在线云同步”。 当前同步能力仍然以轻量自用为主,不建议把它当成多人协作或高频实时同步工具。
当前版本线:
V1.4:上一版稳定 macOS 自用包;V2.0:主要更新为本地文件夹同步能力;V2.1:在 V2.0 基础上增加必要事项 DDL;V2.2:主要修复日志 / 同步时序问题,并补强桌面常驻与 Windows 打包体验;V2.3:集中优化 Todo 与种草清单体验,包含跨日刷新、日志修复、兴趣排序、必要事项筛选、24 小时完成时间编辑和拖动排序。V3:整合原 V2.4 大更新,包含备注替代准备、夜间新增默认归属、拔草删除语义重构、分步 Todo、真实 UI 使用教学,以及重复 Todo 日夜归属修复。V3.1:已完成分步 Todo 优化,支持一次安排多个后续步骤,并同步更新真实 UI 教学与教学 demo 日期逻辑。
当前桌面版产物:
- macOS:
J-Flow-V3.1.dmg - Windows:
J-Flow-V3.1-win-setup.exe - Windows:
J-Flow-V3.1-win-portable.exe
平台状态:
- macOS:V3.1 已完成构建层验证,仍建议正式使用前做一轮真实数据试用;
- Windows:
- V3.1 Windows 包待单独真机打包验证;
- 推荐普通用户优先下载
setup; portable首次启动需要自解包,启动时间通常更长;
- Web:V2 版本保留为在线参考版本;
- iOS / Android:暂不支持。
Releases:
- GitHub Releases:https://github.com/eglantine-shell/J-Flow/releases
- 当前建议通过 GitHub Releases 分发与下载:
J-Flow-V3.1.dmgJ-Flow-V3.1-win-setup.exeJ-Flow-V3.1-win-portable.exe
当前 macOS 与 Windows 安装包均未进行正式代码签名。首次打开时,系统或安全软件可能显示风险提示,请确认文件来自本仓库 Releases。
J-Flow 还不是一个完整商业化产品,目前更接近一个持续打磨中的个人工具。
当前限制包括:
- 暂不支持账号系统、官方云同步;
- 暂不支持手机端;
- 暂不支持多人协作;
- V3.1 的真实 UI 教学仍需继续通过实际使用打磨。
下一步优先方向:
- 进行 V3.1 真实数据试用与 debug;
- 完善本地备份与同步的说明和体验。
J-Flow 是一个 vibe-coding 产出的个人工具项目。
当前主要技术栈:
- React
- TypeScript
- Vite
- React Router
- Zustand
- Dexie(Web)
- Electron
- SQLite(Desktop)
- Vitest
本地开发:
corepack pnpm install
corepack pnpm run devDesktop 开发:
corepack pnpm run dev:desktop构建:
corepack pnpm run build
corepack pnpm run build:desktop打包:
corepack pnpm run package:mac
corepack pnpm run package:win
corepack pnpm run package:win:nsisWindows 真机打包建议:
corepack pnpm install
corepack pnpm run sync:icon
corepack pnpm run build:desktop
corepack pnpm run package:win:dir
corepack pnpm run package:win:portable
corepack pnpm run package:win:nsisWindows 图标由
corepack pnpm run sync:icon在 Windows 上生成build/icon.ico。缺少该文件时,Windows 打包会中止,避免产出无图标安装包。
更多开发资料见:
docs/README.mdhandoff.mdproduct-rules.mddata-model.mdapp-structure.mdconstraints.mdtask-list.mdmanual-test-checklist.md
MIT
Copyright (c) 2026 Ye Tingzhi