这个项目能做什么

Yuvomi 是一款自托管家庭规划工具,将约 20 个模块打包进一个容器,可运行在你自己的服务器或 NAS 上。其目标是取代一堆独立的订阅应用——任务清单、共享日历、预算、膳食计划、购物清单、文档存储——用一个实例替代,并将数据保留在你自己的磁盘上。 README 中列出的模块包括:任务(看板、截止日期、重复家务、子任务)、购物(按货架分类的共享清单)、膳食(每周拖拽式规划器)、食谱(支持 Mealie 或 Tandoor 的只读镜像)、食品储藏室(库存、存放位置、保质期)、日历(Google 和 CalDAV 双向同步、Outlook 推送、订阅、节假日)、文档(带标签的文件,存储在本地、WebDAV 或 Google Drive)、库存、预算(收入、支出、账户、贷款、带债务简化的共享支出)、家务、垃圾回收、奖励、健康(生命体征、药物、化验、周期跟踪、断食日志)、日程、笔记与联系人(Markdown 笔记、CardDAV)、生日、家庭、提醒、API 令牌和备份。其中多个模块默认关闭。 README 强调跨模块行为:膳食计划可以填充购物清单,勾选完成的购物项可以回记到食品储藏室,已完成的任务可以为成员的奖励账户积分,上传的收据可以同时关联到一笔交易、一项共享支出和一个库存物品。 部署方式包括通过 Compose 使用 Docker 或 Podman、基于浏览器的引导式设置向导(主机需 Node.js 22+),或使用 TrueNAS SCALE、Umbrel 和 Unraid 上的应用目录。镜像大小约 500 MB,需要约 256 MB 内存和一个端口(默认 3000)。使用四个卷:data、backups、modules 和 documents。数据存储在 /data/yuvomi.db 的单个 SQLite 文件中;可选 SQLCipher AES-256 加密,README 警告丢失或更改密钥将无法恢复数据。 关于网络行为,README 说明默认情况下唯一的出站请求是对 GitHub releases API 的版本检查,可以阻止该请求而不会影响任何功能。其他外部调用(节假日数据、天气、汇率、日历和联系人同步、食谱镜像、Immich、Paperless 或 Papra、推送和通知渠道、云存储和备份)仅在使用或启用相应功能时才会发生。私有或内部地址上的日历订阅、WebDAV 存储和食谱镜像在明确选择启用之前保持阻止状态。 所描述的认证功能包括:可选 TOTP 双因素认证及恢复码、邀请链接、可选基于电子邮件的密码重置,以及可选 OIDC 单点登录,并带有控制未知身份是否获得账户以及 SSO 是否为唯一登录方式的开关。界面支持 24 种语言并自动检测,另有单独的家庭设置用于生成条目的语言。 技术上,该项目自称没有构建步骤:纯 ES 模块和普通 CSS,无打包器、转译器、框架或运行时 CDN,基于 Express、SQLite/SQLCipher 和 Node.js 22 或更高版本构建,以 PWA 形式交付。README 还提到因商标原因从 Oikos 更名为 Yuvomi,旧链接和旧容器镜像继续可用,升级时保留现有数据。该项目采用 MIT 许可证,并链接了一个社区维护的用户文档站点,但说明该站点与项目本身相互独立。