这个项目能做什么

Stash 是一个自托管的单户家庭库存系统,主要将物品视为带有条形码/二维码标签的对象。它不作为食谱或餐计划工具使用,而是专注于快速补货/消耗流程、低库存和过期追踪、可打印标签以及通过出站网络钩子实现的可选自动化。 核心功能包括: - 在补货(+1)和消耗(−1)模式下持续进行摄像头扫描,支持格式提示、更高分辨率、自动对焦、声音提示、触觉反馈和低光闪光灯切换。未知条码会自动创建新项目并打开快速录入表以设置位置和阈值。 - 统一的物品+条形码模型,支持 UPC/EAN、自发行内部二维码(深度链接到物品)、Matter 配对码和手动序列号。单一打印按钮仅发送所选条形码符号,这在物品携带多个代码时很重要。 - 资产模式用于单个物理设备,包含状态追踪、序列号条形码输入和维护历史记录日志;资产项目不会被纳入购物清单和低库存逻辑。 - 嵌套位置和分类以缩进树状结构显示,支持搜索、过滤、排序、分页,并记住最后使用的过滤器/排序状态。批量操作允许一次性移动或删除选定项目。 - 物品详情包括数量、低库存阈值、过期/保修日期、默认货币价格、内联名称/单位编辑、附件和调整/维护日志。 - 支持收据、手册、保修书和照片等文件附件。任何图像都可以成为物品的代表头像;上传的图像会自动调整大小。 - 仪表板突出显示总库存价值、低库存项目、即将过期项目和最近添加的项目,并提供位置、通知和公共URL的入门检查清单。 - 购物清单基于低库存项目或手动添加的条目构建,支持备忘录和购买勾选框;一旦库存超过其阈值,项目会自动移除。 - 可选的插件式产品查询(Open Food Facts、UPCItemDB、Naver Shopping),每次扫描可启用或完全禁用。 - 支持 CSV 导入/导出,包括条形码值,便于批量录入和电子表格往返处理。 - 标签打印为单个 PNG 或 A4 标签页 PDF,标签选择器中带搜索框;通过捆绑的 Noto Sans KR 子集支持韩文排版。 - 提供网页推送通知,用于过期/保修事件和每周低库存摘要。 - 软删除功能,带撤销提示、恢复和 30 天自动清除。 - 离线友好的 PWA:缓存应用壳、缓存物品响应,以及在连接恢复时同步的离线扫描队列。 - 出站库存网络钩子,用于打印机或 Home Assistant 自动化,最后交付失败信息可在设置中查看,并支持可选的 HMAC-SHA256 签名验证。 - 多用户家庭账户,具有管理员/普通角色、首管理员引导、一次性管理员密码重置、全部登出、备份/恢复功能,以及 ko/en 国际化支持和浅色/深色主题。 不在范围内的功能:食谱/餐计划、单个进程中家庭间的多租户。 部署方式包括 Docker Compose 和一键式 Proxmox LXC 安装程序。本地开发环境使用 PostgreSQL、Prisma 迁移和独立的 API/Web 开发服务器。镜像发布到 GitHub Container Registry,生产笔记涵盖子路径服务、健康检查和密钥管理。