SuperAPI AI 工具集

execute-mule-run-config

编程与开发

查看项目

更新于 10-15 14:28

技能介绍

用途

该技能用于帮助用户运行、启动或调试 Mule 应用程序。当用户要求运行、启动或调试 Mule 应用时,应首先且仅调用 use_skill。它通过已有的运行配置来执行 Mule 应用,支持运行模式(run)和调试模式(debug)。

主要能力

  • 判断用户请求是明确还是模糊。
  • 获取工作区信息(工作区类型与项目列表)。
  • 查找或创建匹配的运行配置。
  • 执行配置:明确请求自动执行,模糊请求需用户确认后执行。
  • 支持工作区级(多项目)和项目级(单项目)配置。
  • 检测模式:默认运行模式(noDebug: true),用户明确提到“debug”时使用调试模式(noDebug: false 或未定义)。
  • 处理配置中引用的项目已从工作区移除的情况,并提示用户。

使用方式

明确请求

当用户指定了确切的项目或配置名称时,可自动执行:

  1. 调用 get_workspace_info 获取可用项目。
  2. 查找匹配配置:
    • 若用户指定了确切配置名,列出相应范围的配置,查找同名配置;找到则执行,未找到则告知并建议创建。
    • 若用户指定了项目名,检测模式(默认运行模式),匹配项目,确定范围(单项目为 project,多项目为 workspace),列出该范围配置,查找模式匹配且项目完全匹配的配置;找到则执行,未找到则自动创建。
  3. 如需创建配置:使用 manage_run_configuration 的 create 操作,生成合适名称(如“Debug ”或“Run All Projects”)。注意工具可能因重名返回不同名称(如“Run All Projects (2)”),执行时必须使用返回的确切名称。
  4. 自动执行,无需额外确认。

模糊请求

当请求不明确时,按以下步骤:

  1. 首先调用 get_workspace_info(无参数),获取工作区类型和项目列表。
  2. 若工作区为 multi-root,询问用户要运行多个项目还是单个项目,等待回答。若为 single-folder,直接使用该唯一项目,范围设为 project。
  3. 列出可用配置:
    • 多项目:{ "operation": "list", "scope": "workspace" }
    • 单项目:{ "operation": "list", "scope": "project", "projectPath": "<绝对路径>" } 注意:list 必须带 scope 参数,否则会失败。 列出后向用户展示所有配置,检查工作区级配置中的项目是否与当前工作区匹配,若有不匹配需提示。然后询问用户想运行哪个配置,等待选择。即使只有一个配置,也必须确认。
  4. 用户确认后,使用 manage_run_configuration 的 execute 操作执行:
    • 工作区级:{ "operation": "execute", "configName": string, "scope": "workspace" }
    • 项目级:{ "operation": "execute", "configName": string, "scope": "project", "projectPath": string }
  5. 将工具返回的消息(如“Started configuration ''”)告知用户。

适用场景

  • 在 Mule 开发环境中运行或调试单个 Mule 项目。
  • 在包含多个项目的工作区中,将多个项目放在同一个工作区级配置中一起运行。
  • 根据用户指定的项目名或配置名快速执行。
  • 需要区分运行模式与调试模式时。

限制

  • 一次只能有一个 Mule 运行时实例处于活动状态。要运行多个项目,必须将它们放在单个工作区级配置中。绝不能尝试按顺序或并行运行多个项目级配置。
  • 若工作区级运行失败,不要回退到运行单个项目配置,也不要使用 run_local_mule_application 工具作为回退。应报告错误并建议创建新的工作区级配置或检查配置是否存在。
  • 绝不使用 run_local_mule_application:该工具用于不同的工作流(直接运行时部署)。执行运行配置应始终使用 manage_run_configuration 的 execute 操作。
  • 调用 list 时必须提供 scope 参数,否则会失败。
  • 创建配置后,执行时必须使用工具返回的确切名称,而非最初建议的名称。
  • 对于模糊请求,即使只有一个配置,也必须获得用户明确确认后才能执行(明确请求除外)。
  • 不要做假设:选择“多个项目一起”并不意味着用户想运行所有项目,需要用户确认具体要执行的配置。
  • 工作区级配置中若引用了已从工作区移除的项目,应跳过该配置并提示用户。