Skip to content

About

No description, website, or topics provided.

Resources

Stars

122 stars

Watchers

0 watching

Forks

Repository files navigation

麦麦同桌 · FairBite

一起吃,每个人都刚刚好。

为 2–6 位同事或朋友做多人点餐协商:共同预算有限、每个人口味不同,也能得到每人一份、预算可核查、理由说得清的麦当劳点餐草案。

这是麦当劳程序员创意开发大赛的独立参赛作品,非麦当劳官方产品。

桌面分餐界面:四人 88 元预算下的 84 元方案,所示餐品与价格为虚构演示

30 秒体验

需要 Node.js 22 或更新版本,无需安装第三方依赖,无需模型 API Key。

npm start

打开 http://127.0.0.1:4173 ,修改成员预算和偏好,点击生成方案。Windows 也可双击 START.cmd 一键启动,保持启动窗口开启,结束时按 Ctrl+C。页面有三种比较策略、复制分餐单、下载 JSON、导入菜单和真实联调样例。页面不会读取 Token。

npm test
npm run demo
node scripts/plan.mjs examples/demo.json --json

为什么需要它

「随便吃什么」往往意味着组局者反复确认预算、口味和价格。FairBite 把这件事拆为可检查的约束:个人预算与共同预算都满足;不吃条件先过滤;在可行方案中先提高最低偏好匹配分,再提高整桌匹配分,最后降低总价。

演示场景:4 人共同预算 88 元。照顾每个人方案为 84 元,最低匹配 75;总价优先方案为 72 元,最低匹配 50。两者的差异可直接比较。以上餐品和价格均为虚构演示,匹配分是规则分。

真实 MCP 已跑通

2026-10-21 20:53:48(北京时间)开始,使用官方 https://mcp.mcd.cn,查询上海黄浦华旭国际大厦餐厅,完成 12 次业务工具调用:时间、门店、菜单、4 份套餐详情、4 次候选计价和 1 次整单计价。

四人方案候选价合计 128.50 元,官方整单 calculate-price 返回 128.50 元,在示例 150 元预算内。没有创建订单、领券、支付或扣积分。

脱敏调用记录见 docs/LIVE_EVIDENCE.json。这是带时间的历史快照,当前价格和可售状态必须重新查询;此测试没有验证过敏信息、配送、优惠券或所有门店。

作为 Skill 使用

将整个仓库作为 mcd-fairbite 文件夹导入支持 SKILL.md 的 Agent 客户端;根目录的 SKILL.md 为入口,保留 src/、scripts/、references/。在宿主客户端连接官方麦当劳 MCP,并使用该客户端支持的环境变量配置方式设置 MCD_MCP_TOKEN。不要把真实 Token 放在仓库或聊天记录中。

示例提示词:

使用 mcd-fairbite。我们 4 人到店自取,共同预算 150 元,每人最多 40 元。甲喜欢牛肉,乙和丁喜欢鸡肉,丙喜欢鱼。地点是上海人民广场,先给出门店选择,再生成照顾每个人的方案并复核整单价格。

配置和完整流程见 MCP_INTEGRATION.md。本项目提供官方 MCP 只读客户端,语义对话由宿主 Agent 执行。

可复现的真实联调

在已设置 MCD_MCP_TOKEN 的终端运行:

node scripts/mcp.mjs discover
node scripts/live-demo.mjs 上海市 人民广场 private/live

脚本使用明确的演示地标、首家营业门店、四份已知套餐名称、4 名虚构搭子和 150 元预算。它是可复现的只读联调脚本,实际用餐由 Skill 引导用户选店。菜单发生变化、默认选配缺失或计价失败时会停止,不生成成功证据。输出目录含查询结果,请脱敏后再公开。

文件

文件 用途
SKILL.md Agent 技能入口
src/planner.mjs 共享的整数分预算规划器
src/mcp.mjs / src/menu.mjs 官方 MCP 传输、套餐与报价适配
index.html / web/ 浏览器交互演示
scripts/ 本地预览、规划、工具发现、真实联调
examples/ 虚构演示与带时间的实测快照
tests/ 预算、公平策略、MCP 传输与计价错误处理测试
docs/SUBMISSION.md 报名文案及发布步骤
docs/DEMO_SCRIPT.md 三分钟演示讲稿
docs/VERIFICATION.md 测试结果、浏览器验证和交付状态

范围

每人一份完整餐,2–6 人,候选 1–12 份,预算最多 2000 元。有限候选集内精确搜索,不宣称全菜单全局最低价。共享拼盘、库存限量、费用分摊和优惠券组合不由本地算法求解。导入菜单不等于已验证数据;整单报价必须重新核查预算。

不吃标签只用于口味筛选。涉及过敏、宗教或医学要求须向官方核实。完整成分未知且存在排除条件时,规划器会拒绝该候选。输出是草案,实时价格与供应以麦当劳官方渠道为准。

项目源码以 MIT 许可证提供。官方声明、服务、商标及官方返回数据的权利不因本项目开源而改变,详见 THIRD_PARTY_NOTICES.md。

About

No description, website, or topics provided.

Resources

Stars

122 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages