摘要
应用做到这,功能齐了。最后一块拼图是让数据产生汇报价值:完成率进度条、导出真 .sqlite、拿 sqlite3 做月度盘点,以及把导出的数据库丢给 WorkBuddy——它读我的库,给我生成一张周报图。这就是能力组合。
话题标签:#WorkBuddy #数据分析 #SQLite #效率工具
功能齐了,但我总觉得欠点什么
搜索加完(第 09 篇救回来的那个),这个应用的功能清单终于和第 01 篇开头承诺的对上了:增删改查、优先级、截止日、分类、搜索、深色模式、SQLite 存储、导出导入。
按理说该收工了。但我总觉得欠点什么。
有天晚上我打完当天的勾,习惯性地想回答一个问题:"我今天到底干了多少活?这周呢?"——然后我发现答不上来。数据都在,勾都打了,但它们只是安静地躺在列表里,没有变成任何汇报价值。
干运维的对这个欠缺特别敏感:监控数据采上来了,不做看板不做周报,那采集它干嘛?数据的价值从来不在存,在用。
所以最后一轮功能迭代,方向就一条:让数据打第二份工。
先加个完成率:最便宜的"看板"
第一件事,让应用自己显示完成情况。需求还是位置语言:
顶部标题下方加一行统计:左边"共 N 件,已完成 M 件",右边一个横向进度条(完成率)。今天到期的和已逾期的条目,在统计行旁边用小字提示。刷新后数字要准——这是验收标准。
做完长这样:

就这么一行,体验差很多。打勾这个动作突然有了反馈——进度条往右挪一格。别小看这个反馈,任务管理工具最难的不是功能,是让人愿意回来用,而"看得见的进度"就是让人回来的东西。
导出:这个按钮在 06 篇就埋好了,这轮补个细节
导出 .sqlite 是第 06 篇就有的功能,这轮只补了两个小件:
- 导出文件名自动带日期(
todo-2026-09-20.sqlite),方便攒版本 - 加了"导入还原":选一个之前导出的
.sqlite,整个库恢复回去

这两个小件让"导出"从一个功能变成了一套备份策略:每周五下班前导一份,按日期攒在文件夹里,出了任何问题(包括第 09 篇那种改崩)都能秒级回滚。这个节奏跟设备配置备份一个思路,只是这次备份的是我自己的待办库。
月度盘点:sqlite3 十行命令的事
有了带日期的导出文件,月度盘点就变成了我最喜欢的形态——十行命令的事:
$ sqlite3 todo-2026-09.sqlite
sqlite> SELECT count(*) FROM todos; -- 攒了多少事
sqlite> SELECT count(*) FROM todos WHERE done=1; -- 办了多少
sqlite> SELECT category, count(*) FROM todos
...> GROUP BY category ORDER BY 2 DESC; -- 哪类事最多
sqlite> SELECT text FROM todos WHERE due < date('now')
...> AND done=0; -- 拖到现在还没办的
最后那条查询的结果,每月月初看一次,比任何自我管理方法论都诚实。
这就是第 06 篇死磕"要真 SQLite 不要黑盒"的红利兑现时刻:如果当年妥协了 localStorage,这些查询我一个都做不了。
杀手锏:把我自己的库,丢给 AI 做周报
前面都是传统艺能。这轮真正的新玩法是这个:
我每周要给团队发一份工作周报。以前的做法:翻聊天记录、翻工单、回忆这周干了啥,拼半小时。现在:
- 从应用里点一下"导出",得到本周的
.sqlite - 把这个文件丢进工作目录,跟 WorkBuddy 说:
这是我本周的待办数据库(SQLite)。你用数据分析能力读它,然后给我生成一张周报图:本周完成/未完成数量、按分类的分布、完成率,配上简短的文字总结。图片风格干净一点,我要直接发到工作群里。
- 一分钟内,它还我一张图:

第一次拿到这张图的时候,我盯着看了很久。不是因为图多惊艳——是因为这条流水线的含义:
- 待办应用负责采集(每天打勾)
- 导出负责传输(.sqlite 文件)
- WorkBuddy 的数据分析负责加工(读库、聚合)
- 它的图表能力负责呈现(出图)
四个能力,四个原本毫不相干的角色,被我用一句话编成了一个班。我管这个叫能力组合:别把 AI 当一个员工,把它当一个部门——应用生成、数据分析、图表制作是可以拆开使唤的三个员工,你排的流程串起谁,谁就上岗。
以前拼周报的半小时,现在一分钟。省下来的不是 29 分钟,是"回忆这周干了啥"这个动作的心智成本。
功能篇到此收官
到这里,第 01 篇承诺的每一项功能全部就位,还多出来几个当初没想到的(周报流水线)。三轮迭代 + 美化 + 救火 + 数据,这个应用在我电脑上已经连续稳定运行了小一个月,零故障(那次改崩是开发期的事故)。
下一篇,是整个系列的倒数第二篇,也是我最想写的一篇:上线。这个只活在我浏览器里的文件,怎么变成一个能发给我老婆、她手机点开就能用的链接。
以及那句我在第 04 篇需求卡里留下的矛盾——"数据不上云"和"手机也能看"——终于要正面解决了。