SuperAPI AI 工具集

VMware-AIops

VMware-AIops 是一个面向 VMware vCenter/ESXi 的 AI 运维工具(社区项目,非官方 VMware 产品),提供 60 个工具,覆盖虚拟机生命周期、部署、客户机操作系统操作、快照与集群管理。它配套只读监控技能 VMware-Monitor,并内置确认门、dry-run 预览和审计日志等安全机制,可与 Claude Code、Cursor、Codex、Gemini CLI 等 MCP 兼容代理配合使用。

访问官网

工具介绍

用途

VMware-AIops 用于 VMware vCenter/ESXi 的 AI 驱动监控与运维。作者为 Wei Zhou(VMware by Broadcom),属于社区驱动项目,并非官方 VMware 产品。项目提供两个技能:vmware-monitor(只读、安全)与 vmware-aiops(完整运维操作)。

主要能力

  • 虚拟机生命周期与部署:60 个 MCP 工具的 AI 驱动 VM 生命周期与部署功能,支持从 OVA 部署、批量克隆、迁移主机等。
  • 只读调查报告:提供五个只读报告工具 get_cluster_health_summary、get_cross_vcenter_attention、investigate_vm、investigate_host、investigate_datastore(需安装 vmware-monitor)。报告聚合关联服务器端数据并返回高信号结果,支持 --html 输出自包含离线 HTML 快照(无外部资源、无 JavaScript)。
  • 集群管理、告警管理、数据存储浏览、定时扫描与通知等功能。
  • 计划(Plan)→ 应用(Apply)工作流:用于涉及 2 个以上步骤或 2 台以上 VM 的复杂操作。

使用方式

可通过 PyPI 安装、离线/气隙环境从源码安装。支持 Claude Code、Cursor、Codex、Gemini CLI、Trae 及 30 多个 AI 代理;MCP 服务器可与任何兼容 MCP 的代理或工具配合,配置模板见 examples/mcp-configs/。

CLI 与 MCP 选择建议:CLI 适合成本效率和小模型;MCP 适合大模型的结构化自动化。

典型工作流:

  • 部署实验环境:浏览数据存储中的 OVA → 从 OVA 部署 VM → 在 VM 内安装软件 → 创建基线快照 → 设置 TTL 自动清理。
  • 批量克隆测试:创建计划 → 用户审核(显示受影响 VM、不可逆警告)→ 应用计划(顺序执行,失败即停)→ 失败时回滚。
  • 迁移 VM 到其他主机:通过 vmware-monitor 检查 VM 信息 → 执行迁移 → 验证。

客户机操作需 VM 内运行 VMware Tools,且必须显式指定客户机账户(CLI 用 --user,MCP 用 username),无默认账户。

适用场景

适用于管理真实 VMware 环境(含合规、NSX 分段、多域场景)并需要可供审计的 AI 操作。仅需单 vCenter 虚拟机电源循环的场景可用单文件服务器,本项目更面向需要治理框架的复杂环境(参见 docs/compliance-ready.md)。

版本与兼容

pyVmomi 在 SOAP 握手时自动协商 API 版本,同一代码库可管理 7.0/8.0/9.0/9.1 环境。2.0 版本重命名了 60 个 MCP 工具中的 38 个,使每个名称以动词开头(例如 cluster_add_host → add_cluster_host),完整新旧对照表见 RELEASE_NOTES.md;工具、参数、安全门和 CLI 命令不变。使用旧名称的拒绝规则在 vmware-policy ≥ 1.18 下仍有效,保存的工作流在 vmware-pilot ≥ 1.13 下会翻译旧名称;升级前的安装若共享 rules.yaml,需同样使用 vmware-policy ≥ 1.18.2。

安全机制

  • CLI:破坏性命令询问两次且无绕过标志;--dry-run 预览所有写操作,但 deploy iso、deploy mark-template、vm cancel-ttl 和 vm guest-download 除外。
  • MCP:被标注为破坏性的工具,加上 migrate_vm 及网络/DRS 编写工具(共 43 个写工具中的 23 个),需传入 confirm 参数,默认不写、仅返回影响范围预览。若预览发现阻断因素(如 VM 未运行 VMware Tools、目标主机维护模式、集群仍有主机、快照缺失或重复)或无法读取,则拒绝执行并记录为失败。delete_vm 还需回显预览的 acknowledge_with,且 VM 发生变化、已开机或挂起时被拒绝。其余 20 个写工具首次调用即执行。VMWARE_READ_ONLY 开关已被移除。
  • 权限由 vCenter/ESXi 服务账户决定:只读代理应使用只读 vCenter 角色。所有调用在返回结果前记录到 ~/.vmware/audit.db。可选的 ~/.vmware/rules.yaml 拒绝规则在每次 MCP 调用前检查,默认基线不拒绝任何操作,作为 RBAC 之上的护栏。
  • run_vm_guest_command 在客户机内以传入凭据运行调用方提供的命令,用户名必填、无默认账户,命令内容不受限制;客户机账户是与 vCenter 账户分离的授权边界,技能不存储客户机凭据,MCP 下凭据作为工具参数传入(审计行会遮盖密码)。upload_vm_guest_file 可读取服务器进程可读的任何本地文件。

配置与安全实践

  • 密码通过 .env 文件设置(推荐),避免出现在命令行或 shell 历史;.env 应设 chmod 600。
  • config.yaml 仅存储目标主机名、端口及对 .env 的引用,不含密码或令牌。
  • TLS 默认启用,仅在隔离实验室环境中对自签名证书的 ESXi 主机可禁用。
  • Webhook 默认禁用,启用后仅向自有 URL 发送关键问题与告警/事件警告,不经过第三方服务。
  • 建议使用最小权限的专用 vCenter 服务账户;仅监控场景推荐只读的 VMware-Monitor。
  • 所有来自 vSphere 的内容在输出前会截断、剥离控制字符并包裹边界标记,以防提示注入。

限制与注意事项

告警重置使用 AlarmManager.ClearTriggeredAlarms,会清除匹配该命名告警实体类型(主机/VM/全部)和当前状态(红/黄)的所有已触发告警,而非仅命名的那一个;被清除的告警若底层条件持续会自动重新触发。remove-host 要求主机先进入维护模式,之后主机被移出集群成为数据中心的独立主机。客户机命令 run_vm_guest_command 的基本形式仅返回退出码;如需捕获输出请用 run_vm_guest_command_with_output(仅 MCP)。大型 OVA(>10GB)可能超出默认 120 秒超时,上传经 HTTP NFC 租约进行。

关于安装命令、配置模板与完整工具清单(references/capabilities.md),资料中未提供具体命令文本,暂未提供。