Bar Assistant 介绍与选型指南
Bar Assistant(Laravel API-first 鸡尾酒配方与家庭吧台管理系统)选型认知:v6.10.1 版本与项目健康度实查、功能全景、与 Mealie/官方 SaaS/停更同类的量化对比、适用场景与系列上手路径。
Bar Assistant 介绍与选型指南
本文是 Bar Assistant 系列第一篇,只做联网溯源与选型分析(查询日期 2026-11-01,来源在文中标注),部署与配置实操见系列后续篇目。
一、Bar Assistant 是什么
Bar Assistant 是一款开源的鸡尾酒配方管理与家庭吧台(home bar)管理系统,由开发者 karlomikus 维护,官方仓库 github.com/karlomikus/bar-assistant,官网 barassistant.app,文档站 docs.barassistant.app(以上均于 2026-11-01 实查)。
按官方 README 的原话定位:「Bar Assistant is all-in-one solution for managing your home bar. Compared to other recipe management software that usually tries to be more for general use, Bar Assistant is made specifically for managing cocktail recipes.」——即与通用食谱管理软件不同,它是专为鸡尾酒设计的配方管理方案,内置原料替代、ABV(酒精度)计算、计量单位切换等鸡尾酒专属能力。
两个关键认知纠偏(选型前必须建立):
- API-first 架构:
karlomikus/bar-assistant仓库只包含 API 服务端;官方 Web 界面是独立项目 Salt Rim(github.com/karlomikus/vue-salt-rim,Vue 实现,独立发布镜像ghcr.io/karlomikus/salt-rim)。API 层是完整自足的产品面——109 个路径、40 个 tag 域的 OpenAPI 3.1 规范可直接驱动脚本与第三方集成,官方演示站甚至直接提供 API demo(README 链接 demo.barassistant.app/bar/docs)。 - 技术栈常被误传:网上部分自托管清单把它写成 Python/Flask 或 MongoDB 应用,这与事实不符。实查官方仓库与文档:服务端是 PHP 8.4 + Laravel 12 应用,数据库默认 SQLite(官方支持 MySQL/PostgreSQL 可切换),缓存与会话走 Redis,全文搜索用 Meilisearch(2026-11-01 实查 README 与 .env.example)。
二、版本与项目健康度(2026-11-01 实查)
| 指标 | 数值 | 取证来源 |
|---|---|---|
| 最新稳定版 | v6.10.1(2026-10-29 发布) | GitHub Releases atom(releases.atom) |
| 近三周发布节奏 | v6.10.1(10-29)、v6.10.0(10-27)、v6.9.1(10-21)、v6.9.0(10-15) | 同上 |
| GitHub Star | 1.1k | shields.io 徽章 img.shields.io/github/stars/karlomikus/bar-assistant |
| 年提交活跃度 | 311 commits/year | shields.io commit-activity/y 徽章 |
| 许可证 | MIT | README License 节 |
| 前端 Salt Rim 版本 | 5.9.0(独立镜像 tag) | GHCR 包页 |
| 官方数据包 | 500+ 鸡尾酒配方、250+ 基础原料(bar-assistant/data 仓库) | README Features 首条 |
发布节奏(三周一小版本、周级补丁)与年 311 次提交说明项目处于高度活跃维护期,这在自托管小众应用里属于第一梯队健康度。
三、功能全景(README Features 逐条核实,2026-11-01)
配方与原料域
- 官方数据包内置 500+ 鸡尾酒配方与 250+ 带分类的基础原料,支持一键同步导入
- 配方字段覆盖:用量与多单位(ml/oz/cl 实时换算)、ABV 自动计算、酒精度/容量/酒精单位/卡路里派生值、装饰物、来源出处、年份、作者、变体(variations)
- 原料替代(substitutes)、原料强度(strength)参与 ABV 计算;杯型、器具、标签、原料分类为一等公民
- 通过 URL / JSON / YAML / 自定义集合导入配方(网页抓取第三方配方站)
吧台与库存域
- 多吧台(bars)与吧台成员管理,成员角色细粒度控制
- 库存(inventory)登记:按原料记存量,
bar_shelf机制自动判定「有货可做」的鸡尾酒 - 基于库存缺料的购物清单(shopping list)生成
- 原料价格登记与鸡尾酒自动成本核算
检索与推荐域
- Meilisearch 自动索引,支持按 ABV 区间、主料、标签、作者、原料有无等 30+ 维度过滤
- 基于收藏与标签的配方推荐;库存补货推荐(recommend 端点)
协作与分享域
- 配方公开链接分享、公共吧台菜单(public bar menus)、打印支持
- 用户专属收藏集(collections)、配方与原料笔记、评分(ratings)
集成与运维域
- 用户自助签发细粒度权限 API 令牌(cocktails.read/write、ingredients.read/write、bars.read/write、menu.read/write)
- SSO 单点登录支持;邮件确认/密码重置;Prometheus
/metrics端点;AI 生成图片与配方助手(可选,经 Laravel AI SDK 接 OpenAI/Anthropic/Ollama 等)
四、量化选型对比
自托管「鸡尾酒/吧台管理」赛道竞品极少,对比取三类参照物(星数均 shields.io 徽章 2026-11-01 实查):
| 维度 | Bar Assistant v6.10.1 | Mealie 2.x | 官方托管 barassistant.app | 早期开源(如 open-source-cocktail) |
|---|---|---|---|---|
| GitHub Star | 1.1k | 14k | —(SaaS) | 仓库已不存在(shields.io 返回 repo not found) |
| 领域定位 | 鸡尾酒/吧台专用 | 通用食谱管理 | 同 Bar Assistant(SaaS) | 鸡尾酒,已停更 |
| 技术栈 | PHP 8.4 + Laravel 12 + SQLite + Redis + Meilisearch | Python FastAPI + SQLite/PostgreSQL | 官方运维 | 多为 Python 单体 |
| 库存/有货可做 | ✅ 核心功能 | ❌ 无 | ✅ | ❌ |
| ABV/成本/卡路里计算 | ✅ 自动 | ❌ | ✅ | 部分 |
| 购物清单 | ✅ 缺料生成 | ❌ | ✅ | ❌ |
| 多用户多吧台 | ✅ 成员+角色 | ✅ 家庭组 | ✅ | ❌ |
| API-first / 令牌权限 | ✅ 细粒度 abilities | ✅ 但粗粒度 | ✅ | ❌ |
| 数据导入路径 | URL 抓取/JSON/YAML/datapack | URL/JSON | 同左 | 手工 |
| 部署组件数 | 4(API+前端+Redis+Meilisearch) | 1-2 | 0 | 1 |
| 维护活跃度 | 311 commits/年,周级发版 | 极高 | 官方持续 | 死亡 |
结论性判断:
- 赛道内没有活着的同类:专门做「吧台库存 + 有货可做 + 购物清单」的开源项目,目前只有 Bar Assistant 一家处于活跃维护;早期同类仓库已消失(repo not found 实测)。
- 与 Mealie 不构成直接竞争:Mealie 星数高一个数量级,但它是通用食谱系统,没有原料强度/ABV/库存联动概念。家里既有烘焙又有调酒,可以两个都上;只解决「今晚能调什么酒」问题,选 Bar Assistant。
- 代价是组件数:完整体验需要 API、前端、Redis、Meilisearch 四个服务,比单二进制方案重;但 SQLite 默认库省掉了一个数据库服务,磁盘占用小(数据包 zip 约 46 MB 量级)。
五、适用与不适用场景
适合:
- 家庭吧台爱好者:导入 500+ 官方配方,登记库存后直接回答「我现在的酒柜能做哪些鸡尾酒、缺什么该买什么」
- 小型酒吧/私房吧台:多吧台 + 成员角色 + 公共菜单 + 成本核算,可当轻量营业辅助
- API 玩家/HomeLab:API-first 设计 + 令牌 abilities,脚本化查配方、联动智能家居(「今晚推荐什么」自动化)非常顺
- 需要数据自主:MIT、SQLite 单文件、datapack 导出可整库迁移
不适合:
- 只要一个单文件轻量清单工具(用静态页或笔记即可,Bar Assistant 四服务偏重)
- 通用食谱/烘焙管理(选 Mealie)
- 无法接受 PHP/Laravel 栈、希望纯 Python 或 Go 栈的团队
六、上手路径
系列篇目按认知 → 部署 → 配置 → 运维排开:
- 本文(选型认知)
- 《Bar Assistant Docker Compose 部署指南》——四服务栈从零落地
- 《Bar Assistant 6.10.1 配置参数详解》——.env 与配置项逐项拆解
- 《Bar Assistant 6.10.1 常用 CLI/API 命令详解》——运维命令与 API 实操
七、信息来源(查询日期 2026-11-01)
- 官方仓库 README 与 .env.example:github.com/karlomikus/bar-assistant
- Releases atom:github.com/karlomikus/bar-assistant/releases(v6.10.1,2026-10-29)
- 星数/活跃度徽章:img.shields.io/github/stars 与 commit-activity/y
- 前端仓库:github.com/karlomikus/vue-salt-rim(Salt Rim 5.9.0)
- 官方文档:docs.barassistant.app;官方数据包:github.com/bar-assistant/data
- 演示实例:demo.barassistant.app(README 链接)