尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
MaaAssistantArknights Issue Bot 使用指南:自动标签、手动触发命令与 issue-checker 配置解析
MaaAssistantArknights Issue Bot 使用指南自动标签、手动触发命令与 issue-checker 配置解析【免费下载链接】MaaAssistantArknights《明日方舟》小助手全日常一键长草| A one-click tool for the daily tasks of Arknights, supporting all clients.项目地址: https://gitcode.com/GitHub_Trending/ma/MaaAssistantArknights本文档以 MaaAssistantArknights 仓库内 Issue Bot 的官方使用说明对应 docs/ko-kr/develop/issue-bot-usage.md另有 英文版、中文版、日文版 等语言副本为主体并结合仓库内的实际接入代码与配置文件进行深度解析。读完本文你将掌握 Issue Bot 的自动标签机制、PR 标题审查规则、全部手动触发命令以及如何阅读其底层配置来理解标签的分类与覆盖逻辑从而在提交 Issue / Pull Request 或维护该仓库时避免误触发、误解标签状态。Issue Bot 是什么action、配置文件与工作流的三层结构Issue Bot 是部署在 MaaAssistantArknights 仓库上、用于自动对 Issue 与 Pull Request 进行分类打标的机器人。它的核心由三层构成执行引擎actionIssue Bot 的运行逻辑由独立的 issue-checker action 提供仓库通过 GitHub Actions 引用该 action 执行打标任务规则配置所有标签的分类关键词、跳过/移除规则、评论模板都定义在仓库根目录的 .github/issue-checker.yml 中这是理解 Issue Bot 一切行为的关键文件接入工作流仓库通过 .github/workflows/issue-checker.yml 将 action 与配置绑定到具体事件上。从工作流文件可以看到实际的触发条件与权限设置name: Issue Triage on: issues: types: [opened, edited] pull_request_target: types: [opened, edited] issue_comment: types: [created, edited] permissions: contents: read issues: write pull-requests: write jobs: triage: name: Triage Issues and PRs runs-on: ubuntu-latest steps: - name: Label issues and PRs Automatically uses: MaaAssistantArknights/issue-checkerv1.14 with: repo-token: ${{ secrets.GITHUB_TOKEN }} configuration-path: .github/issue-checker.yml not-before: 2022-08-05T00:00:00Z include-title: 1这段配置揭示了几个关键事实监听事件issues的opened/edited、pull_request_target的opened/edited、issue_comment的created/edited。也就是说Issue/PR 的新建与编辑、评论的新建与编辑都会触发打标权限模型工作流声明了issues: write与pull-requests: write即允许 action 修改 Issue 与 PR 的标签标题参与匹配include-title: 1表示标签关键词匹配时会将标题内容一并纳入历史数据豁免not-before: 2022-08-05T00:00:00Z表明早于该时间点的历史条目不会被回溯处理配置路径configuration-path: .github/issue-checker.yml与 .github/issue-checker.yml 一一对应是全部规则的唯一来源。⚠️ 重要提示如果不按 CommitizenConventional Commits规范提交你的 Pull Request 会被标记为ambiguous含义不明。这是文档中反复强调的警告也是新手最容易踩的坑。自动触发Issue Bot 的核心能力Issue Bot 在事件触发后会根据 .github/issue-checker.yml 中定义的规则自动完成以下工作。自动打标签为 Issue 与 Pull Request 添加分类标签包括module系列如module: infrast、module: roguelike、client系列如client: JP、client: EN、client: KR、ambiguous、translation required等打标依据是文本中的关键词匹配。Issue Bot 会扫描 Issue/PR 的描述在include-title: 1时还包括标题命中某条标签的正则即自动添加对应标签为公开可见的 MAA 团队成员author_association 为MEMBER发布的 Issue 与 PR 自动添加MAA Team标签。配置文件中的对应规则如下# MAA Team - name: MAA Team mode: add: [pull_request_target, issues] author_association: - MEMBERIssue 及其评论的处理当 Issue 中的日志或附件文件上传失败时Issue Bot 会添加incomplete信息不完整标签并自动评论告知用户文件未能成功上传这条规则的本质是正则匹配上传失败的残留痕迹例如[Uploading asst.log…]()这类未完成的图片上传占位符或!-- Failed to upload log.zip --这类 HTML 注释。对应配置# incomplete - name: incomplete content: incomplete regexes: (?:\[Uploading asst(?:.bak|)(?: - 副本|)(?:.log|)(?:.zip|)…\]\(\))|!-- (?:Failed to upload|Uploading) (log|report)[^]*\.zip(?:\.\.\.)? -- mode: add配套的评论模板也定义在同一个文件的comments段中内容为“你的日志没有上传成功请重新上传”的中英文双语提示。Pull Request 标题审查Issue Bot 会对 PR 标题的格式进行简单审查除非标题以下列任一单词开头否则该 PR 会被标记为ambiguousbuild、chore、ci、doc、docs、feat、fix、perf、refactor、rft、style、test、i18n、typo、debugRevert、revert、Release、release这一审查逻辑对应配置中的pr-ambiguous规则它用一段“负向前瞻”正则实现只要标题不以白名单关键词开头关键词后可跟:、.、(、,等分隔符或feat!这样的破坏性变更标记就命中ambiguous- name: pr-ambiguous content: ambiguous regexes: ^(?!(?:build|chore|ci|docs?|feat!?|fix|perf|refactor|rft|style|test|i18n|typo|debug)[\:\.\(\,]|[Rr]evert|[Rr]elease) mode: pull_request_target:对照上述正则可以看出feat: xxx、fix(xxx): xxx、docs.xxx、Revert xxx、Release v5.2.0等都是合法开头而update xxx、add xxx这类不以规范关键词开头的标题就会被打上ambiguous。因此提 PR 时务必使用 Conventional Commits 风格的标题例如fix: 修复基建排班偶发崩溃。手动触发Issue Bot 的命令体系除自动打标外Issue Bot 还支持在文本中写入指令性关键词来手动控制标签。官方文档建议优先使用关键词详细描述问题让 Issue Bot 自动触发分类标签少用下述指令但当你预感到自己的内容可能让 Issue Bot 产生误解时可以主动使用这些指令纠偏。适用于 Issue 与 Pull Request 的命令Remove {LABEL_NAME}删除指定标签Remove labels删除所有标签Skip {LABEL_NAME}跳过某个标签不打该标签Skip labels跳过所有标签。例如在 Issue 描述中写Remove labels即可让 Issue Bot 撤销此前自动添加的全部标签。适用于 Issue 评论与 PR 评论的命令Skip {LABEL_NAME}保证不添加指定类型的标签Skip labels保证不添加任何标签为 Issue 添加fixed已修复标签可使用以下四种写法之一https://github.com/MaaAssistantArknights/MaaAssistantArknights/commit/{COMMIT_HASH} fixed fixed by https://github.com/MaaAssistantArknights/MaaAssistantArknights/commit/{COMMIT_HASH} {VERSION} fixed fixed by {VERSION}说明这里的COMMIT_HASH取 840 位即可不必是完整的 40 位 SHA-1 值VERSION需形如v5.2.0并支持alpha、beta、rc等预发布后缀。Duplicate of #{ISSUE_NUMBER}为当前 Issue 添加duplicate重复标签当你的评论内容可能让 Issue Bot 误解时尽量在评论里补充skip指令进行规避。配置文件中的fixed与duplicate规则只对issue_comment生效mode: issue_comment: add即只有在评论场景下才会打这两个标签# fixed - name: fixed regexes: (?:(?:v\\d\\.\\d\\.\\d...|...)[0-9a-z]{8,40})\\s*fixed|... mode: issue_comment: add # duplicate - name: duplicate regexes: [Dd]uplicate of\\s*\\[??(?:https?://(?:[^/\\s]/){3}issues/|#)\\d mode: issue_comment: addPush 事件Issue Bot 不参与Issue Bot不处理推送push事件。如果 commit message 中包含fix #{ISSUE_NUMBER}、close #{ISSUE_NUMBER}等关闭关键字那么当该提交合并进默认分支后GitHub 会自动关闭对应的 Issue但不会为其添加fixed标签。也就是说想要fixed标签必须在评论中显式使用上文四种命令之一。深入配置从 .github/issue-checker.yml 看标签分类与覆盖逻辑.github/issue-checker.yml 是 Issue Bot 的全部行为来源其顶层结构分为default-mode、labels、comments三段。理解它的组织方式就能预判任意一条文本会被打上什么标签。default-mode默认行为边界default-mode: add: remove: [pull_request_target, issues]add为空、remove覆盖pull_request_target与issues说明默认情况下大多数规则只在“移除”场景生效而“添加”行为需要规则显式声明如mode: add或mode: {事件类型: add}。labels规则的核心每条标签规则通常包含以下字段name标签规则名与仓库实际标签名可以不同通过content指定实际打的标签文本content实际添加到 Issue/PR 上的标签名如module: roguelike、client: JP、ambiguous、translation required等regexes触发该规则的正则表达式列表命中任一即触发mode限定规则在哪些事件、以何种动作生效add/remove如pull_request_target、issues、issue_commentskip-if/remove-if引用其他规则名实现“前置命中则跳过/移除”的优先级控制是解决多标签冲突的关键机制。module 系列按功能模块分类以几个典型规则为例完整列表见配置文件标签名触发关键词节选对应模块module: infrast基建、排班、贸易站、制造站、宿舍、Infrast、Dorm等基建换班module: roguelike肉鸽、集成战略、Rogue、Integrated Strategy、IS等集成战略module: reclamation生息演算、沙洲遗闻、Reclamation、RA2等生息演算module: copilot自动作战、保全、Copilot、作业等自动战斗作业module: fight刷图、理智、剿灭、Fight、Battle、Annihilation等日常刷图module: depot仓库识别、仓检、Depot等仓库识别module: core开始唤醒、触控模式、连接模拟器、GPU 加速、MaaCore等核心启动与连接module: recruit公招、招募、Recruit等公开招募module: others抽卡、信用、拜访、登录、更新日志等其他杂项模块标签之间通过skip-if/remove-if建立排除关系避免同一条文本被打上多个冲突标签。例如fight规则声明了skip-if包含copilot1、copilot2、drop、roguelike即文本若已命中自动作战/掉落识别/集成战略就不再打fight标签而copilot2命中“作业”又引用了infrast与roguelike作为排除项形成了一套精心设计的优先级网络。client 系列按客户端版本分类client系列标签用于标识议题涉及的游戏客户端版本规则同样由正则驱动标签名触发关键词节选client: JP日服、YoStar-JP、JP等client: EN国际服、美服、YoStar-EN等client: KR韩服、YoStar-KR等client: ZH_TW繁中服、台服、龙成、txwy等client: PCPC版、Windows版、Win客户端等client: WpfGui远程控制、外部通知、自动更新、GUI、Auto Start等client: MacGuiMac、macOS、PlayCover、Mac GUI等MuMu APIMuMu 截图增强、MuMu screenshot enhancement等注意WpfGui与MacGui也归属在client大类下并在skip-if中相互引用避免重复打标。特殊标签ambiguous、translation required、incomplete、release、documentationpr-ambiguousPR 标题不符合 Conventional Commits 规范时打ambiguous见上文标题审查一节ambiguous针对 Issue当文本未命中上方任何分类时打ambiguous其remove-if列出了全部模块/客户端规则表示一旦命中任一分类就移除ambiguoustranslation required正则(?:(?:(?:[\u3040-\u30ff]|[㍿㍐])[^]*){10,}) 在 PR 与 Issue 上匹配当文本中出现大量日文假名连续 10 个以上非反引号字符构成的长文本时认为需要翻译打上该标签releasePR 标题形如Release v数字.数字.数字如Release v5.2.0时打release标签pr-documentationPR 标题以docs开头时打documentation标签incomplete/remove incomplete根据附件上传痕迹判断 Issue 信息是否完整上传失败打incomplete成功上传匹配到asst.log.zip之类文件链接则触发remove incomplete撤销该标签。手动指令与配置的对应关系文档中提到的Skip {LABEL_NAME}/Remove {LABEL_NAME}等指令在配置文件中表现为一组专门的正则规则位于 labels 段开头的# skips and removes注释块下方例如- name: skip all regexes: [Ss]kip (?:[Aa]ll |)[Ll]abels? - name: remove all regexes: [Rr]emove (?:[Aa]ll |)[Ll]abels? - name: skip module regexes: [Ss]kip [Mm]odule [Ll]abels? - name: remove module regexes: [Rr]emove [Mm]odule [Ll]abels?可以看出正则均为大小写不敏感风格[Ss]、[Ll]同时匹配大小写并支持若干变形Skip labels与Skip all labels等价、skip module labels可整体跳过全部模块标签具体到单个标签还有Skipmodule: copilot、Remove client: KR等更细粒度写法配置中以skip copilot、remove client-KR等规则名出现。文档中对所有标签的通配形式{LABEL_NAME}均可套用。comments评论模板comments段定义了命中特定正则时自动发布的评论内容例如Log upload failed日志上传失败与Upload failed部分文件上传失败两条规则都会以中英文双语提示用户重新上传。Upload failed还通过skip-if: [Log upload failed]避免重复评论。配置中另有两段被注释掉的示例规则链接白名单校验、gcc 病毒链接警告表明该机制还具备可扩展的评论能力但当前仓库未启用。使用建议与常见问题提 PR 前先检查标题以feat:、fix:、docs:等规范关键词开头否则会被打上ambiguous。这不仅是标签问题也关系到仓库的提交历史整洁度描述 Issue 时多用关键词想获得module: xxx或client: xxx分类直接在描述中使用对应的中英文关键词即可无需手动打标不要滥用指令Remove labels等指令会破坏自动分类结果仅在 Issue Bot 误判时才使用想要fixed标签必须在评论中使用{COMMIT_HASH} fixed或{VERSION} fixed类命令仅靠 commit message 中的fix #123只会关闭 Issue 而不会打fixed标签上传失败会被标记Issue 中若残留[Uploading ...]()占位符或!-- Failed to upload --注释将被打上incomplete并收到重新上传的提醒提交前请确认附件真正上传成功。参考资源Issue Bot 使用说明多语言韩文版、英文版、中文版、日文版、繁体中文版规则配置文件.github/issue-checker.yml接入工作流.github/workflows/issue-checker.yml相关配套工作流pr-checker.yml、pr-auto-tag.yml、issue-checkbox-checker.yml、issue-ai-analysis.yml【免费下载链接】MaaAssistantArknights《明日方舟》小助手全日常一键长草| A one-click tool for the daily tasks of Arknights, supporting all clients.项目地址: https://gitcode.com/GitHub_Trending/ma/MaaAssistantArknights创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

