Install
openclaw skills install @thcjp/azure-infra-freeAzure Infra Free 是 Azure Infra 技能的免费精简版,通过本地 Azure CLI(az 命令) 提供 Azure 资源的只读查询能力。支持基础的资源清单查询与简单的健康检查, 不包含写操作、安全审计、成本分析等高级功能。 核心能力: - 资源清单查询:资源组、虚拟机、存储账户、虚拟网络等基础资源的列举 - 简单健康检查:查看虚拟机电源状态、查询失败的活动日志 - 只读优先:所有操作默认只读,不执行任何写操作或破坏性变更 适用场景: - 快速盘点订阅内的虚拟机与存储资源 - 查看虚拟机运行状态 - 初步了解 Azure 资源分布 限制:不支持写操作(启停 VM、删除资源)、安全审计、RBAC 检查、Cost Management、 跨订阅批量查询。如需完整能力,请升级至付费版 azure-infra 技能。
openclaw skills install @thcjp/azure-infra-free通过本地 Azure CLI(az 命令)对 Azure 资源进行只读查询。本免费版仅支持基础盘点与健康检查,不执行任何写操作。
az --version。若未安装,提示用户安装 Azure CLI。az account show。若未登录,引导用户执行 az login --use-device-code。list/show/get)回答用户问题。结果处理: 执行完成后,查看输出结果确认操作状态。成功时输出包含处理摘要和结果数据;失败时根据错误信息排查问题,参考错误处理章节获取恢复步骤。
| 资源类型 | 只读命令 |
|---|---|
| 资源组 | az group list --query "[].{name:name,location:location}" -o table |
| 虚拟机 | az vm list --show-details --query "[].{name:name,rg:resourceGroup,state:powerState}" -o table |
| 存储账户 | az storage account list --query "[].{name:name,rg:resourceGroup}" -o table |
| 虚拟网络 | az network vnet list -o table |
| 公网 IP | az network public-ip list -o table |
| 网络安全组 | az network nsg list --query "[].{name:name,rg:resourceGroup}" -o table |
订阅切换:az account list -o table 查看所有订阅,az account set --subscription <id> 切换目标订阅。查询结果涉及订阅范围时明确标注所用订阅名称。
az vm list --show-details --query "[].{name:name,state:powerState}" -o tableaz vm get-instance-view --name <vm> -g <rg> --query "instanceView.statuses" -o tableaz monitor activity-log list --status Failed --offset 1h -o tableaz monitor metrics list --resource <resource-id> --metric "Percentage CPU" --interval PT1H -o tablelist/show 命令查询资源。用户请求:帮我看看这个订阅里有哪些虚拟机,分别是什么状态。
执行流程:
# 1. 确认当前订阅
az account show --query "{name:name,id:id}" -o table
# 2. 列出所有虚拟机及电源状态(只读)
az vm list --show-details --query "[].{name:name,rg:resourceGroup,state:powerState,sku:hardwareProfile.vmSize}" -o table
输出说明:以表格列出虚拟机名称、资源组、电源状态、规格。用户可据此识别停止的实例。若用户希望启停或删除实例,提示该操作需升级付费版。
用户请求:最近一小时有没有什么操作失败了?
执行流程:
az monitor activity-log list --status Failed --offset 1h --query "[].{time:eventTimestamp,resource:resourceId,op:operationName.value}" -o table
输出说明:列出最近 1 小时状态为 Failed 的活动事件,包含时间、资源 ID、操作名。用于初步定位异常操作。
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
az: command not found | 本地未安装 Azure CLI | 提示用户安装 Azure CLI(winget install Microsoft.AzureCLI) |
Please run 'az login' | 未登录或会话过期 | 引导用户执行 az login --use-device-code |
SubscriptionNotFound | 订阅 ID 错误或无权访问 | az account list 确认可用订阅后用 az account set 切换 |
AuthorizationFailed | 账号缺少 Reader 权限 | 建议联系订阅 Owner 分配 Reader 角色 |
ResourceNotFound | 资源名称或资源组拼写错误 | 用 az resource list 模糊搜索确认正确名称 |
429 Too Many Requests | ARM 请求触发限流 | 降低查询频率,添加 --query 过滤减少返回量 |
| 请求写操作被拦截 | 本免费版不支持写操作 | 提示用户升级至付费版 azure-infra 技能 |
A:az account list -o table 查看所有订阅,az account set --subscription <id> 切换,然后执行查询命令。
A:使用 --query 参数过滤字段,例如 --query "[].{name:name,rg:resourceGroup}",并用 -o table 输出表格格式。
A:不能。本免费版仅支持只读查询。启停虚拟机、删除资源、修改配置等写操作需升级至付费版 azure-infra 技能,付费版提供完整的确认机制与 dry-run 支持。
A:本免费版不查询 Key Vault 机密值,也不展示任何密钥、令牌等敏感凭据,确保安全。
本免费版仅提供基础只读查询能力。如需完整功能(写操作确认、安全审计、成本分析、跨订阅查询、故障诊断、Key Vault 管理),请升级至付费版 azure-infra 技能。
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
需要配置对应API Key,详见上文环境配置章节
API Key配置方式:
export API_KEY="your_api_key_here"
配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统。
| 资源类型 | 只读命令 |
|---|---|
| 资源组 | az group list --query "[].{name:name,location:location}" -o table |
| 虚拟机 | `az vm list --show-details --query "[].{name:name,rg:resourceGroup,state:pow |
输入: 用户提供基础查询命令所需的参数和指令。 处理: 按照skill规范执行基础查询命令操作。 输出: 返回基础查询命令的执行结果,包含操作状态和输出数据。
az vm list --show-details --query "[].{name:name,state:powerState}" -o tableaz vm get-instance-view --name <vm> -g <rg> --query "instanceView.statuses" -o table输入: 用户提供简单健康检查所需的参数和指令。 处理: 按照skill规范执行简单健康检查操作。 输出: 返回简单健康检查的执行结果,包含操作状态和输出数据。
list/show 命令查询资源。处理: 按照skill规范执行触发条件操作。 输出: 返回触发条件的执行结果,包含操作状态和输出数据。
本skill还覆盖以下能力场景: 通过本地、基础盘点与健康检、Infra、Free、技能的免费精简版、资源的只读查询能、支持基础的资源清、单查询与简单的健、不包含写操作、成本分析等高级功。这些能力在上述核心功能中均有对应处理逻辑。