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.1.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.1-py3-none-any.whl (335.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: olav-0.14.1.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.1.tar.gz
Algorithm Hash digest
SHA256 7cdd221620e3d58b9be3b092455089a9e8c448803826d6e951988629e6b322ae
MD5 61785e56390aa34020e8526490745a47
BLAKE2b-256 5d6e73d0fa8fcded118576a7a88d71a26d185124667ad90003d5e1936a4a8176

See more details on using hashes here.

File details

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

File metadata

  • Download URL: olav-0.14.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 47f9db138add8f92d7daa23a2b063b80ac7f7c4ef23a32d12dd780d857fabb72
MD5 16b752d7eef22bf01bc03c2bc97d381a
BLAKE2b-256 b500511c0086d21d813ea36e89c0cc1002835c85aa2be774fb9cc187adf60d71

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