Repository navigation
Releases: zhutoumeme/mcd-git
Releases · zhutoumeme/mcd-git
Release list
v0.2.5:Windows PowerShell 补全 + 跨平台命令引导
mcd-git v0.2.5:跨平台命令补全
这一版把命令补全和跨平台使用引导补完整。
新增
- Windows PowerShell 原生补全:支持 PowerShell 5.1 和 PowerShell 7+,通过
Register-ArgumentCompleter补全子命令、选项、二维码样式、卡片样式和餐品名。 - 多平台补全引导:README 现在包含 macOS/Linux Bash、Zsh、Fish、Windows Git Bash、Windows WSL、Windows PowerShell 的安装、重载和验证命令。
- 人工终端入口统一:补全和人工敲命令优先使用
mcd-git;Agent 自动化仍使用稳定的git mcd --json。 - 离线餐品补全:
mcd-git add <TAB>读取本机菜单缓存,不会因为按 Tab 触发 MCP 请求。菜单缓存由正常的ls-remote/ 菜单查询流程刷新。
推荐用法
mcd-git st<TAB>
mcd-git add 巨<TAB>
mcd-git card --style <TAB>
mcd-git push --qr <TAB>git mcd 仍然保留为 Git 子命令入口,但其 Tab 补全取决于当前系统是否加载 Git 自带补全脚本;mcd-git 是稳定推荐入口。
安装补全
# Bash
printf '\n# mcd-git completion\neval "$(mcd-git completion bash)"\n' >> ~/.bashrc
source ~/.bashrc
# Zsh
eval "$(mcd-git completion zsh)"
# Fish
mcd-git completion fish > ~/.config/fish/completions/mcd-git.fishPowerShell 用户把 mcd-git completion powershell 的输出加载到 $PROFILE,README 有可直接复制的幂等安装脚本。
说明
- 补全过程不联网、不调用 MCP。
- 默认二维码、确认闸、Token 安全和菜单缓存行为保持不变。
- 兼容 Python 3.9+,没有新增运行时依赖。
v0.2.4:默认二维码各终端都扫得出,命令行和餐品名都能 TAB 补全
mcd-git v0.2.4
两件事:默认支付二维码在 macOS Terminal.app 里也能扫出来了,命令行可以按 TAB 补全,餐品名也能补。
修复:默认二维码各终端都扫得出
- 默认改成整格画法:每个模块画成两个带背景色的空格,不依赖「▀」半块字形。上一版默认的半块码在 macOS Terminal.app 里扫不出,这一版默认就能扫。
--qr取值:full(默认)/half/fancy/fancy=名字。half高度减半、更紧凑,但部分终端(比如 Terminal.app)可能扫不出。- 终端太窄自动退回:放不下整格码时退回半块,并提示把窗口拉宽后运行
git mcd show重新出码。fancy放不下时先退整格。 - 二维码内容不变,扫了直接拉起麦当劳 App 付款,下面的文字支付链接也照旧。
新增:命令补全
# zsh:写进 ~/.zshrc
eval "$(mcd-git completion zsh)"
# bash:写进 ~/.bashrc(macOS 自带 bash 3.2 也能用)
eval "$(mcd-git completion bash)"
# fish
mcd-git completion fish > ~/.config/fish/completions/mcd-git.fish- 子命令、选项,以及
--qr fancy=burger、card --style receipt这类取值都能补,zsh 候选带中文说明。 - 餐品名补全:
git mcd add 巨<TAB>→ 巨无霸 / 巨无霸套餐。输「鸡腿」能补出麦辣鸡腿堡、板烧鸡腿堡。名字里有空格、括号、引号也能正确转义。restore --staged <TAB>补的是购物车里的餐品。 - 菜单读本机缓存
menu-cache.json(权限 600,只有餐品 code、名称、类型和门店,不存价格和地址)。缓存只在ls-remote/add这类本来就要查菜单的命令里顺手写,不多调接口。按 TAB 只读本机文件、不联网,一次大约 0.02 秒。缓存 24 小时有效,换门店后要重新ls-remote。--demo第一次就能补。 git mcd <TAB>:zsh 直接能用(git mc<TAB>也行)。bash 要先加载 git 自带的git-completion.bash,没加载时用等价的mcd-git <TAB>。fish 的脚本照写,但还没实测。
说明
- Agent 不需要补全,照常用
--json。 - 不新增依赖,兼容 Python 3.9+。
安装 / 升级
uv tool install --force git+https://github.com/zhutoumeme/mcd-git@v0.2.4
# 或
pip install -U "git+https://github.com/zhutoumeme/mcd-git@v0.2.4"试玩不需要 Token:eval "$(mcd-git completion zsh)" 之后试试 git mcd --demo add 巨<TAB>。完整变更见 CHANGELOG.md。
v0.2.3:二维码变小、扫码进 App、麦当劳主题码(6 款随机)
mcd-git v0.2.3
终端支付二维码的一轮改进:更小、能直接拉起 App、还能玩麦当劳主题码。
二维码变化
- 更紧凑:默认改用半块画法、纠错 M,二维码比上版小一多半,不再占满终端。
- 扫了直接进 App:二维码编码的是麦当劳收银页里那条链接(jumpToApp),手机扫了直接拉起麦当劳 App 付款,省掉中间网页。文字那行仍是原支付链接,方便在浏览器打开。
git mcd show也出码:查待支付订单时同样显示二维码,不只是 push 当时。--qr full:想要更大更清楚的码时用,适合个别终端半块扫不出的情况。
麦当劳主题码 --qr fancy
- 麦门金配色 + 正中一个像素麦当劳元素 Logo + 纠错 H。每次随机出一个,一共 6 款:汉堡、薯条、麦乐鸡、甜筒、派、金拱门 M。
- 想要固定某一款:
git mcd push --qr fancy=burger(也支持fancy:burger)。可选名字:burger、fries、nuggets、cone、pie、arch。 - 底部会提示当前是哪一款,和普通码一样扫。
- 终端太窄时自动退回普通二维码并提示,保证总能扫。
说明
- 默认永远是朴素紧凑的那版(最通用)。full 和 fancy 都是你主动
--qr选的——支付码是功能性的,默认保持最稳。 - 6 款主题码都经过机器识别验证可扫。不新增依赖,兼容 Python 3.9+。
安装 / 升级
uv tool install --force git+https://github.com/zhutoumeme/mcd-git@v0.2.3
# 或
pip install -U "git+https://github.com/zhutoumeme/mcd-git@v0.2.3"试玩不需要 Token:git mcd --demo push --qr fancy(先 add、commit 再 push)。完整变更见 CHANGELOG.md。
v0.2.2:跨平台 Token(Windows 支持)+ 卡片细节
mcd-git v0.2.2
跨平台兼容(主要补上 Windows)和两个吃麦贡献图的细节修复。
跨平台 Token 与本地目录
- Token 和本地状态目录现在按系统解析:Windows 用
%APPDATA%\mcd-mcp\token和%APPDATA%\mcd-git,支持XDG_CONFIG_HOME,默认仍是~/.config。查找顺序:环境变量MCD_MCP_TOKEN(所有平台最高优先、最推荐)→XDG_CONFIG_HOME→ Windows%APPDATA%→~/.config,取第一个存在且非空的。 - 向后兼容:已经存在的
~/.config/mcd-git会继续沿用,升级和换平台都不会迁移,老用户的账本不动。 - 找不到 Token 时,报错按系统给命令:Windows 提示
setx MCD_MCP_TOKEN "你的Token"或当前终端$env:MCD_MCP_TOKEN="你的Token",其它平台保持export+ 写文件;路径按实际解析结果显示,不再统一写~/.config。 - README 和 SKILL 新增 macOS / Linux / Windows 三套 Token 申请和配置指南。Token 只放本机、只进请求头、不上传,行为没变;
--demo全流程依旧不需要 Token。
吃麦贡献图
- 默认文件名按样式区分:
mcd-contributions-skyline.svg、-receipt.svg、-grid.svg。连跑多种样式不再互相覆盖。用-o指定路径时完全照旧。 - 节前就能看到 1024 程序员节标记:今天还没到 10-24 时,卡片右边界会提前延伸到 10-24 那一周,天际线插上「0x400」小旗、小票画红圈、格子描边。过了 10-24 则维持原状。满一年数据(含 demo)的卡片输出与上版完全一致。
安装 / 升级
# 通用(推荐):先配置 Token 环境变量
# macOS / Linux: export MCD_MCP_TOKEN="你的Token"
# Windows PowerShell: setx MCD_MCP_TOKEN "你的Token"(需重开终端)
uv tool install --force git+https://github.com/zhutoumeme/mcd-git@v0.2.2
# 或
pip install -U "git+https://github.com/zhutoumeme/mcd-git@v0.2.2"Token 在 open.mcd.cn/mcp 控制台申请。想先看效果,git mcd --demo card 不需要 Token。完整变更见 CHANGELOG.md。
v0.2.1:卡片自适应窗口 + 试玩体验修复
mcd-git v0.2.1
一轮真实试玩打磨:吃麦贡献图改成按你的数据自适应,加上一批点餐途中发现的体验修复。
吃麦贡献图
- 自适应时间窗口:天际线和年度小票不再固定画 53 周,而是从你最早一单所在的周画到本周,最少 12 周、最多 53 周。记录少时图形自动放大居中,稀疏数据也能铺开,不会大半张是空地。满一年的数据和 0.2.0 一样。
grid平面格子仍是固定 53 周。 - 10-24 不在窗口里时就不画小旗和红圈。底部的「Happy 0x400 Day」是 1024 特别版固定标语,一直都在。
git mcd card现在显示完整的写入路径(家目录显示成~/…),--json给绝对路径。- 小票里的长餐品名放宽了显示长度,不再早早被截断。
点餐体验
- 价格更准:需要同时买随单购会员卡才成立的优惠价(如「随单购麦金卡优惠」),不再被当成单价显示。
add、ls-remote、status显示真实可得价,并淡色注明「需随单购麦金卡」。促销优惠照常直接生效。 ls-remote更好读:不带关键词时按菜单分类分组,店名按终端宽度显示全称,超过一屏自动分页。init选门店:门店名和地址尽量显示全称,搜索结果带营业状态和时间;新增--limit N;只给--city不给关键词时,调用接口前就提示要补一个地标关键词。- 门店没营业时(code 600057)给出提示:这家店现在可能没开,怎么换一家,有预约时段的话怎么预约。
- 打错子命令会提示相近命令,比如
git mcd ls-remotr→ 「你是不是想输入:git mcd ls-remote」。 rebase会遍历券里的全部商品找能用的,用不上时说明原因(券不适用,还是查不到商品详情)。diff:rebase 之后购物车没变就不再重复提示;购物车为空时给一行提示。
终端二维码
push打印的二维码在部分终端(如 macOS Terminal.app)里手机扫不出来:静区从 2 个模块加到 4 个;终端够宽时每个模块画成整格背景色,不再依赖半块字形。二维码下面也加了提示:扫不出来就直接打开支付链接,或到麦当劳 App 订单页付款。
安装 / 升级
uv tool install --force git+https://github.com/zhutoumeme/mcd-git@v0.2.1
# 或
pip install -U "git+https://github.com/zhutoumeme/mcd-git@v0.2.1"完整变更见 CHANGELOG.md。
v0.2.0:1024 特别版(吃麦贡献图 / pull 领券 / log --stat)
mcd-git v0.2.0:1024 特别版
0.2.0 新增三个命令:给 10-24 程序员节准备的吃麦贡献图 card,领券前先确认的 pull,以及吃麦统计 log --stat。
新增
git mcd card:吃麦贡献图- 把最近 53 周的吃麦记录画成一张卡片:终端里先预览,同时在本机生成一个自包含的 SVG,浅色和深色主题自动切换,不引用外部字体、图片或脚本。用
--style选样式:skyline麦门天际线(默认):等距 3D,每天吃几次就叠几层汉堡,图片加载时汉堡会一层层落下来;10-24 那一格插一面「0x400」小旗。适合贴到 GitHub 主页。receipt年度吃麦小票:竖版热敏小票,包含 TOP 5、点阵热力图、时段分布和 TOTAL。适合发朋友圈、小红书。grid平面格子:GitHub 风格的 7 × 53 格子。
- 卡片默认只显示总单数、最常点的餐品和最常吃的时段,加
--with-savings才显示用券省下的钱。门店、订单号、具体下单时刻和总消费都不会出现。
- 把最近 53 周的吃麦记录画成一张卡片:终端里先预览,同时在本机生成一个自包含的 SVG,浅色和深色主题自动切换,不引用外部字体、图片或脚本。用
git mcd pull:领券,先确认- 先列出可领的券,你同意后一次全部领取。麦当劳接口只能一次领全部,不能只领其中几张,确认摘要里会写明。
- 在终端里运行会问 y/N。Agent 调用或带
--json时只给出摘要,要执行就运行返回里带--confirm <指纹>的那条命令。 - 预览 10 分钟内有效,只能用一次;确认时如果券列表变了,会拒绝执行。结果不确定时不会自动重试。
--dry-run只看不领;没有可领的券时输出Already up to date.。
git mcd log --stat:吃麦统计- 仿照
git log --stat,每一单列出餐品、实付和省了多少。 - 最后一段是汇总:总单数、实付、省下的钱,按时段(早餐 / 午饭 / 下午茶 / 晚饭 / 夜宵)的分布,以及最常点的前 3 名。已取消和待支付的单照常列出,但不计入金额。
- 支持
-n、--since、--until。
- 仿照
- 本机订单账本
~/.config/mcd-git/ledger.json(权限 600)- card 和 log --stat 的数据都来自这里。平时运行其他命令时会顺手更新,不会额外调用 MCP。
- 只存下单时间、状态、餐品和份数、金额、取餐方式。订单号原文、手机号、地址、取餐码、支付链接都不存。
- 删掉这个文件就清空了。
--demo补了一年的合成订单,不用 Token,运行git mcd --demo card就能看到效果。
变化
- 写操作只放行三个:
create-order(push)、cancel-order(revert)、auto-bind-coupons(pull),都要先确认。积分兑换、抽奖、派对订单、新建地址一律拦截。 fetch发现有可领的券时,会提示用git mcd pull领取。
说明
- 领券每次都要你手动触发并确认,只领你自己账户里的券,没有定时、循环或后台领券。pull 已经在作者本人账户上真实测过:6 张可领券一次领取成功。
- 新命令都支持
--demo、--json和-h。兼容 Python 3.9+,没有新增运行时依赖。 - 「省下的钱」只统计有优惠明细的订单,所以是个下限。麦当劳接口只返回最近 10 单,真实账户的卡片会随着使用慢慢丰富起来。
安装 / 升级
uv tool install --force git+https://github.com/zhutoumeme/mcd-git@v0.2.0
# 或
pip install -U "git+https://github.com/zhutoumeme/mcd-git@v0.2.0"完整变更见 CHANGELOG.md。