Wasp 社交内容技能深度解析:用六步逆向工程框架提取爆款内容模式

Wasp 社交内容技能深度解析:用六步逆向工程框架提取爆款内容模式

Wasp 社交内容技能深度解析:用六步逆向工程框架提取爆款内容模式 【免费下载链接】wasp The batteries-included full-stack framework for the AI era. Develop JS/TS web apps (React, Node.js, and Prisma) using declarative code that abstracts away complex …

📅 2026/9/13 7:34:33
KUnit Linux内核单元测试框架实战指南

KUnit Linux内核单元测试框架实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/13 7:34:33
YOLO实时视频分析集成实践:SmartMediaKit流媒体接入与性能调优

YOLO实时视频分析集成实践:SmartMediaKit流媒体接入与性能调优

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/13 7:34:33
MORE NEWS

更多资讯

📰

内网穿透原理与NATAPP实操:无公网IP也能轻松暴露本地Web服务

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

MSP430F5529多路传感器ADC采集与UART串口发送实战

简介:一套基于MSP430F5529单片机实现温度、毒气、光照采集并通过串口与WiFi模块交互的完整工程资料,面向单片机应用、物联网数据采集学习者和嵌入式开发初学者。资源为zip压缩包,共114个文件,以C、H源文件为主,辅以工程…

