Baby Buddy 介绍与选型指南

Baby Buddy v2.11.0 介绍与选型指南:项目画像、功能全景、技术架构,与 Grocy、Homebox 的量化选型对比(热度/版本/技术栈/许可/场景),附决策建议与来源标注。

Baby BuddyBaby BuddyUbuntu22.04Python 编程2026/10/28

Baby Buddy 介绍与选型指南

‍‍​​‌​## 一、项目画像

Baby Buddy 是一个面向婴儿照护的开源记录系统:把喂奶、换尿布、睡眠、成长指标等日常照护事件结构化入库,让新手父母用数据回答「今天吃了多少、睡了多久、上次大便是什么颜色」这类高频问题。项目由 Chris Case(虚拟主机从业者,自述「养娃后缺工具所以自己写」)于 2016 年启动,社区维护至今。

维度事实来源
仓库github.com/babybuddy/babybuddyGitHub
最新稳定版v2.11.0GitHub Releases 徽章(查询日期 2026-10-28)
GitHub Stars2.9kshields.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)

架构上值得注意的三个取舍:

  1. 零外部服务依赖:缓存走数据库表、邮件默认 console、静态走 Whitenoise——单机 apt + pip + migrate 三步即可生产可用,这是它比多数「全家桶」自托管应用轻的原因;
  2. 前端重构建:SCSS/JS 需 Node 工具链本地编译(v2.11.0 已迁 dart-sass,兼容 Node 24),官方打包部署形态内置了这一步,直装需自行执行 gulp build;
  3. Django 生态即扩展面:鉴权(axes 防爆破、反代 SSO)、对象存储(S3/MinIO 存照片)、子路径部署(SUB_PATH)全部通过环境变量开关,无需改码。

架构与参数的逐项实测见 《Baby Buddy 配置参数详解》。

四、量化选型对比:Baby Buddy vs Grocy vs Homebox

三者常被同时放进「自托管家庭记录系统」清单,但定位截然不同。先给结论:Baby Buddy 是三者中唯一为「婴儿照护」这一垂直场景设计的数据模型;Grocy 管家庭「物」的流转,Homebox 管「物」的档案。

4.1 硬指标对比表

指标Baby BuddyGrocyHomebox
定位婴儿照护事件记录家庭 ERP(库存/采购/家务/保质期)家庭物品盘点/资产档案
GitHub Stars2.9k9.6k7.7k
最新版本v2.11.0v4.7.1v0.27.1
查询日期2026-10-282026-10-282026-10-28
主语言Python (Django)PHP (Laravel)Go (Gin + Vue)
数据库PostgreSQL / SQLiteSQLite(内置)/ PG 可选SQLite(内置)
运行时资源Python 进程 3 worker,实测常驻 ~120 MB(RSS)PHP-FPM,峰值更高Go 静态二进制,最小
前端构建需要(Node+gulp)需要(Composer+npm)不需要(单二进制内嵌)
REST APIOpenAPI 3 全量资源 + TokenAPI 有限(第三方 App 走逆向接口较多)OpenAPI 完整
多用户/角色✔ caregiver / read_only 分组✔ 多用户 + 权限✔ 多用户
垂直数据模型喂养/睡眠/尿布/成长百分位/BMI/服药库存/保质期/ chores/电池/任务物品/位置/标签/保修/文档附件
移动端PWA + 社区 iOS App(Baby Buddy App Store 版)PWA + 第三方 AppPWA
中文界面✔(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 亦可)。

六、上手路径

三篇实操文档按依赖顺序排列:

  1. 《Baby Buddy 安装部署指南(Ubuntu 22.04 直装实录)》——从裸系统到登录页,含五个真实排障现场;
  2. 《Baby Buddy 配置参数详解》——.env 全参数逐项验证(时区/语言/邮件/S3/防爆破);
  3. 《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 三篇)。