mcd-1024-skill

mcp
Guvenlik Denetimi
Uyari
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 6 GitHub stars
Code Gecti
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

麦麦饱饱盘:官方套餐核价、圆盘选餐、DeepSeek 双 Agent 个性推荐与用餐热力图|麦当劳创意开发大赛参赛作品(非官方)

README.md

麦麦饱饱盘 · mcd-1024-skill

饭点选套餐:预算多少、前两天的主食要不要再吃?先比较完整套餐的优惠价,再让圆盘揭晓这一餐。AI 饭搭子用明确口味记忆、当地天气与节令挑选;麦当劳雷达用历史订单点亮用餐热力图。

参赛者独立开发,非麦当劳官方产品。2.3.0 · 无业务后端的浏览器扩展,附带无需 Token 的静态体验页。

直接体验历史样本 · 下载 2.3.0 扩展 · 安装与更新 · WorkBuddy 实际开发记录

活动申请已提交至 官方 Issue #398,报名结果以官方回复为准。发布验证见 验证记录。

适合午餐选择困难、想在预算内吃完整套餐、或需要一起选餐的 1–4 人。无需 AI key 就能体验圆盘和示例热力图;实时选餐使用自己的麦当劳 Token,AI 饭搭子另用自己的 DeepSeek API key。

例如:1 人、人均 30 元,勾选前两天吃过的主食 → 官方核价 → 转盘揭晓,或请饭搭子按口味与天气挑选。喜欢的组合可以主动记住,下次推荐会参考这些反馈。

下载后怎么用

  1. 从 GitHub Release 下载扩展 ZIP,解压得到 mcd-wheel-extension 文件夹。
  2. Chrome 打开 chrome://extensions,或 Edge 打开 edge://extensions;开启开发者模式,选择“加载已解压的扩展程序”,选中该文件夹。
  3. 点击扩展图标 → “连接我的账号” → 填写自己的 麦当劳 MCP Token,选择营业中的门店,开始核价。
  4. 顶部“AI 搭子与记忆”可配置 DeepSeek key、风格、Agent 和 prompt;两种 key 都能分别选择在本机长期保存。

这是 GitHub 下载发布,扩展尚未上架 Chrome / Edge 商店。在线体验页只展示历史样本与虚构雷达,不接收真实凭证;实时 MCP 与 DeepSeek 功能在扩展中使用。

现在能做什么

  • 默认 1 人、7 分、人均 30 元,支持 1–4 人。每个人都有主餐,显示整顿上限、完整内容、总价和人均价。
  • 套餐优先:随心配、三件套餐、分享餐与多份完整套餐;前两天吃过的主食可以手动勾选,或从雷达读取后主动加入避开项,本页记住。
  • 麦当劳雷达:全年 / 近 12 周热力图、年份切换、日期餐单和常点餐品;只计已完成或已评价订单。接口没有分页参数,未返回的日期标为未知,不等于没吃过。
  • 扩展直接连接麦当劳。用户可自行勾选“在这个浏览器长期记住凭证”,将 Token 和上次门店保存在本机扩展中,刷新或重开自动连接;不进入开发者服务器、日志或浏览器同步。
  • 输入城市和地址 / 地标查找附近门店,或主动读取、选择麦当劳已保存的地址作为搜索位置;展示官方营业状态和时段,可随时换店。恢复上次门店前会向官方重新确认营业情况。
  • DeepSeek V4.1 Flash:推荐 Agent、优化 Agent 或最多两轮协作;可编辑口味与两个 prompt,选择温柔 / 节省 / 惊喜的搭子风格、偏好 / 省钱 / 换口味目标。key 与麦当劳凭证独立,长期保存默认关闭,刷新不自动请求 AI。
  • 明确喜欢 / 少推荐反馈可选择本机长期记忆,支持查看、忘掉和清空,旧偏好逐渐减弱;城市天气、月份和已核验的 2026 年节假日 / 调休进入推荐。AI 只选已核价候选 ID,卡片价格与餐品来自原报告;无 key 时仍可用本地偏好推荐。见 AI 饭搭子说明。
  • 先查可领券、持有券、门店适用范围和活动日历,再比较各餐单的官方整单报价,最后按预算入盘。
  • “领取全部可领券”有明确确认窗口;官方一次领取全部,无法指定单张。领取后重新查券、核价,写请求不自动重试。
  • 暖色卡片、人数与食量切换、预算快捷选项、优惠口袋、核价进度、套餐圆盘与完整餐单结果;窄屏布局和减少动画偏好已适配。
  • 条件、门店、账号或券状态变化时,旧报价和旧转盘失效。实时结果最多保留五分钟,券到期或活动时段结束会提前失效。

