用途:把用户的图文问题描述自动整理成 GitHub Issue 草稿,并在用户明确要求“提交/发布/一键提交”时提交到固定仓库: https://github.com/iOfficeAI/AionUi
- 不修 bug,不读取仓库代码;只做“整理 +(可选)发布提交”。
- 目标仓库固定:
iOfficeAI/AionUi。 - 默认提交方式:Skill(本地脚本 + Selenium)。
- 用户显式要求 MCP,或 Skill 失败且用户仍坚持发布:切换 MCP(Chrome DevTools MCP)。
- Issue Draft(markdown,字段齐全)
- Publish Plan(说明将用 skill/mcp + 关键参数)
- 若用户明确要发布:输出“开始发布”,并在发布后输出 issue URL;否则最后问一句:
现在发布提交吗?
- 模板选择:用户明确“功能建议/需求/希望增加” → feature request;否则默认 bug report。
- 标题:中英双语(中文优先),一句话、短、明确。
- 附件:列出用户提供的截图/录屏/日志路径;本最简分支脚本不自动上传(需要上传请用 MCP 或提示用户手动上传)。
- 不编造事实:不能凭空补充版本号、平台、复现步骤等“事实性信息”。可以做结构化整理与措辞优化。
- 允许推测:若为了可读性需要补充“可能原因/可能范围/建议排查”,必须显式标注为 【推测】,并且不要把推测写入 work_order.json 的事实字段里。
- platform:若用户没说,先不追问,默认用
"auto"(由脚本在运行时推断并写回为模板可选值) - version:必填字段。尽量从用户描述/截图/日志中提取;提取不到则进行最小问询获取。
- 仅当用户明确要求“忽略版本/按最新版本/就填 latest 强行提交”时,才默认填
latest(并在 Draft 中标注 【推测/未确认】)
- 仅当用户明确要求“忽略版本/按最新版本/就填 latest 强行提交”时,才默认填
- bug_description:精炼描述(必填)
- steps_to_reproduce:编号步骤(必填)
- expected_behavior:期望结果(必填)
- actual_behavior:若用户未单独描述,默认同 bug_description
- additional_context:可选
- feature_description(必填)
- problem_statement(必填)
- proposed_solution(必填)
- feature_category:尽量命中模板 options;不确定选
Other - additional_context:可选
- 未明确发布:只输出草稿并确认是否发布。
- 明确发布:生成
work_order.json并调用 Skill。 - 只有在“阻塞必填信息完全缺失且无法合理默认”时才问 1~2 个问题(否则直接发布)。
- 发布前预览:在正式生成 work_order.json 前,先输出一次 Issue Draft + Publish Plan 作为预览给用户看:
- 用户明确“现在就提交/立刻发布”:预览后 直接触发 skill/mcp 提交(预览不是确认门槛)
- 用户明确“先预览/先别提交/我看一下再提交”:只输出预览并等待用户修改点,再触发提交
- Bug 的
version(必填):若无法从用户描述/截图中提取,先问 1 次版本号(例如“关于页版本号是多少?”)。- 若用户明确要求忽略版本或强行按最新提交 → 填
latest并标注 【推测/未确认】,继续提交
- 若用户明确要求忽略版本或强行按最新提交 → 填
- 复现步骤/期望:若用户描述太抽象导致无法写成可执行步骤/可验证期望,再追问 1 个关键问题。
- 默认:
submit_method = "skill" - 用户明确要求:
submit_method = "mcp"(即使 skill 可用也按用户要求走 MCP) - Skill 失败且用户仍要求发布:自动切到 MCP 完成提交(不要让用户在 skill/mcp 之间反复二选一)
- 字段必须对齐
assets/templates/*.yml的 YAMLid;schema 见references/work_order_schema.md。 - 固定字段(总是生成):
owner_repo:iOfficeAI/AionUiproject_url:https://github.com/iOfficeAI/AionUiissue_type:bug或featuretitleattachments: 文件路径数组(可为空)issue_number:""issue_url:""
- Bug:
- 推荐
platform: "auto" version:必填。优先写入用户提供的真实版本号;若无法获取则最小问询;仅在用户明确要求忽略版本/按最新提交时才用latest(并在 Draft 中标注为 【推测/未确认】)
- 推荐
- Feature:
- 不要生成 bug-only 字段(例如
platform/version/actual_behavior)
- 不要生成 bug-only 字段(例如
work_order.json的issue_number/issue_url用于防止重复提交:- 若其中任一已存在,Skill 侧会直接跳过提交(除非显式传
--force)。 - Agent 在对话层也要避免把“已提交返回的 issue URL”当成新输入再次触发提交。
- 若其中任一已存在,Skill 侧会直接跳过提交(除非显式传
- 需要“再提交一次”(新 issue)时:
- 推荐:生成一个新的
work_order.json - 或者:清空旧
work_order.json的issue_number/issue_url,或在你明确知道后果时使用--force
- 推荐:生成一个新的
目标:在浏览器里完成 Issue Form 提交(不依赖本地 Selenium 脚本)。
- 打开:
{{project_url}}/issues/new/choose - 未登录则提示用户登录并等待
- 选择模板:
- Bug:🐛 Bug Report(或直接打开
issues/new?template=bug_report.yml) - Feature:✨ Feature Request(或直接打开
issues/new?template=feature_request.yml)
- Bug:🐛 Bug Report(或直接打开
- 按字段 label 填写:
- Bug:Title / Platform(下拉) / AionUi Version / Bug Description / Steps to Reproduce / Expected Behavior / Actual Behavior / Additional Context
- Feature:Title / Feature Description / Problem Statement / Proposed Solution / Feature Category(下拉) / Additional Context
- 校验必填非空 → 点击 Create
- 回传最终 issue URL;失败则回传失败原因(并给出可重试建议)
- Skill 失败:回传失败原因 + 本地
artifacts/路径(截图/HTML/run.log)。 - 用户仍坚持发布:切换 MCP 完成提交。