Baby Buddy 介绍与选型指南
Baby Buddy v2.11.0 介绍与选型指南:项目画像、功能全景、技术架构,与 Grocy、Homebox 的量化选型对比(热度/版本/技术栈/许可/场景),附决策建议与来源标注。
Baby Buddy 介绍与选型指南
## 一、项目画像
Baby Buddy 是一个面向婴儿照护的开源记录系统:把喂奶、换尿布、睡眠、成长指标等日常照护事件结构化入库,让新手父母用数据回答「今天吃了多少、睡了多久、上次大便是什么颜色」这类高频问题。项目由 Chris Case(虚拟主机从业者,自述「养娃后缺工具所以自己写」)于 2016 年启动,社区维护至今。
| 维度 | 事实 | 来源 |
|---|---|---|
| 仓库 | github.com/babybuddy/babybuddy | GitHub |
| 最新稳定版 | v2.11.0 | GitHub Releases 徽章(查询日期 2026-10-28) |
| GitHub Stars | 2.9k | shields.io GitHub Stars 徽章(查询日期 2026-10-28) |
| 许可 | BSD-2-Clause | 仓库 LICENSE |
| 技术栈 | Python / Django 5.2 + DRF 3.18 / PostgreSQL 或 SQLite / Node+gulp 构建前端 | 仓库 requirements.txt、package.json |
| 官网/文档 | baby-buddy.net / docs.baby-buddy.net(MkDocs) | 官方站点 |
| 部署形态 | 自托管 Web 服务;官方提供开箱即用的打包部署形态与编排清单 | 官方文档 |
版本核对:本文写作时(2026-10-28)GitHub 最新 release 即 v2.11.0,与本系列实测部署版本一致,详见 《Baby Buddy 安装部署指南(Ubuntu 22.04 直装实录)》。
二、核心功能全景
Baby Buddy 的数据模型围绕「儿童(Child)」展开,一次登录可管理多个儿童,每个事件记录都关联儿童与时间(UTC 存储、按用户时区显示)。功能全景如下(资源名与 API 端点一一对应,实测 GET /api/ 返回 17 组资源):
- 喂养三通道:母乳亲喂(Feeding 含 method: breast milk/bottom fed 等)、泵奶(Pumping,记录两侧奶量)、配方/辅食(同 Feeding 类型区分);
- 睡眠(Sleep):开始/结束时间自动算时长,支持 Nap 统计与趋势图;
- 换尿布(Diaper Change):湿/干/混合 + 颜色(黑/绿/黄/棕)——儿科医生随访时最有用的字段;
- 成长指标:体重(Weight)、身高(Height)、头围(Head Circumference),内置 WHO 百分位曲线(迁移名
heightpercentile可证),BMI 自动计算; - 健康:体温(Temperature)、服药(Medication,含剂量与间隔)、备注(Notes);
- 俯卧训练(Tummy Time);
- 计时器(Timers):多计时器并行,喂养/睡眠一键启停,结束后可转为事件记录;
- 报表与仪表盘:每儿童独立 dashboard,喂奶间隔、睡眠时长、尿量趋势图表;
- 导入导出:CSV/JSON/YAML 资源级导出导入(django-import-export);
- API:DRF + Token/Session 双认证 + OpenAPI schema,可被第三方 App/Home Assistant 消费;
- 多用户角色:
caregiver(可录入)与read_only(只读)分组,适配祖辈帮带、月嫂多账号场景; - PWA:manifest + 图标齐全,手机「添加到主屏幕」即获得类原生体验(另有社区第三方 iOS 客户端 Baby Buddy iOS App);
- Home Assistant 集成:环境变量一键开启 Bearer token 支持。
界面支持 28 种语言(含简体/繁体中文),语言包实测渲染正常,中文家庭零门槛。
三、技术架构解析
浏览器/PWA ──> Nginx ──> Gunicorn ──> Django 5.2 (Baby Buddy)
│ DRF 3.18 (REST API + OpenAPI)
├─ PostgreSQL / SQLite(默认 SQLite,生产建议 PG)
├─ Whitenoise(静态资源压缩+哈希,无需 CDN)
└─ 数据库缓存(默认无 Redis 依赖)
构建期:Node 24 + gulp 5(dart-sass 编译 SCSS、打包 vendor JS)
架构上值得注意的三个取舍:
- 零外部服务依赖:缓存走数据库表、邮件默认 console、静态走 Whitenoise——单机
apt + pip + migrate三步即可生产可用,这是它比多数「全家桶」自托管应用轻的原因; - 前端重构建:SCSS/JS 需 Node 工具链本地编译(v2.11.0 已迁 dart-sass,兼容 Node 24),官方打包部署形态内置了这一步,直装需自行执行 gulp build;
- Django 生态即扩展面:鉴权(axes 防爆破、反代 SSO)、对象存储(S3/MinIO 存照片)、子路径部署(SUB_PATH)全部通过环境变量开关,无需改码。
架构与参数的逐项实测见 《Baby Buddy 配置参数详解》。
四、量化选型对比:Baby Buddy vs Grocy vs Homebox
三者常被同时放进「自托管家庭记录系统」清单,但定位截然不同。先给结论:Baby Buddy 是三者中唯一为「婴儿照护」这一垂直场景设计的数据模型;Grocy 管家庭「物」的流转,Homebox 管「物」的档案。
4.1 硬指标对比表
| 指标 | Baby Buddy | Grocy | Homebox |
|---|---|---|---|
| 定位 | 婴儿照护事件记录 | 家庭 ERP(库存/采购/家务/保质期) | 家庭物品盘点/资产档案 |
| GitHub Stars | 2.9k | 9.6k | 7.7k |
| 最新版本 | v2.11.0 | v4.7.1 | v0.27.1 |
| 查询日期 | 2026-10-28 | 2026-10-28 | 2026-10-28 |
| 主语言 | Python (Django) | PHP (Laravel) | Go (Gin + Vue) |
| 数据库 | PostgreSQL / SQLite | SQLite(内置)/ PG 可选 | SQLite(内置) |
| 运行时资源 | Python 进程 3 worker,实测常驻 ~120 MB(RSS) | PHP-FPM,峰值更高 | Go 静态二进制,最小 |
| 前端构建 | 需要(Node+gulp) | 需要(Composer+npm) | 不需要(单二进制内嵌) |
| REST API | OpenAPI 3 全量资源 + Token | API 有限(第三方 App 走逆向接口较多) | OpenAPI 完整 |
| 多用户/角色 | ✔ caregiver / read_only 分组 | ✔ 多用户 + 权限 | ✔ 多用户 |
| 垂直数据模型 | 喂养/睡眠/尿布/成长百分位/BMI/服药 | 库存/保质期/ chores/电池/任务 | 物品/位置/标签/保修/文档附件 |
| 移动端 | PWA + 社区 iOS App(Baby Buddy App Store 版) | PWA + 第三方 App | PWA |
| 中文界面 | ✔(28 语言实测可用) | ✔ | ✔ |
数据来源:三项目 GitHub 仓库(stars 与 release 经 shields.io 徽章取证,查询日期 2026-10-28);资源占用为本系列 v2.11.0 真机实测(
systemctl status显示 Gunicorn 4 进程合计 Memory 122.0M)。
4.2 场景决策矩阵
| 你的需求 | 选型 |
|---|---|
| 记录新生儿的喂养/睡眠/成长,图表看趋势,医生随访能拿数据 | Baby Buddy |
| 管冰箱库存、药品保质期、家务轮值、家庭采购清单 | Grocy(这套是它的独门领域) |
| 给全屋物品建档案:什么在哪、保修单在哪、值多少钱 | Homebox |
| 以上全都要 | 三者可共存——数据模型零重叠,一台 Nginx 挂三个子路径即可 |
| 只要「轻」不要 PHP 构建链 | Baby Buddy(Python 直装)或 Homebox(单二进制) |
4.3 Baby Buddy 的不可替代性判断
拿 Grocy 硬记喂养完全可行(自定义活动/ chores),但会失去:WHO 成长百分位曲线、喂养间隔自动统计、换尿布颜色追踪、泵奶分侧奶量、儿童维度的多 caregiver 协作权限。这些字段是儿科随访的真实语言,属 Baby Buddy 的护城河。反过来,Grocy 的条码扫描补货、Homebox 的二维码标签打印,Baby Buddy 一概不碰——垂直深耕换取了模型精度。
五、适用与不适用
适合:
- 0~3 岁家庭,尤其双职工+老人/月嫂协作录入(角色分组为多人录入设计);
- 多宝家庭(一库多儿童,图表独立);
- 已有 Home Assistant 的智能家居玩家(官方支持 Bearer token 集成);
- 想要数据自主权的家庭——BSD-2 许可 + 数据库直连,迁移无锁定。
不适合:
- 儿童超过学龄前:无疫苗接种、学费、年级等模型,3 岁后价值递减;
- 期待「家庭全能套件」:库存、记账、清单请移步 Grocy/Homebox/家庭账本类;
- 无任何运维能力且不接受 PWA:需要一台常开的自托管主机(NAS 亦可)。
六、上手路径
三篇实操文档按依赖顺序排列:
- 《Baby Buddy 安装部署指南(Ubuntu 22.04 直装实录)》——从裸系统到登录页,含五个真实排障现场;
- 《Baby Buddy 配置参数详解》——.env 全参数逐项验证(时区/语言/邮件/S3/防爆破);
- 《Baby Buddy 常用 CLI 命令详解》——46 个 manage.py 子命令、备份恢复双通道、API token 实战。
七、来源与取证说明
- 版本与热度:shields.io GitHub release/stars 徽章(babybuddy/babybuddy、grocy/grocy、sysadminsmedia/homebox),查询日期 2026-10-28;
- 功能清单:官方文档 docs.baby-buddy.net 与仓库源码结构(v2.11.0 tag)交叉核对;
- 技术栈版本:requirements.txt / package.json(v2.11.0);
- 资源占用、API 端点数、语言包行为:本系列部署实测(见 B/C/D 三篇)。