📰

10款AI工具助力论文写作全流程提速

1. 论文写作工具全景指南作为一名经历过论文写作煎熬的老学长,我深知专科生在毕业季面临的困境:时间紧、任务重、参考资料匮乏。今天我要分享的是经过实测的10款AI辅助工具,它们能帮你从选题到定稿全流程提速。去年指导表弟写物流管理毕业论文…

📰

gs-quant 因子IC半衰期:3步怎么算出来?

gs-quant 因子IC半衰期:3步怎么算出来? 【免费下载链接】gs-quant Python toolkit for quantitative finance 项目地址: https://gitcode.com/GitHub_Trending/gs/gs-quant 当回测里的动量因子突然不灵,你更想先知道它还能撑多久——I…

📰

CookLikeHOC 赤豆糊元宵:源自《老乡鸡菜品溯源报告》的早餐甜羹复刻配方与流程拆解

CookLikeHOC 赤豆糊元宵:源自《老乡鸡菜品溯源报告》的早餐甜羹复刻配方与流程拆解 【免费下载链接】CookLikeHOC 🥢像老乡鸡🐔那样做饭。已添加2026年发布的《老乡鸡菜品溯源报告 2.0中新出现的菜品。主要部分于2024年完工,非老乡…

📰

Kilo AI Gateway 快速入门:用 Vercel AI SDK、OpenAI SDK、Python 与 cURL 发起你的第一次模型请求

Kilo AI Gateway 快速入门:用 Vercel AI SDK、OpenAI SDK、Python 与 cURL 发起你的第一次模型请求 【免费下载链接】kilocode Kilo is the all-in-one agentic engineering platform. Build, ship, and iterate faster with the most popular open source coding a…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