Go · 项目报告

ivorpad/mercadona-cli

该仓库暂未提供 GitHub 项目描述。

已完成 打开 GitHub
I
292星标
26Fork
0Issue
未知许可证

分析结果

项目分析

mercadona-cli 是一个用 Go 编写的非官方 Mercadona 在线超市命令行工具,面向脚本、自动化 Agent 和开发者使用。它可以匿名搜索商品、查询价格、读取分类、批量匹配购物清单,也可以通过导入浏览器 HAR/cURL 会话实现登录后购物车管理、配送时段查询和下单。项目强调单个静态二进制文件、无运行时依赖、支持 JSON 输出,适合做价格监控、购物清单自动化和 AI Agent 工具调用。

适用领域 电商自动化 / 命令行工具 / 超市商品搜索 / 价格监控 / 购物车自动化 / AI Agent 工具集成 / 个人消费分析 / Go CLI
配置难度 中等。匿名搜索和价格查询安装后即可使用,难度较低;但登录、HAR 导入、refresh token 管理、购物车和下单自动化涉及浏览器 DevTools、凭据安全、仓库匹配和预算控制,对非技术用户有一定门槛。
商业价值 对个人用户和开发者的实用价值较高,尤其适合在西班牙做家庭购物预算、价格追踪、单位价格比较、购物清单自动化和 AI Agent 购物流程验证。对商业场景可用于消费数据分析、价格监控原型或自动化助手演示,但由于非官方 API、无明确许可证和潜在服务条款风险,不适合作为高稳定性生产级商业服务的核心依赖。
01

技术亮点

  • 单个 Go 静态二进制文件,无运行时依赖,便于部署到脚本、服务器或 Agent 环境
  • 支持 --json 结构化输出,适合程序调用和 AI Agent 集成
  • 匿名模式即可搜索商品、读取分类、查询商品详情和价格
  • batch 命令可将多个搜索词合并为一次请求,适合处理自然语言购物清单
  • 支持按邮编解析仓库,解决同城不同仓库价格和商品 ID 差异问题
  • 支持 import-har 提取 refresh token,实现长期 headless 续期
  • 购物车写入支持 cart set-many,可一次性设置多个商品数量
  • 内置预算保护 --max / MERCADONA_MAX_EUR,防止 Agent 或脚本误下高额订单
  • checkout submit 需要 --yes,并且在设置预算上限时采用 fail-closed 策略,安全性较好
  • stdout 输出数据、stderr 输出日志/错误、错误退出码为 1,符合 Unix 脚本习惯
02

目标用户

  • 在西班牙使用 Mercadona 在线超市的个人用户
  • 希望自动化购物清单和比价的开发者
  • 构建 AI 购物助手或消费分析 Agent 的开发者
  • 需要抓取或分析自有购物价格数据的数据分析人员
  • 熟悉 CLI、脚本和 JSON 管道的高级用户
03

配置要求

  • 匿名读取商品、分类、价格不需要登录
  • 建议先运行 mercadona set-postal <postal_code> 设置邮编,以自动解析并保存正确 warehouse
  • 默认配置文件路径为 ~/.mercadona/config.toml
  • 仓库选择优先级:--wh 参数 > config.toml 中的 defaults.warehouse > 内置 mad1
  • 登录推荐方式是浏览器登录 Mercadona 后导出 HAR 文件,然后执行 mercadona import-har --file tienda.mercadona.es.har
  • HAR 导入会提取 refresh_token,并写入 ~/.mercadona/config.toml,文件权限为 0600
  • 也可以手动设置 refresh token:mercadona set-refresh <token>
  • 一次性会话可通过 mercadona import-curl --file s.txt 从 DevTools 的 Copy as cURL 中导入 Bearer token、cookie 和 customer id
  • 支持环境变量:MERCADONA_TOKEN、MERCADONA_COOKIE、MERCADONA_CUSTOMER、MERCADONA_USER、MERCADONA_PASS
  • 可通过 MERCADONA_MAX_EUR 或 config.toml 的 [limits].max_eur 设置消费上限
  • 购物车和下单功能需要有效 Mercadona 账号、配送地址、正确仓库和可用配送时段
04

适用场景

  • 根据关键词搜索 Mercadona 商品并获取价格、商品 ID、单位价格等信息
  • 批量读取购物清单并匹配商品,快速估算整篮价格
  • 按分类拉取商品并按 €/kg 或 €/L 排序,寻找更划算的商品
  • 查询商品详情、营养信息和价格信息
  • 设置邮编以匹配正确仓库,获得本地实际价格和商品 ID
  • 导入浏览器 HAR 或 cURL 会话后管理购物车
  • 自动添加、设置、清空购物车商品
  • 查询配送地址和配送时段
  • 在预算上限保护下自动创建并提交订单
  • 为 AI Agent 提供结构化 JSON 输出,作为自动购物或价格分析工具
05

部署与配置

  • 方式一:通过 npm 全局安装:npm install -g @ivorpad/mercadona
  • 也可以不安装直接运行:npx @ivorpad/mercadona search queso
  • 方式二:macOS/Linux 使用安装脚本:curl -fsSL https://raw.githubusercontent.com/ivorpad/mercadona-cli/main/install.sh | sh
  • 可通过 MERCADONA_VERSION=v0.1.0 固定版本,或通过 MERCADONA_INSTALL_DIR=/path 指定安装目录
  • 方式三:从 GitHub Releases 下载对应 OS/架构的 tarball,解压后将 mercadona 放入 PATH
  • 方式四:从源码构建,需要 Go 1.26+:go build -o mercadona ./cmd/mercadona
  • 安装完成后可执行 mercadona search queso 验证 CLI 是否可用
06

风险与注意事项

  • 这是非官方工具,Mercadona 没有公开 API,接口随时可能变化导致功能失效
  • 登录和下单依赖网站内部 HTTP endpoint,存在账号风控、验证码、限流或封禁风险
  • HAR 文件和 refresh token 属于高敏感凭据,泄露后可能导致账号被他人操作
  • 工具可以真实提交订单,自动化使用时必须谨慎设置预算上限和确认流程
  • refresh token 被描述为可长期 headless 续期,安全管理要求较高
  • README 提到 login 命令因 reCAPTCHA Enterprise 通常不可直接使用,实际认证流程对普通用户有一定门槛
  • 项目 license 字段为空,商用或二次分发前需要确认授权条款
  • 仅适用于 Mercadona 西班牙线上服务,对其他国家、其他超市或非配送地区无直接价值
  • 使用非官方接口可能违反目标网站服务条款,需要使用者自行评估合规性
  • Go from source 要求 README 写的是 Go 1.26+,该版本要求可能不常见或存在兼容性疑问

历史记录

热榜历史快照

2026-07-03 第26名 新收录 · github_search
2026-07-02 第24名 新收录 · github_search
2026-07-01 第30名 新收录 · github_search
2026-06-30 第30名 新收录 · github_search