Skip to main content

OLAV โ€” AI-native platform for autonomous operations with domain-aware agents, API-as-Tool, and Agent Harness

Project description

OLAV Logo

OLAV ๐Ÿบ

Online Analytical Vertex for Agentic Operations
AI-native platform for autonomous infrastructure operations.

Version License Python Docs Website

ไธญๆ–‡ๆ–‡ๆกฃ

Control your infrastructure with natural language. Connect any REST API in one command, query it instantly, generate environment-aware automation scripts โ€” no MCP servers, no code generation, no runtime complexity.

pip install olav
olav registry register http://netbox:8000      # connect any API
olav --agent infra "how many devices in NetBox?" # query immediately
olav --agent devops "write a backup script"      # generate real scripts

Quick Start | Blog: v0.13 Release | ไธญๆ–‡


Why OLAV?

API-as-Service โ€” Beyond MCP

MCP requires a server process per service, stdio/HTTP transport, and framework-specific adapters. OLAV takes a different approach:

MCP:   Service โ†’ MCP server process โ†’ stdio/HTTP โ†’ adapter โ†’ agent
OLAV:  Service โ†’ olav registry register โ†’ reference markdown โ†’ api_request โ†’ done

One command. No server processes. No generated code. No runtime overhead.

# Register once
olav registry register http://netbox:8000

# Query from any agent, forever
olav "how many devices are in NetBox?"
olav --agent infra "compare OLAV database vs NetBox โ€” are they in sync?"

The api_request tool is schema-aware โ€” it reads API reference docs generated at registration time, handles pagination (DRF/NetBox style), and manages auth (JWT/Bearer/API-key) automatically.

Six Specialized Agents โ€” Not One Omniscient Model

olav "quick question"                    โ†’ Quick Agent (80% of daily use)
olav --agent infra "query NetBox"        โ†’ Infra Agent (API read + write)
olav --agent devops "write a script"     โ†’ DevOps Agent (environment-aware)
olav --agent ops "simulate link failure" โ†’ Ops Agent (network operations)
olav --agent audit "run health check"    โ†’ Audit Agent (compliance reports)

Each agent has only the tools it needs. The analysis agent can't SSH to devices. The infra agent can't modify the network. Principle of least authority, enforced by the harness.

DevOps Agent โ€” Scripts for YOUR Infrastructure

The DevOps agent doesn't write templates. It queries your actual database first:

olav --agent devops "write a script to backup all router configs"

It discovers R1 (192.168.100.101, Juniper), R2-R4 (Cisco IOS), SW1-SW2, then generates a 158-line bash script with:

  • Platform-specific commands (show run vs show configuration)
  • --dry-run flag, error handling, dependency checks
  • Exported to exports/scripts/backup-configs.sh โ€” a real file, not chat text

7-Layer Write Security

AI agents that can write to production need more than HITL approval:

Layer Defense Bypassable?
--enable-api-write Write mode locked by default No
services.yaml readonly_only Per-service read/write control Config only
Dry-run simulation Must pass before approval offered No
HITL approval User sees diff, then confirms Not skippable
sandbox_guard hard_block HTTP writes in isolated sandbox Not skippable
unshare --net Kernel-level network isolation Not skippable
Audit trail Every api_request logged โ€”

--dangerously-skip-permissions bypasses tool approval for testing โ€” but cannot bypass API write approval. Network devices are always read-only.

Agent Harness โ€” The OS for AI Agents

Every agent decision passes through a mandatory execution control layer:

Layer 0: AAA        Token/LDAP/OIDC auth โ†’ RBAC โ†’ full audit trail
Layer 1: Middleware  HITL interception + memory injection
Layer 2: Sandbox    Pre-scan โ†’ DuckDB read-only โ†’ network namespace isolation
Layer 3: Output     Credential redaction + SSE encoding

Self-Improving Loop

