连接外部服务¶
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 让你用一句话就能跨系统查询:
快速注册:一行命令¶
如果目标服务提供 OpenAPI(Swagger)规范,注册只需要一行命令:
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 集成 |