下面这个试算器把仓库里的 optimizer.py 完整复刻到了浏览器端,无需登录、无需 Token,打开就能玩。
优惠券叠加是典型的「组合爆炸」——几十项菜单 × 十几张券 × 各不相同的叠加规则,口算不可靠。所以我们把职责拆开:
通过麦当劳 MCP 拉取门店菜单、餐品详情、营养数据,以及四路券池:麦麦省可领券、我的券、门店券、外送券。
optimizer.py 把券抽象成 5 类(单品改价 / 折扣 / 满减 / 组合价 / 赠品),在菜篮 × 券空间里带剪枝穷举,输出总价最低的 Top-N。
Agent 理解需求、讲解方案、说明为什么这么点;确认后用 calculate-price 核价、create-order 完成下单闭环。
哪些是真的、哪些是示意,一目了然。
| 项目 | 性质 | 说明 |
|---|---|---|
| 优化算法 | ✅ 真实 | 本页试算器与仓库 scripts/optimizer.py 为同一套逻辑的前端复刻,结果可由 python optimizer.py 复现。 |
| 「省 53%」结论 | ✅ 真实 | 由算法在示例数据上算出:直选 ¥47.00 → 最优 ¥21.90,非人工编排的数字。 |
| 券叠加 / 互斥规则 | ✅ 真实 | 采用保守策略:stackable:false 的券与任何券互斥;宁可少报优惠,也保证方案价 ≤ 实付价。 |
| 菜单价格 / 热量 | 🟡 示例快照 | 结构对齐 MCP query-meals / list-nutrition-foods 返回,数值为演示用,实际以门店实时返回为准。 |
| 优惠券内容 | 🟡 示例快照 | 结构对齐 MCP 四路券池归一化结果,具体券的可用性、门槛以你的账号实时状态为准。 |
| 下单能力 | ✅ 真实 | Skill 可经 MCP 真实下单(核价 → 创建订单 → 支付链接);本页只做价格试算,不涉及下单。 |
把这个 Skill 装进 WorkBuddy,配好麦当劳 MCP,就能直接在对话里用。
mcp-config.example.json 的内容${MCD_MCP_TOKEN} 换成你的真实 Token 并【启用】大模型口算价格、折扣、叠加规则并不可靠,容易出现"看着便宜、到店付不出"的假低价。本项目把金额计算全部交给确定性算法或被 MCP 返回的实价,Agent 只负责理解需求和讲解方案。
采用保守策略:标记为不可叠加的券与任何券互斥;两张普通满减/赠品券才允许共存。宁可少报优惠,也保证给出的方案价不会高于实际应付价。
本页试算器用内置示例数据,不需要登录。真正在 WorkBuddy 里使用 Skill 时,才需要你自己的麦当劳 MCP Token 来拉取你的券和门店信息。
可以。Agent 确认方案后,会先用 calculate-price 复核价格,再调用 create-order 创建订单并返回支付链接。
当总价相同时,会优先展示热量更低的方案(排序键为「总价 → 热量」),让同等花费下更健康的选择排前面。