SuperAPI AI 工具集

discovery-services-agent-deployer

部署与运维

查看项目

更新于 10-31 14:27

技能介绍

Discovery Agent Deployer 是面向 Discovery 目录智能体的部署技能,核心是一个 PowerShell 脚本 scripts/deploy-discovery-agent.ps1,通过确定性流程完成从智能体发现到部署后验证的端到端操作。

用途与主要能力

该技能用于部署一个或多个 agents/ 目录下的 Discovery 智能体。运行时,它会发现智能体文件夹、在有工具时选择其工具文件夹、构建并推送镜像、创建或更新 Microsoft.Discovery/tools 资源、修补运行本地的 agent.yaml、部署智能体,并通过一次临时调查进行验证,最后输出汇总。若智能体没有工具,则跳过构建和工具部署阶段,直接部署智能体。脚本可将各阶段状态写入运行目录下的 stage-todos.json。

兼容性与环境

支持 Windows、macOS 和 Linux,需 PowerShell 7+(pwsh),并依赖 git、带 pip 的 Python 以及 Azure CLI(az)。Docker 为可选:本地无 Docker 时,构建可使用 Azure Container Registry Tasks。新配置默认使用 Discovery GA 2026-06-01,本地配置和保存运行中显式指定的预览版本保持不变。

使用方式

基本调用为在仓库根目录执行:pwsh -NoProfile -ExecutionPolicy Bypass -File .github/skills/discovery-services-agent-deployer/scripts/deploy-discovery-agent.ps1 <agent-name>。支持多个智能体名称、-BuildMode auto|remote|local、-Resume <RunDir> 断点续跑、-Stage 单阶段执行、-WhatIfPlan 无 Azure 调用的计划预览、-SkipValidation 跳过验证、-ValidationPrompt 指定验证提示,以及 -ConfirmSupercomputerNodepools 运行级确认。本地环境值保存在 config.json(由 config.template.json 复制而来,且不应提交);必填项包括 subscriptionId、resourceGroup、acrName、location、workspaceEndpoint、project、tenantId、chatModel 和 forceToolImageRebuild,acrResourceGroup 与 testPrompt 为可选项。缺少必填项时应向用户询问,不应自行使用默认值。

在 VS Code GitHub Copilot 等提供任务/TODO 界面的环境中,应在预检确认所有智能体存在后创建原生 TODO:带工具的智能体创建 init、build、deploy-tool、deploy-agent、validate、summary 六项;不带工具的智能体仅创建 init、deploy-agent、validate、summary 四项。为保持 TODO 状态准确,应使用 -Stage 逐阶段执行,每完成一个阶段更新 TODO 后再运行下一阶段。

注意事项

部署会将 humanInTheLoop 和每个绑定工具的确认设为 Disabled,并影响后续使用已部署智能体的行为,源 YAML 不变;这不绕过 Supercomputer nodepool 确认、平台必需操作或智能体指令中的审批请求。构建工具前会显示 TOOL_BUILD_PLAN 和推荐 SKU;若输出 SUPERCOMPUTER_NODEPOOL_CONFIRMATION_REQUIRED=true,必须通过选择提示让用户明确选择 Proceed 或 Stop,不得自行继续。验证提示优先级为显式 -ValidationPrompt、非空 config testPrompt、Copilot 生成的提示。阶段失败时应修复问题后使用 -Resume <RunDir> 续跑。最终应报告运行目录、镜像引用、工具资源 ID、各阶段状态和验证状态,不应根据部分日志臆造结果。