AI时代,人人都是程序员-用workbuddy手搓一个Homebox条码录入系统
之前我写过一篇在NAS上安装部署一个家庭资产管理平台的文章,热度还是比较高的,虽然有很多人有不同的看法,但是黑红也是红嘛,我都理解。

这个项目虽然很好,但是它自带的扫条码入库是用不了的。现在中国物品编码中心推出了条码查询服务,却没有API接口服务。包括微信小程序也是无法调用的。
所以Homebox的录入一直是个比较麻烦的问题,特别是一些日用品,专门去打字录入拍图还是挺繁琐的。

最近这半年,Agent算是真正地进入了我们的日常工作学习中,我也是从最先用OpenClaw到Hermes再到Codex,现在主要用的是WorkBuddy。因为WorkBuddy目前来说是最简单易用的,也不需要配置什么环境,而且在电脑上比在服务器上实用得多。之前用WorkBuddy也解决了几个之前没有解决的小问题,比如HA的插件等,于是就想着能不能用WorkBuddy做一个插件来解决扫码录入的问题。

经过一番讨论,WorkBuddy最初给的方案并不实用,Open Food Facts的数据不太全,微信小程序也不好接。
结论
别用纯AI读条码,也别爬gds.org.cn网页。 正确的做法:
条码解码用库(ZXing / ZBar / 浏览器 BarcodeDetector),不靠 AI;
商品查询走数据源 API,优先免费稳定的 Open Food Facts,再用云市场代理的官方 GS1 接口(阿里云/腾讯云,¥5/200 次,本质是同一份中国物品编码中心数据)做兜底,覆盖非食品类国货;
写入 Homebox 走 REST API(当前版是
/api/v1/entities,JWT 鉴权)。
但是WorkBuddy给了一个方法就是云市场的GS1接口。既然可以花小钱来解决这个,那事情就好办了。让WorkBuddy直接给我购买地址。
找到几个选项,给你直接购买地址:
推荐方案
1. 腾讯云市场 - 商品条码查询专业版(最便宜入门)
价格: ¥5 / 400次(1年有效)
数据源: 接入中国物品编码中心系统
返回: 名称、品牌、商标、规格、尺寸、重量、厂家、图片等
调用格式:
GEThttps://ap-guangzhou.cloudmarket-apigw.com/service-8lp6ruw0/getBarcode?Code=条码
2. 腾讯云 OCR - 条码信息查询(腾讯官方产品)
价格: ¥50 / 1000次(约0.05元/次)
地址: 腾讯云控制台 → 文字识别 OCR → 智能扫码 → 条码信息查询
优势: 腾讯官方直联中国物品编码中心,最权威
调用:
POST ocr.tencentcloudapi.com Action=QueryBarCode
3. 阿里云市场也有同类
地址: https://market.aliyun.com 搜「商品条码查询」
价格: 类似 ¥5/200次

最后我买的是腾讯云里的服务。
https://market.cloud.tencent.com/products/20577 价格实际是5元/400次

有了数据获取的方案之后,就按这个方法要WorkBuddy帮我们生成项目就可以了。因为我是编程小白,所以每次项目还是蛮耗费时间的,基本上每次改动,UI的调整都要WorkBuddy去完成。即使这样,差不多一天时间也就完成了初步的功能开发。后面花了几天时间修改了一些细节,比如增加本地缓存数据,节省查询费用等。
下面正式介绍下这个新的项目barcode2homebox

受HomeBox-Companion这个项目的启发,采取和Homebox共用登录信息的方式。登录后就是主界面。分别是条码识别和AI图片识别。右上角有一个设置按钮,是设置相关API的。

设置页面有两个重要的设置,一个是商品数据源的信息。我是购买的腾讯云的服务,好像阿里云有更多服务,我没有测试。但是我看了下,阿里云好像有些服务有免费额度用于试用,有兴趣的小伙伴可以试试。填写相关信息后,记得测试一下,连接正常后保存。另外一个是AI识别的API信息,我用的是硅基流动的API,模型用的Qwen/Qwen3-VL-32B-Instruct这种多模态模型,可以识别图片的模型。同样也是测试连接正常后保存。

设置好后,我们回到主页面开始使用,找一个商品来测试下。点击开始扫码,摄像头对准条码,很快就识别出条码数字了,后台开始自动查询,大概1秒就出结果了。可以看到数据来源是gs1-china这个服务。

扫码识别出来后,可以直接入库,支持入库数量和入库位置。另外我前面也介绍了,我在项目里增加了数据缓存的功能,扫码后会先匹配本地数据,这样可以节约查询调用费用。如上图,这次来源有一个缓存命中,也就是用的本地缓存数据。

对于某些商品,比如一些进口保健品药类,条码库里是没有的,这个时候会提示你用AI识别图片。

点击提示的文字或直接切换到AI图片识别页面都可以,选择拍照或者图库照片,选取后,识别图片就可以了。AI图片识别会稍微慢点,识别出后也可以直接入库。

这几天边试用边开发,体验还是非常不错的,如果条码商品库里有图片的商品,图片也会同步去homebox。另外这个条码库的信息还是非常全的,一些进口酒类,保健品也都可以扫出来,日用品更是不在话下。

我把这个项目发布在github了,项目名叫barcode2homebox。部署方式推荐用dockepose的方式。
以绿联的NAS为例
services:
barcode2homebox:
image: ghcr.io/kiwiwiki007/barcode2homebox:latest
container_name: barcode2homebox
restart: always
pull_policy: always # 强制每次 up 都拉取最新 latest,避免本地旧镜像不更新
environment:
- HOMEBOX_URL=https://homebox.example.com:666 # 填写个人homebox的地址
- APP_SECRET=change-me-to-a-random-32byte-hex
- HOMEBOX_LOCATION_ID=
- HOMEBOX_TIMEOUT=30
- GS1_API_URL=http://ap-guangzhou.cloudmarket-apigw.com/service-8lp6ruw0/getBarcode
- GS1_SECRET_ID=
- GS1_SECRET_KEY=
- VISION_API_URL=
- VISION_API_KEY=
- VISION_MODEL=gpt-4o-mini
ports:
- 8000:8000
volumes:
- ./data:/app/data
说明一下,HomeBox的域名建议在docker compose里填写好。其他的可以后续在设置页面填写。更多细节,AI写的开发说明我看了还是非常详细的,有什么疑惑还原留言讨论。
最后再次感慨下,现在AI是真的能帮我们干活了,对于我这种编程小白,但是又有很多软件需求的人来说,AI真的是太好用了。