“最低已核验价”只覆盖当前模板和实际比较成功的券方案,不承诺整个菜单的全局最低。待领取券、活动文章与宣传价不会直接当作折扣;官方报价已经包含的自动活动不会重复扣减。

本地构建与体验

Node.js 20 或以上。浏览器端与构建脚本不依赖任何 npm 包;终端版使用 Ink(+ React),测试用 ink-testing-library,所以先安装依赖:

npm install
npm test
npm run build

产物为 output/mcd-wheel-extension/(Manifest V3 扩展)与 output/mcd-wheel-static/(静态体验页)。前端运行不需要 Python、Node 业务服务或云端代理。

静态体验可用 Python 3.10 或以上的标准库服务器预览:

npm run preview
# 打开 http://127.0.0.1:8766

预览服务只提供静态文件,不读取 MCD_TOKEN,没有业务 API。静态模式明确展示历史样本、禁用真实 Token 输入和领券;普通网页直连当前受官方 CORS 策略限制。

扩展原型可通过 Chrome/Edge 的“加载已解压的扩展程序”选择构建目录来检查。点击扩展图标打开应用页;实时选餐流程为填写用户自己的 Token → 选择门店 → 查券与核价 → 转盘或 AI 推荐。雷达入口为连接 Token → 麦当劳雷达 → 读取我的历史,无需先选门店。更新后在扩展详情页点击“重新加载”,关闭旧应用页,再从图标打开。2.3.0 申请 storage 和麦当劳 MCP、DeepSeek、Open-Meteo 天气 / 城市四个明确域名访问权限,未注入其他网页。用户已加载本地扩展,没有发布到商店。

长期保存默认不勾选。勾选后,只在 Chrome / Edge 的 storage.local 保存凭证及上次门店的编码、名称和城市,不保存地址簿、券包、历史订单或旧报价。取消勾选删除已保存凭证,当前连接可继续用到本页关闭;“断开并清除已保存凭证”同时结束连接并删除记录。暂时联网失败保留凭证供重试;认证返回 401 / 403 则清除并提示重新输入。选店按本次官方状态确认。

雷达查询只由用户点击触发,订单仅在当前页内存中处理,断开、刷新或关闭即清除;不把个人历史写入公开数据集。静态页提供明确标注的虚构热力图示例,不能用于导入最近主食。详细口径见 雷达说明。

终端版(TUI)

