Skip to main content

mda-project-guide

MDA 项目专属开发指南。用于在 MDA 中编写或审查 MaaFramework Pipeline、Project Interface 任务、locale、go-service 组件时补充项目结构、业务域、命名习惯和现有任务选项示例。与通用 pipeline-guide、pipeline-debug、generate-pi-task、go-service-guide 配合使用。

Jump to install

Source facts

Repository
1204244136/MDA
Last source activity
May 29, 2026 at 07:10
Detected SKILL.md language
Chinese
Stars
114
Forks
32

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
mda-project-guide
description
MDA 项目专属开发指南。用于在 MDA 中编写或审查 MaaFramework Pipeline、Project Interface 任务、locale、go-service 组件时补充项目结构、业务域、命名习惯和现有任务选项示例。与通用 pipeline-guide、pipeline-debug、generate-pi-task、go-service-guide 配合使用。
# MDA 项目指南 ## 适用范围 当你正在 `C:\Users\12042\Documents\GitHub\MDA` 仓库中工作,并且任务涉及以下内容时使用本 skill: - Pipeline JSON 编写、调试或命名。 - Project Interface 任务文件生成或修改。 - `assets/interface.json`、`assets/tasks/`、`assets/locales/interface/`。 - MDA 的 `agent/go-service/` 自定义组件。 - 需要判断 MDA 现有业务域、任务选项、locale 语言范围或路径约定。 本 skill 只记录 MDA 项目特例;MaaFramework 通用规则请先看: - `pipeline-guide` - `pipeline-debug` - `generate-pi-task` - `go-service-guide` ## 项目结构 MDA 采用 MaaFramework / Project Interface / MXU 风格结构: ```text MDA/ ├── AGENTS.md ├── assets/ │ ├── interface.json │ ├── tasks/ │ ├── locales/interface/ │ │ ├── zh_cn.json │ │ └── en_us.json │ ├── locales/go-service/ │ │ ├── zh_cn.json │ │ └── en_us.json │ └── resource/pipeline/ ├── agent/go-service/ └── tools/schema/ ``` 关键文件: | 路径 | 用途 | | ------------------------------------- | --------------------------------------------------------------------- | | `assets/interface.json` | Project Interface 主配置,包含 import、group、controller、resource 等 | | `assets/tasks/*.json` | PI 任务定义和 option 配置 | | `assets/tasks/preset/*.json` | 预设任务组合 | | `assets/resource/pipeline/**.json` | MaaFramework Pipeline 节点 | | `assets/locales/interface/zh_cn.json` | 界面中文文案 | | `assets/locales/interface/en_us.json` | 界面英文文案 | | `tools/schema/*.json` | Pipeline / PI / Custom schema | | `agent/go-service/` | Go Agent 自定义逻辑 | ## MDA locale 范围 MDA 当前 interface locale 主要维护: - `zh_cn` - `en_us` 新增任务或 option 时,默认只同步这两个文件。不要按其它项目习惯擅自补 `zh_tw`、`ja_jp`、`ko_kr`,除非用户明确要求或项目新增了对应 locale 文件。 所有用户可见文本在任务文件中使用 `$` i18n key,例如: ```json "label": "$task.Shop.label" ``` ## 常见业务域 MDA Pipeline 当前常见业务域包括: | Domain | 说明 | | ----------------------- | ---------------------- | | `Advise` | 咨询 / 剧情 / 剧集相关 | | `Arena` | 竞技场相关 | | `Battle` | 战斗通用流程 | | `Common` | 通用 UI、弹窗、交互 | | `CoordinatedOperations` | 协同作战 | | `DailyRewards` | 日常奖励 | | `Event` | 活动通用域 | | `Interception` | 拦截战 | | `Login` | 登录流程 | | `MapPushing` | 推图 | | `Navigation` | 导航和回到主界面 | | `Outpost` | 前哨基地 | | `RedDotClear` | 红点清理 | | `Shop` | 商店 | | `SimulationRoom` | 模拟室 | | `TribeTower` | 企业塔 / 阵营塔 | 新增节点时优先沿用现有目录与 Domain;不要为了单个节点新建同义 Domain。 ## Pipeline 命名习惯 MDA 使用通用 MaaFramework PascalCase 命名规则,并倾向于: - 入口:`<Domain>Main` - 编排:`<Domain><Subtask>Flow` - 进入页面:`<Domain>Enter<Page>` - 页面确认:`<Domain><Page>Entered` - 页面状态:`<Domain>On<Page>Page` - UI 可见:`<Domain><Object>Visible` - 点击/选择/领取:`<Domain>Click<Object>`、`Select`、`Claim`、`Purchase` - 确认:`<Domain>Confirm<Object>` 或 `CommonConfirm<Object>` MDA 命名中特别注意: - 新节点不要再用 `FlagInX` 表达页面状态。 - `Visible` 节点不要过度拆分;如果只被一个点击节点使用且没有组合识别价值,优先合并进点击节点。 - `Entered` 节点可以只被一个进入流程引用,只要它承担“进入成功哨兵”职责,就不是无意义中转节点。 ## Project Interface 任务文件 MDA 任务文件位于 `assets/tasks/`,当前包括: - `Advise.json` - `Arena.json` - `CashShop.json` - `CoordinatedOperations.json` - `DailyRewards.json` - `Interception.json` - `LargeEvent.json` - `MapPushing.json` - `Outpost.json` - `RedDotClear.json` - `Shop.json` - `SimulationRoom.json` - `SmallEvent.json` - `TribeTower.json` 新增任务文件后,`assets/interface.json` 的 `import[]` 使用相对路径: ```json "tasks/MyTask.json" ``` 而不是: ```json "assets/tasks/MyTask.json" ``` ## MDA 选项建模示例 这些例子来自 MDA 现有任务,用于辅助判断 `generate-pi-task` 的 option 类型。 | Task File | Option | Type | 说明 | | --------------------- | --------------------------- | --------------- | -------------------------------------- | | `Arena.json` | `SpecialReward` | `switch` | 单个是否领取奖励的开关 | | `Arena.json` | `EnterRookieArena` | `switch` | 单个是否进入该竞技场的开关 | | `Interception.json` | `InterceptionType` | `select` | Normal / Anomaly 互斥 | | `Interception.json` | `NormalyInterceptionLevel` | nested `select` | 普通拦截的难度子选项 | | `Interception.json` | `AnomalyInterceptionTarget` | nested `select` | 异常拦截的目标子选项 | | `Interception.json` | `ManualInterceptionBattle` | `switch` | 单个功能开关 | | `Shop.json` | `ArenaShopItemList` | `checkbox` | 多个独立商店物品可同时购买 | | `Shop.json` | `RecyclingShopList` | `checkbox` | 多个独立可回收物品,存在默认选择 | | `Shop.json` | `CommonShopFreeGoods` | `switch` | 单个是否领取免费商品开关 | | `SimulationRoom.json` | `StartOverlock` | `switch` | Yes case 下嵌套 `AutoBIOSSetting` | | `SimulationRoom.json` | `AutoBIOSSetting` | nested `switch` | 自动难度子开关 | | `Outpost.json` | `DefenseRewards` | `switch` | 默认开启时可设置 `default_case: "Yes"` | | `TribeTower.json` | `EnterCommonTower` | `switch` | 默认关闭时可按既有风格让 No 在 Yes 前 | 判断原则: - `select`:互斥路线,case 之间要互相禁用。 - `checkbox`:独立列表,case 通常只启用自身节点。 - `switch`:单个是否执行的功能。 - nested option:只有某个 case 激活后才显示的子配置。 ## MDA Go Service MDA 存在 `agent/go-service/`,当前包含: - `main.go` - `register.go` - `logger.go` - `pkg/pienv` - `pkg/resource` - `pkg/i18n` - `pkg/maafocus` - `taskersink/aspectratio` - `taskersink/hdrcheck` - `taskersink/processcheck` - `taskersink/membership` 开发 Go 组件时: - 先看 `agent/go-service/register.go` 的聚合方式。 - 新包应有自己的 `Register()`。 - 注册名必须与 Pipeline Custom 节点一致。 - 日志和包结构遵循当前已有 Go 代码。 - 如果新增用户可见文案,同时维护 `assets/locales/go-service/zh_cn.json` 和 `en_us.json`。 ## Windows / PowerShell 约束 MDA 的 `AGENTS.md` 明确项目运行环境为 Windows / PowerShell 7。 执行命令时: - 优先使用 PowerShell 语法。 - 路径带空格时加双引号。 - 不要默认使用 Bash heredoc、`grep`、`find`、`sed`、`awk` 等 Unix 写法。 - 文件搜索和读取优先使用 Claude Code 专用工具。 ## 与通用 skill 的配合方式 - 写 Pipeline:先用 `pipeline-guide`,再用本 skill 确认 MDA Domain、locale 范围和任务结构。 - 调试 Pipeline:先用 `pipeline-debug`,再用本 skill 判断 MDA 现有命名和任务语义。 - 生成 PI task:先用 `generate-pi-task`,再用本 skill 参考 MDA 选项建模示例。 - 写 Go Service:先用 `go-service-guide`,再用本 skill 确认 MDA 的包和 locale 目录。 ## 自检清单 - [ ] 新增/修改的任务文件已被 `assets/interface.json` import。 - [ ] 只维护 MDA 当前存在的 interface locale:`zh_cn`、`en_us`。 - [ ] Pipeline 节点 Domain 与现有目录和业务域一致。 - [ ] option 类型符合 MDA 既有建模习惯。 - [ ] `pipeline_override` 节点名真实存在。 - [ ] Go 组件已注册到 `registerAll()`。
View on GitHub