跳转至

连接外部服务

OLAV 可以连接任何提供 REST API 的外部服务。连接一次后,你就可以用自然语言查询,或为它生成自动化脚本。

功能声明

ID 声明 状态
C-L2-19 olav registry register <url> 一行命令注册 OpenAPI 服务 ✅ v0.10.0
C-L2-20 DevOps agent 生成环境感知型自动化脚本 ✅ v0.13.0

适用场景

你的团队可能使用了多种运维工具:NetBox(IPAM)、Zabbix(监控)、ServiceNow(工单)、自研平台等。每个工具都有自己的 API 和查询方式。OLAV 让你用一句话就能跨系统查询:

olav "机柜 A1 里有多少台设备?"        # 查 NetBox
olav "Zabbix 上有哪些活跃告警?"        # 查 Zabbix
olav "列出欧洲所有站点"                 # 查 NetBox

快速注册:一行命令

如果目标服务提供 OpenAPI(Swagger)规范,注册只需要一行命令:

olav registry register http://netbox.example.com/api/schema/

OLAV 会自动读取 OpenAPI schema,生成 API 参考文档,服务即可通过 api_request 查询。无需代码生成 — agent 直接根据参考文档构造 API 请求。

需要认证的服务

大多数服务需要 API Token 或其他认证方式:

olav registry register http://netbox.example.com/api/schema/ \
  --header "Authorization: Token YOUR_TOKEN"

OLAV 的服务注册支持多种认证方式(Bearer Token、API Key、Basic Auth、JWT),具体配置在 .olav/config/services.yaml 中管理。

管理已注册的服务

olav registry list                        # 列出所有已注册服务
olav registry status netbox               # 检查某个服务的可达性
olav registry refresh netbox              # 强制重新获取 schema

生成自动化脚本

连接服务后,DevOps agent 可以生成与你的基础设施交互的生产级脚本:

olav --agent devops "写一个脚本,拉取所有 NetBox 设备并导出为 CSV"
olav --agent devops "为 LON1 站点所有路由器写一个 Zabbix 维护窗口脚本"

DevOps agent 会读取 OLAV 数据库中的真实设备数据,生成包含 --dry-run 模式和错误处理的环境感知型脚本,并以可执行文件形式导出到 exports/scripts/

详见 DevOps Agent →Infra Agent →


两种方式对比

registry register DevOps agent
速度 秒级完成 一次查询即生成脚本
产出 通用 API 代理(自然语言查询) 可执行 bash/Python 脚本
设备感知 是——读取 netops.devices
适合 临时查询、快速检索 自动化工作流、CI/CD 集成