项目背景
待业在家,发现家庭中很多的琐事要做,萌生一个系统驱动家庭成员完成琐事,而不是自己主动去"找"事做。
其次,验证 deepseek 成为 vibecoding 后端的可能性
整体流程
用户创建或者加入一个家庭,维护家庭的任务,系统内部基于任务的定时调度,生成待办,完成待办时,根据任务的具体类型,生成新的待办。
痛点和解决方案
| 问题 | 解决方案 |
|---|---|
| 任务的产生和处理不需要在一个时间段完成 | 基于任务维护问题,基于待办督促任务的完成 |
| 任务的产生会一次性的 | 一次性调度任务是解决这一类问题,基于 cli 的方式,配置到 ai 助手中,快速创建任务和生成待办 |
| 家庭内部的任务由不同的人完成 | 基于家庭小组的任务分配机制 |
| 任务具有链路性,一次家庭事务伴随多条任务 | 基于不同的任务类型来构建任务,如巡检任务/任务链等,例如检查冰箱菜品是否充足,会生产一条待办,这个待办会完成检查项,根据检查项生成其他的待办。 |
| 系统本身的维护成本高 | 基于任务模板和订阅机制,方便快速维护任务,降低任务维护难度。基于 cli 的交互方式,将具体 api 调用交给 ai 完成 |
理想方式
低频率的维护任务,基本就是根据待办面板完成待办事项,就可以将家中的事项处理完成,不会出现遗漏等问题。 例如配合 ai 助手的提示和对话,督促自己完成待办,反馈待办的完成情况。
发贴目的
一人计短,二人计长。期望站里的能人异士给我提一些建议或者意见。
Now & Again
"Life is just a mix of 'Now' (one-off) and 'Again' (recurring)."
家庭事务管理平台 — Web UI + CLI + RESTful API ,三端统一。
📖 名字的由来
生活中的琐事只有两种:
- Now (此刻):临时起意、只做一次的事 — 取快递、给绿植换盆、预约体检。
- Again (再次):循环往复、刻在生活节律里的事 — 每两周换四件套、每天铲猫砂、每月大扫除。
Now & Again 把它们统一管理起来,让你无论在手机、电脑还是命令行终端,都能随手处理这些生活碎片。
✨ 核心特性
| 特性 | 说明 |
|---|---|
| 🔀 Now & Again 双模式 | 一次性任务完成后归档;周期性任务自动计算下次到期日 |
| 🔍 巡检驱动 | 检查项→分支→异常自动创建跟进子任务(可指定地点/小组) |
| 📋 任务模板系统 | 插件式 Provider (内置 YAML + HTTP 远程订阅),Go template 渲染参数,系统/家庭双级别隔离 |
| 🧩 插件化架构 | 任务类型(taskkind) + 任务模板(tasktemplate) + 调度类型(scheduler) + 地点类型(locationkind) 四插件系统,新增类型零侵入 |
| 📍 地点独立管理 | 地点为一级实体,不强制绑定户型图,支持室内/户外等多种类型 |
| 👥 家庭 + 小组分工 | 任务精确指派到小组/地点,巡检分支可独立配置 |
| 📋 完整操作日志 | 全程记录创建/完成/跳过/巡检/跟进 |
| 🖥️ 三入口统一 | Web (Vue 3) · CLI (Cobra) · RESTful API — 共享数据契约 |
| 📅 ICS 日历订阅 | 标准 iCalendar 协议,支持 API Key/Basic Auth |
| 🖥️ 大屏日历嵌入 | 生成 embed 标签嵌入任意网页,支持自动刷新 |
| 🔑 API Key 权限体系 | 细粒度 Scope 控制 (read/write/admin) |
| 🌙 暗色模式 + i18n | 中英文切换 + 暗色/亮色主题 |
关于 deepseek 的实际使用体验
使用模型:v4-pro
实际使用感受:一般而言简单的任务可以快速的帮你完成,但像这个项目中的插件化系统的设计和实现过程中,我发现它经常会违背你的设计范式,例如在插件的调用者,即:任务管理模块本身嵌入大量的 if/else 等对于任务类型的判断,这样违背了插件设计的初衷
如何改善:
- 模型能力欠缺的情况下,无法从根本上解决,只能使用者来拆分任务,补全任务的边界和约束,例如:先设计调用流程,然后修改流程直至满足你的需求,在基于调用流程固化 interface ,再基于 interface 做实现。
- 将你的 package 分得更具体,整体的项目架构更高内聚和低耦合,在单次调用时,避免上下文过多带来奇怪的问题。