一家之计开发手记:一个人,想把"家里的事"接住
2026-09-22 · 家庭协调系列 · 第 3 篇
这个产品的起点不是技术,而是一句话:"我不是帮你做了吗?"这句话我听过太多次,每次听完都觉得哪里不对。后来我想明白了:不对的地方在于,家里真正累人的那份工作,从来没被算作工作。
先做调研:这件事到底有没有人做
动手之前,我把国内外能找的家庭协调类产品扒了一遍,结论比预想的更清晰:
- 海外这个赛道很热:Ohai、Fambot、Ollie、Orbits 都拿到过融资,做的都是"家庭信息中转站"这件事。
- 但它们普遍卡在同一个地方:学校日历同步、群通知接入这类真正的输入难题,多数还挂着"Coming Soon"。也就是说,最难的、也是家长最痛的那一环,大家都还没啃下来。
- 国内最接近的是"陪记",方向对,覆盖面还偏窄。
- 微信生态里做得最聪明的是"卷了么"——它不去碰微信的数据,而是顺着平台的分享机制做输入。这条路是对的。
- 家务专门类,国内基本是空白。尤其"按心理负荷而不是件数来算公平",几乎没人做。
- "按实时路况倒推出发时间"——国内也几乎没人做。而它恰恰是最容易让人真正受益的一个小功能。
把这几条叠在一起,我找到了那个空着的交集:会议/聊天信息的自动提取 × 家务与心理负荷的公平轮换 × 按路程倒推的出发提醒。三件事单独看都有人做,三件事一起做的,没有。
一个重要的"不做":不做全能家庭 AI
调研里最有价值的一条教训来自 Milo:一个试图把所有家庭场景都包进来的"全能家庭 AI",最终因为摊子铺得太大而收场。
所以从一开始我就给自己划了边界。这个 App 只做三件事:
- 接信息——把散在各处的通知、交代、传单接进来;
- 落责任——每件事明确归谁,家务按周期自动轮换;
- 到点喊——按"事情时间 − 路上时间 − 提前量"算出该出发的时刻。
不社交、不做家庭相册、不做智能家居中控、不做家庭财务。看起来克制,但这三条恰好覆盖了绝大多数家庭矛盾的来源。
名字的来历
定名时最纠结。要求是:要体现"家务协调",要朗朗上口,还得有文化根子。
主推过「齐家」,出自《礼记·大学》的"修身齐家治国平天下",格局够大,但两个字稍显古雅。也考虑过「众擎」(众擎易举,家务不独担)和「一家之计」。
最后选定的是「一家之计」——《增广贤文》里那句"一家之计在于和,一生之计在于勤"。前半句正好是产品想做的事:让家里的事分得清楚,心才不会有积怨,和才立得住。slogan 顺势定为"千头万绪,一家之计"。
技术选择:能端侧做的,绝不放到云上
产品形态是原生安卓(Kotlin),依赖尽可能压到最少。核心的两个能力都做在端侧:
- 语义拆解:从"老师通知:周三下午3点接孩子放学,记得带跳绳"里,拆出事项类型(接送)、时间(周三 15:00)、地点(学校)、要带的东西(跳绳)。全部是本地规则,不联网。
- 公平指数:按"认知负荷(1–5)× 频次系数"加权,再折算成 0–100 的指数。就医类负荷最高(4),接送、缴费、学校事务次之(3),日常家务(2),"要记得带东西"和"需要预约排队"各 +1。刻意不按件数算——按件数会继续不公平。
有两条设计细节我花了比较多时间:一是家务轮换,家务型事项可以设每天/每周/每月,完成时自动把归属人轮给下一位,并复制生成下一次;二是出发时间倒推,提醒文案写的是"该出发了 · 接孩子",通知栏上直接就能点"已完成"或"10 分钟后再提醒"。
8 个单元测试,抓出 2 个真实的 bug
拆解逻辑这种"看起来简单"的模块,最容易在最想不到的地方出错。所以我给它写了 8 个纯 JVM 的单元测试,离线跑,不依赖设备。
结果抓出了两个真实 bug,都不是我预想过的:
- 「下周一上午9点半带妈妈去医院复诊」——我的规则把"带妈妈"识别成了要带的东西。带的是人,不是物,这两个语义必须分开。
- 「带妈妈去医院复诊」——整段被当成了地点。地点应该是"医院",不是"带妈妈去医院"。
这两个 bug 如果不写测试,就会一直躺在代码里,直到某位用户看到"要带:妈妈"这种荒唐的输出。端侧小规则看起来朴素,但它对准确性的要求不比模型低。
从 41.1 MB 瘦到 2.18 MB
第一版为了做"截图里识别文字",引入了端侧的 OCR 库(ML Kit 中文识别)。功能是有了,包体也涨到了 41.1 MB——一个只做三件事的小 App,装到手机上比很多大型应用还重,这显然不对。
最后决定砍掉本地 OCR,改成:只有用户主动点"截图识别"时,才把这张图片发给云端视觉模型转文字。结果包体从 41.1 MB 掉到 2.18 MB,而且隐私边界反而更清楚了——因为不去点,图片就永远不会离开手机。
隐私红线:数据只存本机
一个申请了"读取通知栏"权限的 App,必须把数据去向交代得明明白白。这个产品的红线是:
- 全部数据存在本机,不上传服务器,没有账号体系;
- 联网仅两处,且都由用户主动触发:点"截图识别"(发图片)、开启"AI 增强拆解"(发那一段文字,默认关闭);
- 聊天原文永不入库,也不参与任何统计。
做不到"零联网"是诚实的,但"不点不联网、原文不落地"是必须守住的。
诚实的边界与还没做完的事
我不想把边界藏起来。这些限制是真实存在的:
- 通知栏自动记录只对安卓有效,且群被设为免打扰、或关掉了"显示消息详情"时会失效(用"转发"补齐);iOS 只能用转发和主动喂入。
- 语音条、图片在通知栏里只有占位符,拿不到内容。
- 真机冒烟测试还没做——本机没有可用的安卓设备和模拟器,逻辑层已经用单元测试覆盖,但"在真手机上跑起来是什么体验"这一步还没走完。
- 国产 ROM(MIUI / EMUI)的通知监听白名单与电池优化适配还没做,用户可能需要手动加白。
- 云同步与家庭多设备协作还没做。当前是单机产品;如果要让夫妻两个人共用一份清单,必须引入后端,而且要配套端到端加密——这件事不能草率。
把这些写出来不是为了免责,而是因为一个家庭工具的信任,是靠"说清楚它做不到什么"一寸一寸攒起来的。
结语:小事,但要真的做成
家庭协调不是一个性感的方向。它没有大模型、没有炫技、做完了也不会有人惊呼。但如果它能让你家的"该出发了"第一次准时响起,能让家务的分担第一次被算得公平一点,那它就有存在的理由。
《增广贤文》说"一家之计在于和"。和不是忍出来的,是算清楚的。