SuperAPI AI 工具集

deck-wizard

通用与其它

查看项目

更新于 10-16 14:59

技能介绍

用途

Deck Wizard 用于构建和调优万智牌(MTG)牌组,支持从零开始构建,也支持调优已有牌组。支持赛制包括:指挥官/EDH、Brawl、Historic Brawl(带指挥官的 singleton 赛制),以及 Standard、Alchemy、Historic、Pioneer、Timeless、Modern、Premodern、Legacy、Vintage(60 张构筑、带备牌的赛制)。此外还覆盖 sealed 与 draft。

核心原则(The Iron Rule):在引用任何卡牌能力之前,必须通过辅助脚本查询其 oracle 文本。训练数据不等于 oracle 文本。仅有的例外是:指挥官/Brawl 的指挥官发现阶段(为用户推荐指挥官时)可使用训练数据生成候选名单,但每个推荐指挥官在呈现前必须验证。对 60 张构筑:发现阶段(头脑风暴候选)可用训练数据,评估阶段(决定是否纳入)必须使用已验证的 oracle 文本。

主要能力

技能分两个阶段:

第一阶段(牌组获取):

  • Path A:解析已有牌表。流程为解析牌表、水合卡牌数据。
  • Path B:从零构建。60 张构筑流程为访谈、元游戏研究、骨架生成、结构验证;指挥官/Brawl/Historic Brawl 流程为访谈、指挥官分析、骨架生成、结构验证。Path B 支持 combo-first 变体(围绕组合技构建时替换标准步骤)。

第二阶段(调优,两种路径通用):运行 13 步流程——基线指标、用户接入、研究、策略对齐、指挥官交互审计(仅指挥官/Brawl/Historic Brawl)、分析、预检验证、自我质询、提出改动、影响验证、接近调用、定稿。

使用方式

首次运行设置:

uv sync --directory <skill-install-dir>
download-mtgjson

后续运行若 .venv 存在且 bulk 数据在 24 小时内新鲜则跳过。

所有脚本通过 uv run <script-name> 从技能安装目录调用。解析后的牌组 JSON 是每个牌组工具的唯一输入:deck-hydrate、price-check、deck-stats、mana-audit、legality-audit、combo-search、card-summary、deck-signals、slot-budgets、deck-tune 等都接收 <deck.json>(以及共享的可选 --bulk-data <path>),并通过各自的 sidecar 自行水合。

路径要求:仅使用绝对路径;缓存目录始终为 <working-dir>/.cache。确定赛制后,始终向 parse-deck 传 --format <format>,否则默认 commander。

适用场景

适用于所有列出赛制的牌组构建与调优,包括:带指挥官的 singleton 赛制、60 张构筑赛制(含备牌)、Arena 专属赛制(Alchemy、Historic、Timeless)、竞技 Brawl(Arena 排名队列)、Sealed 与 Draft(从已开池构建)。

限制与注意事项

  • 卡牌建议必须基于 Scryfall oracle 文本,不得依赖训练数据(指挥官/Brawl 发现阶段例外,但必须验证)。
  • 赛制合法性依赖 MTGJSON 的合法性键;competitivebrawl 的禁牌表不同于普通 Brawl,需读取其专属合法性键,2026-10-10 之前下载的 bulk 数据缺少该键。
  • Alchemy 卡牌在 2026-09-22 已回退所有重平衡(A-)卡为纸质版本,卡牌数据不再携带 A- 记录。
  • Arena 稀有度:hydrated sidecar 中的 rarity 为默认 Scryfall 印刷稀有度,与 Arena 实际通配符成本有偏差,应使用 price-check --format <fmt> --medium digital --bulk-data <path>。
  • 授权 IP 卡牌在 Arena 与纸质/Scryfall 中名称可能不同,使用 mark-owned 时应传 --bulk-data 以启用别名匹配。
  • AskUserQuestion 最多 4 个选项,不得静默丢弃其余选项。
  • JSON 文件写入应使用 Write 工具(避免 heredoc 和 python3 -c 的权限缓存问题);/tmp 文件跨会话持久,需注意陈旧数据被静默消费。
  • 手工编辑牌组文本文件后应立即解析并核对总牌数。