同一套选餐逻辑的终端界面,直接复用 web/*.mjs(MCP 客户端、套餐引擎、历史雷达、DeepSeek 双 Agent)。界面用 Ink(终端里的 React)搭建,布局参考 Codex 的 TUI。参赛者独立开发,非麦当劳官方产品。

npm install                     # 一次即可:ink、react(以及测试用的 ink-testing-library)
export MCD_TOKEN=...            # 自己的麦当劳 MCP Token:选店、查券、核价、历史
export DEEPSEEK_API_KEY=...     # 可选:需求理解 + 推荐 / 优化双 Agent;不设置则用本地偏好推荐
npm run tui
npm run tui -- --demo           # 不联网:2026-10-10 深圳样本价与虚构雷达

两个凭证只从进程环境变量读取:终端版不会询问、显示或写入任何文件,输出前还会对凭证做一次遮盖;退出即随进程内存清除。Node.js 20 或以上。

界面:输出在上方滚动(写进终端自己的回滚区,鼠标滚轮 / 终端滚动条即可往回看,复制也照常),底部是输入框,输入框下面一行是状态栏(模式 · 门店 · 人数 / 人均 · 报价剩余时间 · 推荐方式)。有请求在跑时输入框上方只显示一行转圈的进度和当前步骤,Ctrl+C 取消;空闲时 Ctrl+C 或 /quit 退出。领券、清空购物车、“是这家店吗?”这类确认问题会接管输入框(黄色边框),回答后按 Enter。↑↓ 在输入框为空或不是 / 开头时翻输入历史,Ctrl+U 清空输入。stdin 或 stdout 不是终端(管道输入、脚本、npm test)时自动退回逐行模式:每行输入回显在 › 后面,不进入 raw mode,不会卡住。

Agent 模式(核心):直接输入一句话,例如 预算30元、避开昨天吃过的主食 @深圳 华强北。运行时只显示一行进度(转圈 + 当前步骤,如“5/6 查券与官方整单核价”);结束时只给一个答案:吃哪一份、整单价(用了哪张券、省多少)、门店,加一句理由;需要提醒的(例如没给位置用了默认区域、过敏筛选排除了几份、DeepSeek 没完成改用本地推荐)合成一行“注”。推荐 Agent 与优化 Agent 的商量在后台完成,不会把两边各自的选择摆出来让人看它们来回改。想看完整过程就输入 /why:下面六步每一步的结果、核价明细、券、两个 Agent 各自选了什么、备选和“助理想法”都在里面。

  1. 理解需求:本地规则解析;有 DeepSeek key 时由需求理解 Agent 补全(只发送这句话和主食名称表,结果严格校验,字面数字以本地解析为准)。
  2. 连接麦当劳 MCP:initialize → now-time-info。
  3. 选择门店:query-nearby-stores,取官方确认营业中的第一家,可用 /store 更换;指令未给位置时沿用已选门店,还没选过则搜索默认区域(见下)。
  4. 读历史:order-list,只计已完成 / 已评价订单,按日期列出最近几笔“最近吃了啥 / 喝了啥”(具体餐品与饮品);指令要求时再避开昨天 / 前两天吃过的主食。读取失败时明确提示并不按历史避开。
  5. 查券与官方整单核价:可领 / 持有 / 门店券、活动日历 → calculate-price,单点主食与套餐放在同一个池子里,按用券后的实际价格从低到高排(同价优先套餐),报价 5 分钟内有效。点名想吃某个主食时会算“升级账”:含它的套餐与单点同价、更便宜或每人只多 ¥5 以内(且在预算内)就推荐套餐,并写明“单点麦香鱼 ¥22.50,+¥3.00 可得套餐(含薯条+可乐)”;单点明显更便宜就推荐单点,不强推套餐。用券的候选标明“省了 ¥X”(对比无券基准)。记录了过敏时,核价后在本地按名称关键词排除含过敏原或成分不明的餐品,并列出哪个过敏原排除了哪些餐品。结果下方先列可领券(名称 · 可省 · 有效期,未领取不计入价格),再列“手里的券”:哪些券用于核价(最多省多少)、哪些持有券 72 小时内到期(接口给出有效期时显示到期日期时间)。
  6. 揭晓:DeepSeek 推荐 Agent → 优化 Agent 只在已核价候选中选择(无 key 或失败时改用本地偏好推荐);指令里写“转盘 / 随机”则用转盘。两个 Agent 像生活助理一样参考一份最小画像:最近 3 天吃过 / 喝过的餐品名(仅官方已完成订单)、本次会话 /like /less、默认与本次的预算、时段与季节、已读天气,以及本店可用券的名称 / 到期 / 可省金额;条件满足时优先用上快过期的券。每份推荐附一句“助理想法”,用券的推荐会在理由里写明。不发送地址、电话、支付数据、订单号、券编号、门店名或 Token。

流程只调用只读 MCP 工具;Agent 不能领券、下单或付款,也不读取地址簿、电话或支付数据。

问价直接答:牛肉堡多少钱、我想吃牛肉堡,最低的预算要多少钱 这类问价不走选餐流程,直接在门店菜单里匹配并用 calculate-price 核价,回答“单点一份官方核价 ¥X,最低预算人均 ¥X”。

0 候选说清原因:没选出来时只说真正的原因——预算不够(给出最便宜的要多少钱、提到多少就能选)、都被条件筛掉了、接口异常(不是预算问题,稍后再问)、这家店查不到这些套餐(不是预算问题,提高预算也没用,并列出这家店实际菜单上能点的)。模板套餐在这家店都核不了价时,会按门店实际菜单(query-meals)挑几样核价,尽量不空手而归。

默认值(启动面板和每次“理解需求”结果里都会标出“默认”):

指令没写 默认 覆盖方式
预算 预算 ¥25 指令里写明的数字优先(如 预算40、总共80、40);其次 /set 设定的值
门店位置 搜索 深圳市罗湖区黄贝街道黄贝岭地铁站(query-nearby-stores 城市 深圳、关键词 黄贝岭地铁站) 指令里的位置(@深圳 华强北、在广州天河附近)优先;其次 /store 选过的门店。/store 不带参数即搜索默认区域

样本模式(--demo)固定使用样本门店,不做门店搜索。

手动命令(/help 列出程序处理的全部命令,启动时会自检两者一致):/store 城市 关键词 选店、/use 序号、/coupons 优惠口袋(先列可领券:名称 · 可省 · 有效期,再列持有券)、/activity 活动日历(也可以直接问“有什么活动”)、/allergy [过敏原…] 与 /allergy-clear 过敏原、/status、/clear、/quit、/set 人数 食量 人均预算、/avoid 避开主食、/price 核价、/wheel 转盘、/buddy [心情] [local] 饭搭子、/prefs goal|persona …、/like /less(仅本次会话)、/radar [recent|year] 本餐雷达图 + 终端热力图 + “最近吃了啥 / 喝了啥”(按日期列出最近订单里的具体餐品与饮品;样本模式标明虚构示例)与 /radar apply、/weather 门店城市天气、/claim 领取全部可领券(必须输入 yes 确认,结果不明确不重试,领取后重新核价)、/receipt 打印最近一份的小票、/commit -m "备注" · /push · /cart · /graph 本地购物车(见下)、/order [订单号] 真实订单列表与实时状态(见下)、/why 上一次挑选的完整过程。

命令面板:在输入框里一敲 / 就弹出命令面板(不用回车),每行是命令、一句说明和几个关键词;继续输入会按命令名前缀过滤(/ca 只剩 /cart,/cou 只剩 /coupons),前缀对不上任何命令时按中文关键词找(/券 → /coupons /claim)。↑↓ 选择,Enter 执行选中的命令(需要参数的如 /use /set /commit 会先填进输入框等你补参数),Tab 只补全不执行,Esc 关闭面板并保留已输入的文字。管道输入里单独一行 / 或 /ca 会打印同样的列表,然后继续往下执行。

真实终端里的面板由 tests/pty_palette.py 验证:它在伪终端(PTY,raw mode,140×40)里启动 --demo,像终端一样逐键发送 /、c、a、↑↓、Esc、Backspace(0x7f,macOS 终端发的就是它)、Enter,检查屏幕上画出的内容,最后 /quit 并确认退出码为 0。npm test 会自动运行它(没有 python3 或 PTY 时跳过并说明);也可以单独运行 python3 tests/pty_palette.py。

过敏记录(健康数据,只在本机):/allergy 花生 虾 添加、/allergy 列出、/allergy-clear 花生 删除;直接说“我对花生过敏”“我花生过敏”也会记录,每次增删都会确认。记录保存在 ~/.config/mcd-tui/profile.json(目录权限 700、文件 600;--no-profile 只留在本次会话内存),文件已在 .gitignore 中,不得提交。过敏信息从不发送给 DeepSeek 或麦当劳 MCP,也不写日志:包含过敏的句子在本地处理后才把其余内容交给需求理解 Agent。筛选在本地按 tui/allergy.mjs 里可见的关键词表匹配餐品名称;名称看不出成分(如“随心配”未展开)时标“成分不明,已排除”,不会悄悄放进候选。名称没有关键词不代表不含该过敏原,请以麦当劳官方过敏原信息与门店确认为准。

活动:/activity 或“有什么活动”调用只读的 campaign-calendar,列出名称、日期、规则和参与方式:有对应可领券的标“可通过 MCP 参与(领券)”,并说明是哪张券、如何 /claim + yes 确认领取;其他标“仅展示”,给出规则、日期和官方参与路径。麦当劳 MCP 没有报名活动的工具,本工具不会声称能报名,也不会自动报名或领券。

小票与套餐卡片:挑出一份后大约每三次随机掉落一张 ASCII 小票(门店、时间、餐品、整单价、券已省与免责声明),/receipt 可随时查看最近一份。小票上的二维码标注“扫码查看套餐卡片”,编码的是一个链接,手机扫码后打开静态卡片页,显示套餐名、餐品与数量、价格、门店、时间和备注;链接文字也印在二维码下方。卡片不是订单、不是付款码,不能付款。

  • 链接格式:<CARD_BASE_URL>#<base64url(JSON)>,CARD_BASE_URL 默认 https://stevelaitvt.github.io/mcd-1024-skill/receipt/(tui/card.mjs 中的唯一常量)。JSON 用短键:t 套餐名、p 价格(分)、s 门店简称、at 时间 MM-DD HH:mm、items [{ n: 餐品名, q: 数量 }]、note 备注(/commit 的备注,没有时省略)、sp: 1 表示历史样本价。数据只在 # 之后,浏览器不会把它发给服务器。
  • 卡片页是 web/receipt-card.html,npm run build 把它放进 output/mcd-wheel-static/receipt/index.html,由 GitHub Pages 工作流发布。仓库必须开启 GitHub Pages(Source 选 GitHub Actions),二维码链接才能打开;换地址只需改 CARD_BASE_URL。页面无后端、不发请求(CSP default-src 'none')、无统计;链接无效或缺数据时显示“链接里没有订单数据”和项目仓库链接。页面标明“非官方产品 · 参赛者独立开发 · 只记录这次的选择”“请在麦当劳官方渠道下单”“这张卡片不是订单,也不是付款码”,不使用麦当劳标志,也不模仿官方页面。
  • 二维码由 tui/qr.mjs 零依赖生成:UTF-8 ECI + 字节模式、纠错等级 M、版本 1–10(最多 212 字节,版本 7 起带版本信息)。链接超长时依次去掉餐品明细(卡片只显示套餐名 / 价格 / 门店 / 时间)、去掉备注、截短门店名、截短套餐名,绝不生成装不下的二维码;有省略时小票会写明。终端够宽(版本 10 约 122 列)时每个模块画成 2 列 × 1 行的方块,否则退回半块字符画法。

本地购物车(git 比喻,只在本机):/commit -m "备注" 把当前这一餐(餐品、价格、门店、时间、备注)记成一个本地提交,带 7 位 hash(node:crypto 对内容 + 时间取哈希);还没选餐时提示“先选一餐,再 /commit”。/push 把所有未 push 的提交加入购物车(购物车就是 “remote”,origin/main 追上 HEAD),并显示订单列表、合计与单数。/cart 查看购物车,/cart rm <hash> 移出一单(回到未 push,历史保留),/cart clear 清空(需输入 yes)。/graph 像 git log --graph 一样列出提交,未 push 的标 (未 push)。购物车只是本地清单,不是真实订单:不联网、不下单、不付款,也没有付款码;真实下单走下面的“就吃这个了”。提交和购物车保存在 ~/.config/mcd-tui/orders.json(目录 700、文件 600,已在 .gitignore 中,不得提交;--no-profile 只留在内存);文件损坏时启动提示、本次从空开始,绝不覆盖该文件。

就吃这个了(真实下单,只支持到店自取):选出一餐后说“就吃这个了”(或 就这个 / 要这个 / 买这个 / 下单 / 就它了,可带“堂食”“外带”)。购买意图只由本地规则识别,DeepSeek 不能触发。终端先只读查券,列出“这单能用的券:…,领完再下单”(官方 auto-bind-coupons 一次领取全部可领券,所以列出的就是会领的全部),再问“是这家店吗?门店(是/不是)”——这是唯一的确认,回答“是”同时确认领券和下单,其他任何回答都取消(“已取消,没下单”)。确认后:领券(有任何一张失败就不下单)→ 用 calculate-price 重新核价(只会持平或更便宜,变贵或失败都不下单)→ 调用 MCP create-order(orderType=1,不传 beCode,takeWayCode 取自核价返回的 takeWayList)。成功后显示订单号、支付链接原文和只编码这条链接的支付二维码(链接超出 v10-M 容量时只给链接,绝不截短);MCP 没有支付工具,付款在支付链接或麦当劳 App 完成。订单以“待支付”记入 orders.json,回复“支付完成 / 支付失败”或 /order <订单号> 用 query-order 查实时状态,/order 列出最近的真实订单。没有当前一餐时提示“先选一餐,再说买”;样本模式(--demo)展示券和门店问题后拒绝:“演示模式不下真实订单”。外送需要配送地址,暂不支持。

本餐雷达图:/radar 在热力图前为当前这一餐画一张 ASCII 蛛网图,四个维度都归一到 0–1,全部由真实数据算出:价格友好度(预算剩余比例)、口味新鲜度(主食是否出现在最近 6 笔订单里)、券优惠(券省金额 / 无券价)、偏好匹配(/like /less 与指令里“想吃…”)。缺数据的维度标“无数据”,不猜测;不含任何营养或健康数据。还没选餐时提示“先选一餐,再看雷达图”,仍然列出最近吃了啥。

待领取券与活动宣传价只展示、不当折扣;价格只来自官方整单报价。tests/tui.test.mjs 用模拟 MCP / DeepSeek 覆盖意图校验、完整 Agent 流程、券的展示与喂给 Agent、生活助理画像、小票、报价过期、领券确认、单点 vs 套餐升级算账、过敏记录(增删查、持久化到临时目录、本地排除与“成分不明”标记,以及过敏信息不会出现在发给 DeepSeek / MCP 的任何请求里)、可领券先于持有券、活动参与方式、/help 完整性、卡片链接与截短顺序、卡片页无网络请求、/commit /push /cart /graph 与本地文件(损坏不覆盖)、雷达图维度、/ 命令选择器与管道输入冒烟运行;tests/qr.test.mjs 用独立解码器校验版本 1–10 的二维码结构(三角定位图、定时图、格式信息、全部校正图、版本信息、Reed–Solomon、UTF-8 ECI 前缀与内容回读),并把终端渲染结果采样回模块再解码。

参赛形式与服务使用边界

官方活动规则的项目定义包含应用程序、插件与工作流,没有要求业务后端。扩展形式可以作为本项目的参赛载体;源码、接入说明、参赛声明与使用环境变量占位符的配置示例保留在仓库中。

活动同时引用 MCP 服务规则。项目以用户主动操作、自己的凭证直接连接官方服务;本机凭证保存和多方案核价的服务规则适用情况,尚无官方针对本项目的说明。GitHub 发布与技术验证不代表官方服务认可或参赛审核通过,详见 前端架构说明。

数据与核价

公开数据集是 2026-10-10 深圳华强北样本门店快照:117 项菜单、8 套套餐结构、50 份整单报价、160 条营养记录(158 个不同名称)、35 个工具定义、4 类去重后的可领取券展示和 18 条活动信息。采样时间、来源与哈希见 data/manifest.json。静态体验中的价格、券与活动都是历史样本。

实时引擎按已持有资产、门店范围、状态、期限、关联活动时段与商品编码验证券。多人同款套餐拆出一份绑定一张券,同一资产不重复使用;保留原套餐选项。无券基准超预算也先尝试适用券,再按最终报价筛选。每份餐单最多比较 64 个券方案;失败、截断或分页不完整会显示比较不完整。

当前只精确匹配已知商品编码,券专属商品自动替换尚待接入。普通多人餐使用到店自取 beType=1/orderType=1;企业团餐优惠不参与。

Python 的样本刷新、数据校验与早期研究模块保留供复核,不是应用运行依赖。离线校验:

python3 scripts/verify_dataset.py
python3 -m unittest discover -s tests

验证到哪里

JavaScript 69 项测试通过,包含双 Agent、记忆和 key 恢复 / 隔离、候选校验、天气失败与取消竞态;此前 Python 23 项测试和数据校验通过。桌面 Chrome 已检查 2.3.0 设置、两个 prompt、本地候选选择、主动反馈和真实城市天气;已保存的麦当劳 / DeepSeek 配置在扩展重载后实际恢复,实时核价和 DeepSeek 两轮推荐已跑通,预算内候选价 ¥22.90 / ¥28。JavaScript MCP 客户端在 Node 环境真实完成初始化、时间、可领券与历史读取;此前历史返回 10 笔完成订单、8 个有记录日期,Python 验证了单人与双人官方整单核价。

用户加载后遇到连接失败,已修正浏览器 fetch 调用上下文并补充回归测试。用户重新加载后反馈连接成功、出现门店选择,浏览器直连初始化已通过复测。雷达年度 / 近 12 周虚构示例已在 Chrome 检查;关闭整个浏览器后重开恢复、真实账号历史显示、持有券折扣、领券写操作与移动端像素尚未验证。没有为了验证执行领券、下单或付款。详见 验证记录。

入口

入口 内容
web/app.js 页面状态、账号与门店、领券确认、核价和圆盘交互
tui/ 终端版:Ink 界面(ink-app.mjs)、命令面板(palette.mjs)、命令核心(shell.mjs)、Agent 模式流程、终端热力图;凭证只读进程环境变量
web/mcp-client.mjs 固定官方域名的 MCP 客户端,运行中的凭证仅在内存
web/account-storage.mjs 用户选择后的本机保存、删除、跨页变更通知与串行访问
web/store-search.mjs 官方门店营业信息、地址位置和城市识别
web/agent-view.mjs / web/meal-agent.mjs 饭搭子 UI、两个 Agent 和限定候选的推荐流程
web/agent-memory.mjs / web/agent-prompts.mjs 可编辑提示词、明确反馈与偏好衰减
docs/meal-agents.md DeepSeek 用法、天气节令、记忆和数据发送范围
web/meal-engine.mjs 套餐构造、券分配、整单比较、预算和报价有效期
web/order-history.mjs 官方历史读取、完成状态、日期归属、去重与热力图统计
web/radar-view.mjs 日历、日期餐单、常点餐品与主动导入最近主食
docs/order-radar.md 雷达用法、数据覆盖与隐私口径
docs/frontend-architecture.md 纯前端方案、隐私与接入边界
docs/product-plan.md 人数、套餐、不重样与圆盘流程
docs/coupon-flow.md 可领、持有、门店适用、领取与计价
MCP_INTEGRATION.md 工具、调用链路与脱敏配置
data/README.md 样本来源、字段和刷新规则
docs/benefit-status.md 历史券/活动信息表与核价记录
workbuddy.md 开发工具证据状态
docs/release-guide.md GitHub 下载、扩展安装与更新、静态体验和发布方式

Token 申请入口:官方 MCP 平台。环境变量占位符示例见 mcp-config.example.json,扩展不会读取开发者环境变量。

5 / 7 / 9 分是份量偏好,不保证饱腹程度。参赛声明见 CONTEST_DECLARATION.md,代码许可证为 MIT。餐品、价格与供应以麦当劳官方结果为准。

Yorumlar (0)

Sonuc bulunamadi