Use OLAV โ†’ audit log captures every tool call
    โ†’ failure patterns extracted โ†’ written to LanceDB memory
    โ†’ future runs recall constraints before acting

7,650+ audit messages captured. Export as SFT/trajectory training data: olav log export sft.


Quick Start

# 1. Install
pip install olav

# 2. Initialize
olav init

# 3. Configure LLM
export OLAV_LLM_API_KEY="sk-..."

# 4. Connect a service
olav registry register http://netbox:8000

# 5. Query
olav "how many devices are in NetBox?"

# 6. Generate scripts
olav --agent devops "write a backup script for all routers"

Network Operations (optional)

pip install olav-netops

olav --agent ops "/netops_init"                    # collect device data via SSH
olav --agent ops "simulate R2 link failure"        # What-If analysis
olav --agent ops-lab "deploy digital twin"         # ContainerLab validation

Other Interfaces

olav                            # interactive TUI
olav service web start          # web UI at localhost:2280
olav --agent core "run: df -h"  # shell commands via Core Agent

Architecture

olav v0.13 (pip install olav)
โ”œโ”€โ”€ core     โ€” Tools: api_request, execute_sql, sandbox, export
โ”œโ”€โ”€ quick    โ€” Fast queries (default agent)
โ”œโ”€โ”€ infra    โ€” API read + write (--enable-api-write)
โ”œโ”€โ”€ devops   โ€” Environment-aware script generation
โ”œโ”€โ”€ audit    โ€” Compliance profiles + health reports
โ””โ”€โ”€ config   โ€” Platform management

olav-netops v0.13 (pip install olav-netops)
โ”œโ”€โ”€ ops orchestrator
โ”‚   โ”œโ”€โ”€ analysis โ€” Dijkstra + ECMP simulation (networkx)
โ”‚   โ”œโ”€โ”€ probe    โ€” Parallel SSH with command whitelist (Nornir)
โ”‚   โ”œโ”€โ”€ diff     โ€” Cross-snapshot drift detection
โ”‚   โ””โ”€โ”€ lab      โ€” ContainerLab digital twin + commit-validate
โ””โ”€โ”€ netops.*     โ€” DuckDB tables + TextFSM collection pipeline

Tech Stack: LangChain ยท LangGraph ยท DeepAgents ยท DuckDB ยท LanceDB ยท FastAPI ยท NetworkX


By the Numbers

Metric Value
Tests 1,358 passing
DDD Claims 44 verified
Issues closed 62+
Doc pages 28 (EN + ZH)
Audit messages 7,650+

Documentation

Docs: docs.olavai.com ยท Website: olavai.com ยท Blog: v0.13 Release


License

BSL-1.1 โ€” Business Source License 1.1

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

olav-0.14.2.tar.gz (269.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

olav-0.14.2-py3-none-any.whl (335.9 kB view details)

Uploaded Python 3

File details

Details for the file olav-0.14.2.tar.gz.

File metadata

  • Download URL: olav-0.14.2.tar.gz
  • Upload date:
  • Size: 269.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for olav-0.14.2.tar.gz
Algorithm Hash digest
SHA256 f2d9a6668f0e46df042494879aecf11357439ac69e0e9c4dd9769a06633ae0fa
MD5 41b39745d9aa93136a3856baf7503639
BLAKE2b-256 dedc7aac93624ae2af76cdeca12a9b68963b2e5c794e5862b2cf71f4b0e47468

See more details on using hashes here.

File details

Details for the file olav-0.14.2-py3-none-any.whl.

File metadata

  • Download URL: olav-0.14.2-py3-none-any.whl
  • Upload date:
  • Size: 335.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for olav-0.14.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c22011d3bebbc62cb94fa620ce1370f9e0052cf2582718f4e6d2c42287d4e5bd
MD5 ba17a8581eccdd8998ec0a4f0ed24299
BLAKE2b-256 52f4547f76d28001a6b5eca46baef2687a93a2b1419b24a820121acb54a04409

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page