
MaaNTE开源贡献完整路线图从搭环境到第一个PR被合并真实开发案例全流程【免费下载链接】MaaNTEMaaNTE. Nevertheless to Everless automatic assistant 异环小助手项目地址: https://gitcode.com/gh_mirrors/maa/MaaNTEMaaNTE 是基于 MaaFramework 的《异环》Neverless游戏自动辅助工具通过识别游戏画面模拟常规交互实现自动钓鱼、做咖啡、收家具等日常功能。本文以真实开发案例自动抚摸小动物功能Issue #223 → PR #231为主线带你走完从搭建开发环境、编写 Pipeline 到 PR 被合并的完整开源贡献流程新手照着做即可提交第一个 PR。️ 动手前MaaNTE 仓库结构与贡献方式MaaNTE 采用Pipeline 管流程Python 管难点的架构理解这一点是贡献的起点你想改什么改哪里新增/修改自动化任务流程assets/resource/base/pipeline/下的 Pipeline JSON新增任务入口与可配置选项assets/resource/tasks/下的任务 JSON复杂逻辑寻路、音效触发等agent/custom/action/下的 Python 代码界面文案中/繁中/英/日/韩 5 语言assets/resource/locales/interface/仓库全局约定构建、测试、Git 规范集中在 AGENTS.md新增一个功能通常需要配套修改任务 JSON Pipeline JSON 5 个语言文件 assets/interface.json注册四处。️ 一键搭环境5分钟跑起 MaaNTE 开发环境环境要求极简Git Python 3.11推荐搭配 VS Code 使用。git clone --recurse-submodules https://gitcode.com/gh_mirrors/maa/MaaNTE cd MaaNTE git submodule update --init --recursive # 拉取模型子模块避免模型缺失 python -m venv .venv .venv\Scripts\activate pip install -r requirements.txt 仓库包含assets/MaaCommonAssets和assets/MaaNTEModels两个子模块。若克隆后提示模型缺失或子模块被修改执行上面那条git submodule update命令即可。开发利器在 VS Code 安装Maa Pipeline Support插件可以对任意 Pipeline 节点右键单步执行直接验证识别是否命中、动作是否正确还能自动完成截图与 1280×720 坐标换算。 阅读路线开发者文档按这个顺序看官方开发者文档位于 docs/zh_cn/develop/建议按以下顺序阅读不要跳步快速开始 —— 真实案例走一遍完整开发流程本文即是它的延伸PR 规范 —— PR 标题、描述、验证记录要求Pipeline 编写指南 —— 识别/动作类型与流程控制编码规范 —— 常见坑与提交前检查需要 Python 逻辑时再看 自定义动作开发 与 节点测试 选第一个任务真实案例自动抚摸小动物新人第一个 PR 建议选小而完整的功能。以 快速开始 中的真实案例为例用户在 Issue #223 提出自动循环抚摸小动物需求最终由社区开发者实现并合并为 PR #231。整个功能的 Pipeline 只有 4 个节点TouchDetectOCR识别抚摸按钮 → TouchPressF按 F 键 → TouchClickCenter点击屏幕中央 → TouchPressEsc按 Esc 关闭→ 回到 TouchDetect 循环流程很简单但完整覆盖了Pipeline 节点、任务配置、i18n 文案、测试、PR全部环节——这正是最佳练手题型。⚙️ 核心心法Pipeline 识别 → 操作 → 再识别这是 MaaNTE 编码规范中最重要的一条铁律详见 coding-standards.md永远先识别、再操作。不能假设点了按钮下一个画面一定出现。推荐识别 A → 点击 A → 识别 B → 点击 B 禁止整体识别一次 → 连续点击 A、B、C为什么这么严格因为游戏随时可能弹出公告、弹窗如上图这类确认退出对话框。如果你的流程只走主线不处理弹窗在真实用户设备上就会点偏甚至误操作。好流程的next列表会覆盖主线之外的所有可能画面例如挂载[JumpBack]SceneLoading、[JumpBack]SceneClickBlankToExit等公共节点——优先复用 场景管理器 的公开接口禁止直接引用__ScenePrivate*私有节点。其他几条必须遵守的约定所有坐标、ROI、模板图片基于1280×720基准避免硬延迟用中间识别节点代替sleep不需要时显式设pre_delay: 0禁止盲目重试节点失败要找根因而不是加max_hit硬扛OCR 的expected必须写完整中文文本多语言由 CI 工作流自动同步翻译 配套四件套一个功能改哪些文件以抚摸功能为例一次完整贡献涉及文件作用Pipeline JSONassets/resource/base/pipeline/4 个识别/动作节点循环至 100 次停止assets/resource/tasks/ 任务 JSON定义任务入口 TouchLoopCount等 3 个用户可配置选项assets/interface.json必须在此注册新任务否则任务不生效assets/resource/locales/interface/5 个语言文件zh_cn/zh_tw/en_us/ja_jp/ko_kr同步补充文案⚠️ 高频踩坑改了任务却忘了在interface.json注册、或漏补某一种语言文案——这两种问题评审时几乎必被指出。 提交规范分支命名与约定式提交仓库禁止直接改dev分支所有改动走独立分支 PR 合并分支命名按类型选前缀feat/name新增功能如feat/touch-animalfix/name修复 Bugdocs/name/refactor/name/chore/name文档、重构、构建维护提交信息遵循 Conventional Commits 格式type(scope): subject例如feat: 添加抚摸功能尽早创建 Draft PR——需求未完全确定时先开草稿方便维护者提前纠正方向避免白干。 写好 PR让第一个 PR 快速被合并PR 提交前请对照 PR 规范 自查一份能加速合并的 PR 描述至少包含三部分关联 IssueCloses #223或Related #223没有 Issue 就说明需求来源变更摘要2~5 条 bullet如新增Touch.jsonPipeline 实现循环抚摸新增 3 个可配置选项补充五语言文案验证记录别只写已测试写清测试入口、控制器、结论例如使用 Maa Pipeline Support 测试TouchDetect稳定命中Win32-Front 完整运行 3 次均正常结束涉及识别、点击的改动尽量附上标注 ROI 的游戏截图或失败前后的maa.log关键片段。评审意见涉及设计方向时先回复确认方案再动手改避免反复返工。 关于 AI 辅助开发可以用 AI 做增量开发但必须理解并能解释 PR 中的每处改动。在未提供游戏截图、界面跳转逻辑的情况下让 AI 直接盲写 Pipeline 的 PR 会被直接关闭见 编码规范。✅ 提交前检查清单PR 目标分支是dev标题符合约定式提交格式变更范围单一未混入无关改动已同步最新origin/dev任务已在assets/interface.json注册5 个语言文件文案齐全识别/点击改动附带截图、ROI 标注或日志证据已说明验证方式与结果 下一步合并第一个 PR 后可以挑战这些进阶内容复杂 Python 动作开发 → custom-action.md如 MapTeleport 地图传送、SoundTrigger 音效闪避单节点调试技巧 → node-testing.md场景跳转机制 → scene-manager.mdMaaNTE 项目仍在快速迭代中社区欢迎 PR 与 Issue。现在就可以 fork 仓库、拉个feat/分支从一个小弹窗处理或一个文档勘误开始你的第一个贡献。祝合并顺利【免费下载链接】MaaNTEMaaNTE. Nevertheless to Everless automatic assistant 异环小助手项目地址: https://gitcode.com/gh_mirrors/maa/MaaNTE创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考