正在自动登录…
← 返回项目列表hujjun/
hujjun/ mcd-saver-strategist
这是一个为麦当劳中国设计的省钱点餐助手,通过拉取菜单和优惠券,用确定性算法计算最优组合,帮助用户以最低价格下单。适用于价格敏感的学生、上班族、减脂人群和家庭用户。
AI 中文解读 · 根据仓库描述与 README 生成 · 2026/10/16 03:06:24 · 查看原文
- 累计 Stars
- 924
- 当前热度
- 未达当前门槛
- 仓库创建时间
选用指南
AI 根据 README 整理 · 2026/10/16 03:06:24
- 适用场景
适用于到店自取和外送场景,支持预算和热量硬约束,可处理多人拼单。
查看 README 依据
把 `skills/mcd-saver-strategist/` 整个目录复制到 WorkBuddy 的用户技能目录: ```bash cp -r skills/mcd-saver-strategist ~/.workbuddy/skills/ ``` (Windows 为 `%USERPROFILE%\.workbuddy\skills\`) 装好后在对话框里直接说「我想吃巨无霸套餐,怎么点最便宜」即可触发。 --- ## 使用示例 **示例 1 · 单人到店** > 用户:我想吃巨无霸 + 薯条 + 可乐,怎么最便宜? 精算师:拉菜单 + 四路券池 → 优化 → 「1+1 随心配 ¥12.9 覆盖巨无霸和中薯条,另外单点可乐 ¥9, 合计 ¥21.90,比直选省 ¥25.10」。 **示例 2 · 预算硬约束** > 用户:30 块钱在麦当劳能吃到什么? 精算师:以 `budget=30` 求解,返回在预算内的最优搭配,并列出各方案到手价与热量。 **示例 3 · 热量约束** > 用户:减脂期,想吃麦当劳,800 大卡以内还要便宜。 精算师:引入 `list-nutrition-foods`,以 `max_calories=800` 求解, 给出低卡又省钱的组合(如板烧鸡腿堡 + 麦咖啡 + 圆筒)。 **示例 4 · 外送**
> 用户:帮我在麦乐送点一份午餐,别超过 40。 精算师:`delivery-query-addresses` → `delivery-query-stores` → 后续流程同上, 下单前用 `calculate-price` 核价(含配送费)。 --- ## 命令行快速体验(无需 Token) 内置样例数据,可离线跑通完整优化流程: ```bash cd skills/mcd-saver-strategist/scripts # 看优化结果(默认到店自取场景) python optimizer.py # 同时输出结构化 JSON python optimizer.py --json # 外送场景:配送费计入总价,且仅外送可用的券参与优化 python optimizer.py --mode delivery --fee 9 # 预算 / 热量硬约束 python optimizer.py --budget 25 python optimizer.py --max-calories 800 # 跑 19 项自测(改逻辑后必跑) python selftest.py ``` --- ## 真实性对照表 | 项目 | 性质 | 说明 | |---|---|---|
- 目标用户
面向价格敏感的学生/上班族、减脂健身人群、家庭/多人拼单用户以及经常用券的羊毛党。
查看 README 依据
├── mcp-tools.md # MCP Tool 清单与字段映射 └── coupon-strategy.md # 5 类券建模与省钱策略 ``` --- ## 目标用户 - **价格敏感的学生 / 上班族**:想吃得划算,但懒得比价、算券。 - **减脂健身人群**:既要控制热量,又不想多花钱。 - **家庭 / 多人拼单**:需要在预算内配齐多人餐。 - **经常用券的"羊毛党"**:手里券多,需要最优组合方案。 --- ## 技术亮点 - **确定性优化,不靠大模型口算**:所有金额由 `optimizer.py` 计算或 MCP 返回。 - **保守的叠加策略**:宁少报优惠,也不给"到店付不出"的假低价。 - **场景感知**:券的 `channel`(到店/外送)过滤 + 外送费计入总价,到店和外送给不同最优解。 - **零依赖**:纯 Python 标准库,WorkBuddy 沙箱可直接运行;在线试算页同样零依赖、单文件。 - **可核验闭环**:下单前用 `calculate-price` 复核,方案 = 实付。 - **19 项自测**:核心逻辑有断言保护,可安全迭代。 --- ## 搜索关键词 <details>
- 使用方式
作为 WorkBuddy 的 Skill 使用,需配置麦当劳 MCP Token;也可通过命令行运行 optimizer.py 离线体验,或使用在线试算页。
查看 README 依据
C --> R[支付链接] ``` --- ## 一句话安装 ```bash git clone https://github.com/hujjun/mcd-saver-strategist.git && cp -r mcd-saver-strategist/skills/mcd-saver-strategist ~/.workbuddy/skills/ ``` (Windows 为 `%USERPROFILE%\.workbuddy\skills\`;MCP Token 配置见下文「安装」。) --- ## 安装 ### 1. 申请麦当劳 MCP Token 前往麦当劳 MCP 开放平台 https://open.mcd.cn/mcp ,手机号登录后在「控制台」激活并复制 Token。 ### 2. 配置 MCP 连接 在 WorkBuddy 左侧边栏【专家·技能·连接器】→【连接器】→ 右上角【自定义连接器】→【配置 MCP】中, 填入 [`mcp-config.example.json`](mcp-config.example.json) 的内容, 并把 `${MCD_MCP_TOKEN}` 替换为你的真实 Token(或用环境变量注入),保存后【启用】。 ### 3. 安装本 Skill
> 用户:帮我在麦乐送点一份午餐,别超过 40。 精算师:`delivery-query-addresses` → `delivery-query-stores` → 后续流程同上, 下单前用 `calculate-price` 核价(含配送费)。 --- ## 命令行快速体验(无需 Token) 内置样例数据,可离线跑通完整优化流程: ```bash cd skills/mcd-saver-strategist/scripts # 看优化结果(默认到店自取场景) python optimizer.py # 同时输出结构化 JSON python optimizer.py --json # 外送场景:配送费计入总价,且仅外送可用的券参与优化 python optimizer.py --mode delivery --fee 9 # 预算 / 热量硬约束 python optimizer.py --budget 25 python optimizer.py --max-calories 800 # 跑 19 项自测(改逻辑后必跑) python selftest.py ``` --- ## 真实性对照表 | 项目 | 性质 | 说明 | |---|---|---|
- 部署要求
需要申请麦当劳 MCP Token 并配置到 WorkBuddy 连接器;命令行体验无需 Token,但需要 Python 环境。
查看 README 依据
C --> R[支付链接] ``` --- ## 一句话安装 ```bash git clone https://github.com/hujjun/mcd-saver-strategist.git && cp -r mcd-saver-strategist/skills/mcd-saver-strategist ~/.workbuddy/skills/ ``` (Windows 为 `%USERPROFILE%\.workbuddy\skills\`;MCP Token 配置见下文「安装」。) --- ## 安装 ### 1. 申请麦当劳 MCP Token 前往麦当劳 MCP 开放平台 https://open.mcd.cn/mcp ,手机号登录后在「控制台」激活并复制 Token。 ### 2. 配置 MCP 连接 在 WorkBuddy 左侧边栏【专家·技能·连接器】→【连接器】→ 右上角【自定义连接器】→【配置 MCP】中, 填入 [`mcp-config.example.json`](mcp-config.example.json) 的内容, 并把 `${MCD_MCP_TOKEN}` 替换为你的真实 Token(或用环境变量注入),保存后【启用】。 ### 3. 安装本 Skill
> 用户:帮我在麦乐送点一份午餐,别超过 40。 精算师:`delivery-query-addresses` → `delivery-query-stores` → 后续流程同上, 下单前用 `calculate-price` 核价(含配送费)。 --- ## 命令行快速体验(无需 Token) 内置样例数据,可离线跑通完整优化流程: ```bash cd skills/mcd-saver-strategist/scripts # 看优化结果(默认到店自取场景) python optimizer.py # 同时输出结构化 JSON python optimizer.py --json # 外送场景:配送费计入总价,且仅外送可用的券参与优化 python optimizer.py --mode delivery --fee 9 # 预算 / 热量硬约束 python optimizer.py --budget 25 python optimizer.py --max-calories 800 # 跑 19 项自测(改逻辑后必跑) python selftest.py ``` --- ## 真实性对照表 | 项目 | 性质 | 说明 | |---|---|---|
- 已知限制
菜单价格和优惠券内容为示例快照,实际以门店实时返回为准;部分门店券仅到店可用;历史订单可能为空。
查看 README 依据
| 优化算法 | ✅ 真实 | `optimizer.py` 与在线试算页为同一套逻辑,结果可用上面命令复现 | | 「省 53%」结论 | ✅ 真实 | 算法在示例数据上算出,非人工编排 | | 券叠加规则 | ✅ 真实 | 保守策略:`stackable:false` 与任何券互斥,保证方案价 ≤ 实付价 | | 菜单价格 / 热量 | 🟡 示例快照 | 结构对齐 MCP 返回,数值为演示用,以门店实时返回为准 | | 优惠券内容 | 🟡 示例快照 | 结构对齐 MCP 四路券池归一化结果,可用性以账号实时状态为准 | | 下单能力 | ✅ 真实 | 经 MCP 核价(`calculate-price`)→ 下单(`create-order`),本仓库页面不涉及下单 | --- ## 实测发现 开发过程中用真实 MCP 联调得到的观察(2026-10,个人账号实测): - **券要四路查全**:`query-my-coupons` 返回的是已入卡包的券;麦麦省的可领券需先 `auto-bind-coupons` 领取才会出现,门店券在 `query-store-coupons`。只查一个来源会漏掉最优组合。
- **券有场景属性**:实测部分门店券仅到店可用。优化器已支持 `channel` 字段(`pickup` / `delivery` / `any`),外送场景自动剔除不可用券,并把配送费计入总价参与预算判断。 - **历史订单可能为空**:`order-list` 在账号无历史订单时返回空列表,依赖它做推荐的功能必须有空态兜底。 - **营养数据可以直接用**:`list-nutrition-foods` 一次返回约 160 款餐品的多维营养数据,热量约束场景无需额外估算。 --- ## 目录结构 ``` . ├── README.md # 本文件 ├── CONTEST_DECLARATION.md # 参赛声明(官方原文,未改动) ├── MCP_INTEGRATION.md # MCP 集成说明:Tool 清单 / 调用流程 / 业务价值 ├── mcp-config.example.json # 脱敏 MCP 配置(仅环境变量占位符) ├── workbuddy.md # WorkBuddy 开发对话上下文 ├── LICENSE # MIT ├── docs/
README
正在加载 README…
收录信息
- 仓库创建时间
- 2026/10/9 11:21:52
- 首次达标收录
- 2026/10/16 03:01:18
- 统计更新时间
- 2026/10/22 19:00:54
按创建时长与累计 Stars 判断等级。首次达标收录后,即使未达当前门槛仍保留;累计 Stars 和仓库状态会定期更新。确认只有 README 及辅助文件的仓库会停止公开。
模型评估
值得看加权总分 4.0 / 5
由 Jev 模型根据仓库描述与 README 评估,2026/10/16 03:01:18 生成。评分仅供参考,不是代码、安全或许可证审查;热度等级另按创建时长与累计 Stars 计算。
仓库信息
- 最近推送
- 2026/10/19 15:58:34
- 许可证标识
- MIT
- Fork 数
- 48
- 当前状态
- 未归档
收录记录
按创建时长与累计 Stars 首次收录:小火
首次发现项目