陪你慢慢选,由你做决定。看得懂、改得动、算得清,每一步都由你作主。
无障碍优先 · 真实菜单 · 预算护栏 · 35 项分级路由 · 始终标明“未下单”
Important
这是参加“麦当劳程序员创意开发大赛”的独立参赛作品;麦当劳官方产品与承诺请以官方渠道为准。当前交付是 WorkBuddy 项目级 Skill 与分级读取流程:核心购买路径覆盖查门店、看菜单、比较和核价,账户、优惠、订单、外送、团餐、活动、积分、奖品与营养查询随本人意图开启;状态变更步骤统一引导至官方渠道。作者依法有权授权的原创贡献采用 MIT 许可证开放复用,第三方素材来源见 THIRD_PARTY_NOTICES.md。
一顿普通的饭,也值得被认真对待。
接入个人麦当劳 MCP 后,「慢慢点」把一句家常话变成可修改的点餐草稿:按门店看真实菜单,首屏最多三个候选,预算用整数分核对,未知信息清楚标明,变化之后重新核价。短句、大字友好、读屏文字与“尚未下单”沟通卡,陪老年人、低视力顾客、偏好文字交流的人,以及每一位想从容选择的食客,看懂、改动、停下、再决定。35 项工具按读取与状态变更分级,最后一步始终交给食客本人。
本地核心:66 项单元测试通过 · 仓库:215 项一致性检查通过
用户只要从一句日常话开始:
两个人,三十元以内,想吃夹鸡肉的,希望避开辣味。
「慢慢点」负责把这句话变成可修改的草稿,去查真实门店菜单和价格;吃什么、买多少、是否继续,始终由用户决定。
图片负责把故事讲得更直观;文字与替代文本同步承载同一信息,让读屏用户、搜索引擎和比赛审查都能完整理解。
很多人清楚自己想吃什么,只是屏幕节奏、文字大小、按钮密度、声音交流或手部操作方式各有需求。
我们的目标超越“更快成交”,回到一件很朴素的事:这一顿饭,由我自己说了算。
读屏文字版:中英文两首诗
愿陪这一程,把每一步都放慢,
由你来作主,把真菜单摊开来看。
声音可以化成字,字大路也宽,
手上节奏跟着你,一项一项稳稳选完。
三十元守住三十元,预算清清楚楚算,
每个排除项原样保留,选择由你来判断。
愿每一次“我自己来”,都有耐心作伴,
愿一顿寻常的热饭,入口有味,心里有暖。
Take every step at your own steady pace;
The facts stay clear, your choices keep their place.
Soft-spoken wishes bloom in letters clear;
Larger paths bring every screen more near.
A budget stays a promise, line by line;
Each choice is yours; the final word is thine.
May every simple meal you choose and share
Be served with truth, with dignity, with care.
① 说需求 → ② 看三选 → ③ 守预算并重新核价 → ④ 自己出示沟通卡
展开看两个日常场景
用户只说“两个人、三十元以内、夹鸡肉的、希望避开辣味”。Skill 会逐项保留原话,查询用户选择的门店,最多给三个候选。只有官方详情明确的属性才写“符合”;缺少辣度字段时标为“未知”,所有答案都来自可核验信息。
Skill 可以生成:
【沟通卡|请协助核对|尚未下单】
门店:……(编码:……)
取餐方式:……
我想要:
1. …… × 1(选项:……)
请协助确认并避开:……
优惠:保持原样(当前未选择优惠)
当前核价:¥……
核价时间:……
核对完成后,请把选择交给食客本人。
这张卡由用户自己出示,并始终写明“尚未下单”;门店收银、叫号与后台系统继续保持各自独立。
- 文字较难看清:短句、大字友好、所有图标都有文字。
- 偏好文字交流:全程文字,最后生成沟通卡。
- 手部操作需要从容节奏:一步一问,改一项只动一项。
- 商品名还在熟悉:从“想吃夹鸡肉的”这种日常表达开始。
这里直接询问操作偏好,省略身份分类:怎样操作对你最方便?
读屏文字版:八项原则
- 一轮只问一个主要问题。
- 第一屏最多三个候选,并保留“全部跳过”。
- 排除项、数量和预算属于硬约束。
- 超预算先说明差额,再由用户选择调整方式。
- 辣度、配料和过敏信息缺少官方字段时标为未知。
- 改饮料就只改饮料,其他选择维持原样。
- 核价、下单、付款、可取餐分别表述。
- 用户随时可以停止;退出同样是完整结果。
读屏文字版:35 项能力到底验证到了哪一层
- 2026-10-10 的 WorkBuddy 导出含 35 个唯一工具名、35 份输入 Schema 与 35 个可复算哈希。
- 这次导出专门采集定义,业务调用与状态变更调用均为 0 次。
- 2026-10-09 的历史证据记录了 6 个工具的有限范围真实返回:账户、门店、菜单、餐品详情、门店优惠与核价。
- 取得定义说明我们知道怎样提问;取得真实回执才说明这一次确实办到了。
- 麦当劳公开指南当前列 33 项;运行时另有团餐促销与订单问卷券,并存在两处派对工具命名差异,所以每轮优先采用当前运行时名称。
- 28 项读取、时间与核价能力按用户意图使用;7 项状态变更能力进入
GUIDE_ONLY,由官方渠道承接最终动作。
flowchart LR
A[一句日常话] --> B[可修改草稿]
B --> C{证据三态}
C -->|已确认| D[最多三个候选]
C -->|有冲突| E[说清冲突与最小调整]
C -->|待确认| F[保留未知与核实办法]
D --> G[同篮核价与预算检查]
E --> B
F --> D
G --> H[尚未下单报价卡]
H --> I[食客选择继续 修改 转官方渠道]
仓库现已提供零依赖本地核心:金额统一用整数分,报价身份绑定门店、四类履约画像、商品编码、数量、选项编码、优惠与调用方提供的核价请求摘要;商品、选项和门店同时保存编码与展示名,卡片优先采用本轮核价回执名称。地址标识、优惠标识和稳定摘要留在内部绑定,公开报告只写已绑定状态或数量。稳定约束标识把每条“必须、上限、避开”逐项连到候选证据;测试夹具与真实工具证据各走一条独立通道。同一场景、同一清单、同一核价比较基准、两份当前核价才展示“节省金额”,其余情况逐项展示场景、请求条件、增加、减少与总额差异。
开发者:30 秒运行本地护栏
python -X utf8 -m src.core.cli examples/accessible-order.fixture.json
python -X utf8 -m unittest discover -s tests -v当前结果:66 项 fixture 自动测试通过。测试证明本地决定逻辑在这些用例内成立;真实菜单、价格与供应继续以本轮 MCP 返回为准。输入契约见 决定权护栏说明,四种无障碍回应策略见 无障碍回应模式。
最后核对:2026-10-13(北京时间)。
展开查看完整能力表与证据边界
| 能力 | 当前状态 | 可以诚实地说什么 |
|---|---|---|
| WorkBuddy 项目级运行 Skill | 已提供,结构校验通过 | 位于 .codebuddy/skills/manmandian/SKILL.md;仍需在干净 WorkBuddy 环境复测完整任务 |
| MCP 连接配置 | 已提供示例 | mcp-config.example.json 只放环境变量占位符,真实 Token 仅保存在本机配置 |
| 35 项 MCP 工具定义 | 已采集并交叉校验 | 名称、输入 Schema 与哈希全部对齐;本次采集用于元数据盘点,调用次数为 0 |
| 门店 → 菜单 → 详情 → 优惠查询 → 核价 | 有限范围历史实测 | 证据台账记录了 2026-10-09 的只读调用;本轮 README 修订沿用历史证据,用户账号调用次数为零 |
| 最多三个候选、预算护栏 | 本地核心与 fixture 已通过 66 项测试 | 真实 WorkBuddy 任务与辅助技术仍待复测 |
| “未下单”报价卡与沟通卡 | 本地核心分别生成 | 选中候选、草稿指纹、候选核价、当前报价和硬约束冲突共同控制交接 |
| 决定权护栏 | 已实现零依赖核心 | 覆盖整数分、稳定约束标识、证据隔离、三态约束、报价绑定、同篮比较、读屏候选与 7 项 GUIDE_ONLY |
| 跨入口共享草稿 | 设计完成,未编码 | 目前只维持当前会话上下文,跨设备保存仍待实现 |
| 读屏友好文字 | 本地核心提供编号、数量、已确认、待确认与可说动作 | NVDA、VoiceOver、TalkBack 真实验收列入下一阶段 |
| 大字、键盘与窄屏界面 | 目标已定义,开发与实测待完成 | WCAG 与多设备验收列入下一阶段 |
| 创建订单、取消、付款、退款、取餐码 | 官方渠道承接 | 最终购买回到麦当劳官方渠道 |
| 手语识别 | 研究准备中 | 合法模型、词表与真实共创评估条件齐备后再启用相机 |
| 企业部署、门店后台、批量服务 | 需另行授权 | 当前聚焦流程设计价值,个人 Token 仅服务本人 |
证据与限制:
| 顾客 | 门店员工 | 产品与企业团队 |
|---|---|---|
| 少记商品名,预算、数量和总价更清楚 | 沟通卡把“想要什么”和“还需确认什么”分开 | 看见误解、误触、重复确认与退出恢复发生在哪里 |
| 随时能改、能停,最后自己决定 | 首版采用零后台安装的沟通卡 | 先做匿名、合规、可验证的流程共创 |
Caution
“帮助企业”的当前含义是流程共创与评估设计,个人 Token 仅服务本人。门店试点、批量服务或商业部署必须另获麦当劳书面授权,并完成隐私、安全、无障碍和运营评审。真实研究数据仍待形成,转化率、成本与满意度等效果指标将由后续研究验证。
- 地域:麦当劳 MCP 服务范围为中国大陆地区,港澳台位于该范围外。
- 账号:Token 与个人会员账号强绑定,只放在本人设备的受保护配置中。
- 使用:当前授权限于个人、非商业、正常交互;企业代客、批量、高频与无人值守调用均位于授权范围外。
- 交易:当前交易路径统一回到麦当劳官方渠道;优惠领取、积分与活动权益均由用户主动选择。
展开查看隐私、优惠与未来写操作要求
- Token 仅进入本人设备的受保护连接器配置。
- 请求信息限于完成点餐所需的最小范围,支付密码、身份证号与银行卡号始终由用户保管。
- 查询优惠与领取优惠分开处理;默认执行查询,领取由用户主动选择,餐品保持用户原有需求。
- 第三方 AI 可能误解接口数据,优惠、权益和最终订单状态以官方渠道为准。
- 如果未来开放写操作,必须同时具备:规则允许、用户对本次具体订单明确授权、代码级防重复门禁、完整报价快照、超时后优先查单,以及创建、付款、可取餐、取消、退款的状态分离。
- 真实交易保护需要明确授权、代码门禁与官方回执共同成立。
访问 麦当劳 MCP 开放平台,由本人登录、激活并复制 Token。
进入:专家·技能·连接器 → 连接器 → 自定义连接器 → 配置 MCP。
展开复制连接器配置
{
"mcpServers": {
"mcd-mcp": {
"type": "streamablehttp",
"url": "https://mcp.mcd.cn",
"headers": {
"Authorization": "Bearer YOUR_MCP_TOKEN"
}
}
}
}只在 WorkBuddy 本机配置里替换 YOUR_MCP_TOKEN。仓库中的 mcp-config.example.json 继续使用 ${MCD_MCP_TOKEN} 占位符,真实 Token 始终留在本机。
项目级 Skill 位于:
.codebuddy/skills/manmandian/SKILL.md
可以直接说:
请使用慢慢点帮我看一份麦当劳菜单。先保持只读状态,一轮只问我一个问题。
也可以说:
- 我在上海虹桥附近,两个人,预算 50 元,希望避开冰饮。只查菜单和核价。
- 我偏好文字交流,请全程用短句,最后给我一张写着“未下单”的沟通卡。
- 我用读屏,请少用表格,把商品、数量、价格、未知项和状态逐条写清楚。
技术读者:MCP 工具、报价快照与故障恢复
| Tool | 用途 | 当前策略 |
|---|---|---|
| query-nearby-stores | 查询附近门店 | 用户从真实结果中自己选择 |
| query-meals | 查询当前在售菜单 | 只使用本轮返回 |
| query-meal-detail | 查询组成、换项与特调 | 已知和未知分开,缺失字段标为未知 |
| query-store-coupons | 查看可用优惠 | 默认只查看,领取由用户主动选择 |
| calculate-price | 计算当前草稿总价 | 金额用整数分,修改后重新核价 |
这五项组成日常点餐快线。其余账户、订单、外送、团餐、活动、积分、抽奖、营养与时间能力按用户意图进入对应路线;七项状态变更能力统一进入引导模式。完整 35 项名称、依赖和参数见 工具路由手册。接口 Schema 以当前运行时工具定义与真实返回为准。
一份有效报价必须绑定:
门店 + 四类履约画像 + 商品编码 + 数量 + 套餐选项编码 + 优惠标识 + 调用方核价请求摘要
以上身份字段经过规范化后形成指纹;任一项改变,状态从 VALID 变为 STALE。总价、观察时间和新鲜度保存在指纹旁边:调用方根据本轮回执显式写入 CURRENT / EXPIRED / UNKNOWN,本地核心校验带时区时间、复核先后与状态联动。当前仓库尚在建设真实 MCP 适配器;现有核心只校验调用方摘要格式、绑定与变化关系,真实适配器完成后须从实际发出的完整核价请求计算摘要。
| 情况 | 处理 |
|---|---|
| 401 | 请用户在本地检查 Token,Token 始终留在本机配置 |
| 429 | 停止连续与并发调用,稍后再试 |
| 网络断开 | 标明离线和上次查询时间,重新核价后再继续交易步骤 |
| 菜单变化 | 保留用户意图,重新查询对应商品 |
| 报价过期 | 保留草稿,明确旧报价失效 |
| 创建结果未知 | 当前版本保持只读;未来先查订单,再决定后续动作 |
无障碍、手语与真实评估目标
未来独立界面以 WCAG 2.2 AA 为设计与测试基线。以下内容属于待实现目标,当前状态已在上方看板明确标注:
- 所有非文字内容都有等价文本,颜色与图标同时配有文字状态。
- 全流程可用键盘完成,无键盘陷阱,焦点顺序合理并始终可见。
- 正文对比度至少 4.5:1,大号文字至少 3:1。
- 指针目标至少满足 24×24 CSS px;主要操作建议采用 44×44 CSS px。
- 支持文字放大与窄屏重排。
- 核价完成、报价失效和网络状态变化可被辅助技术读取。
- 拖拽、长按、双击和手势都有普通点击或键盘替代。
- 使用 NVDA、VoiceOver、TalkBack 完成真实任务测试并记录每次结果与改进过程。
手语是一套完整语言。项目将在中国手语使用者共创、合法数据与模型、限定词表、低置信度回退机制和真实评估全部到位后,再开放相机与手语识别。
任何未来识别结果都只作为候选,交易永远由食客决定。
- G0:命名为通用手势快捷操作。
- S1:限定词汇实验,只在词表内给候选,低置信度时回到文字确认。
- S2:连续手语理解属于后续研究。
- 用户是否能说清自己想要的东西。
- 用户能否复述数量与总价。
- 预算、排除项和局部修改是否被严格保留。
- 发生误解后能否只改一项而恢复。
- 用户是否清楚当前状态为“未下单”并能随时停止。
- 使用读屏、键盘、放大或纯文字模式时,完整任务是否成功。
- 员工看沟通卡后还需要补问几次。
- 用户的感受是否突出“我自己完成了”。
指标必须来自取得同意的真实研究;数据范围限于改进任务所需的最少信息,退出被视为用户作出的有效选择。
开发者:项目结构与路线图
MM-helper/
├── README.md
├── CONTEST_DECLARATION.md
├── MCP_INTEGRATION.md
├── mcp-config.example.json
├── workbuddy.md
├── LICENSE
├── .codebuddy/
│ ├── CODEBUDDY.md
│ ├── rules/manmandian.md
│ └── skills/
│ ├── manmandian/
│ │ ├── SKILL.md
│ │ ├── scripts/validate_contracts.py
│ │ └── references/
│ │ ├── mcd-tool-router.md
│ │ ├── mcd-tool-contracts.json
│ │ ├── decision-contract.md
│ │ └── accessible-response-modes.md
│ └── manmandian-builder/
├── src/core/
│ ├── decision_guard.py
│ └── cli.py
├── examples/accessible-order.fixture.json
├── tests/test_decision_guard.py
├── docs/
│ ├── EVIDENCE_LEDGER.jsonl
│ ├── MCP_CAPABILITY_MATRIX.md
│ ├── KNOWN_LIMITATIONS.md
│ └── FILE_MAP.md
└── assets/
├── manmandian-hero-16x9.png
├── manmandian-story-4-panels.png
├── manmandian-accessible-ways.png
├── manmandian-co-design.png
├── manmandian-three-steps.svg
├── manmandian-eight-guardrails.svg
├── manmandian-status-board.svg
├── manmandian-poems.svg
└── manmandian-mcp-35-map.svg
- 核验比赛文件、官方声明、MCP 指南与服务规则。
- 建立运行 Skill、35 工具分级路由、事实分层、证据台账和限制说明。
- 记录有限范围的真实只读链路证据。
- 建立零依赖决定权护栏与命令行演示,66 项 fixture 自动测试通过。
- 完成视觉叙事版 README、四张卡通插画和五张 SVG 信息图。
- 在干净 WorkBuddy 环境复测 Skill 触发与完整只读任务。
- 为当前会话草稿接入真实 MCP 适配层,并保留 fixture / live 证据隔离。
- 实现键盘可达、读屏可读、大字与窄屏界面。
- 用真实辅助技术与真实任务测试,记录每次结果与改进过程。
- 手语与写操作将在条件成熟后进入开放评估。
参赛说明要求源代码或可运行内容。本仓库现有可加载 Skill、命令行演示与 fixture 自动测试;独立可访问界面、真实 WorkBuddy 端到端复测和辅助技术实测属于下一阶段。
参赛前检查、WorkBuddy 上传与 Issue 模板
- 仓库保持 Public,创建时间符合官方窗口。
- README 包含项目介绍、安装、使用示例和目标用户。
- CONTEST_DECLARATION.md 与官方原文逐字一致。
- MCP_INTEGRATION.md 如实说明 Server、Tool、流程和价值。
- mcp-config.example.json 只保留占位符,真实 Token 位于本机配置。
- 本地决定权护栏、命令行演示与 fixture 自动测试已提供。
- 在干净 WorkBuddy 环境完成一次真实只读主流程复测并脱敏留证。
- 若申请 WorkBuddy 专项奖励,将 WorkBuddy 原生导出的真实、完整、脱敏上下文放入 workbuddy.md,并与结构化索引逐项对账。
- 作者确认参赛资格;未满 18 岁者取得父母或法定监护人同意。
- 在 2026-10-25 23:59(北京时间)前按最新模板报名。
- Token、手机号、地址、订单、支付信息与他人个人信息扫描结果为零。
- 已添加标准 MIT 开源许可证;作者署名与第三方权利范围在发布前复核。
先检查:
git status --short
git diff --check
git diff
python -X utf8 .codebuddy/skills/manmandian/scripts/validate_contracts.py
python -X utf8 -m unittest discover -s tests -v
python -X utf8 -m src.core.cli examples/accessible-order.fixture.json请逐个添加本次确认过的文件:
git add README.md MCP_INTEGRATION.md PROJECT_STATUS.md CONTEXT_HANDOFF.md DECISIONS.md
git add LICENSE workbuddy.md THIRD_PARTY_NOTICES.md
git add .codebuddy/skills/manmandian .codebuddy/skills/manmandian-builder .codebuddy/CODEBUDDY.md
git add src tests examples docs requirements.lock.json .gitignore
git add assets/manmandian-mcp-35-map.svg
git diff --cached如果当前就在 main:
git commit -m "docs: update ManManDian skill and evidence"
git pull --rebase origin main
git push origin main如果当前分支类似 workbuddy/main-xxxx:
git commit -m "docs: update ManManDian skill and evidence"
git push -u origin HEAD随后在 GitHub 创建 Pull Request,采用普通合并流程。提交前再次检查官方声明逐字一致,真实 Token 仍在本机,暂存区只包含本次项目文件。
【参赛申请】
项目名称:慢慢点(ManManDian)
项目地址:https://github.com/siyunhao2025-beep/MM-helper
项目简介:一个基于麦当劳中国 MCP 的无障碍自主生活服务 Skill。它动态识别 35 项工具,把点餐核价、账户优惠、订单售后、外送地址、团餐活动、积分商城、抽奖奖品与营养时间分成八条清楚路线;核心点餐流程将自然表达变成可修改草稿,从真实菜单给出最多三个候选并完成官方核价。预算护栏、局部修改、证据分层与“未下单”沟通卡帮助每个人自己作决定;28 项读取与核价能力按本人意图使用,7 项状态变更能力由官方渠道承接最终动作。
- 麦当劳程序员创意开发大赛官方仓库
- 完整活动规则
- 麦当劳中国 MCP Server 官方指南
- 麦当劳 MCP 开放平台
- 麦当劳 MCP 服务规则
- WorkBuddy 项目级 Skills 文档
- WorkBuddy 连接器说明
- WorkBuddy Git 与 Worktree 说明
- W3C Web Content Accessibility Guidelines 2.2
麦当劳、McDonald’s 及相关商标、商品和数据权利归其权利人所有。本项目仅声明独立参赛作品身份,官方背书与授权请以麦当劳渠道为准。
本页四张卡通插画由 OpenAI 图像生成工具为本项目创作;五张 SVG 信息图由项目内确定性绘制,文字可核对。图片定位为概念说明素材;实时菜单、门店实景与效果证据均以对应官方或测试记录为准。视觉资产采用通用包装与虚构人物,详细记录见 THIRD_PARTY_NOTICES.md。
作者依法有权授权的原创贡献采用 MIT 许可证;官方材料、商标、数据与视觉来源另行记录于 THIRD_PARTY_NOTICES.md。
慢一点,让每一步更踏实;把决定权,稳稳交回每个人手里。



