OLAV โ AI-native platform for autonomous operations with domain-aware agents, API-as-Tool, and Agent Harness
Project description
OLAV ๐บ
Online Analytical Vertex for Agentic Operations
AI-native platform for autonomous infrastructure operations.
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 runvsshow configuration) --dry-runflag, 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file olav-0.17.0.tar.gz.
File metadata
- Download URL: olav-0.17.0.tar.gz
- Upload date:
- Size: 286.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5bf814e57b3760c546c966907ec5cdc908907ddeae6bbf2d692d48e3ef793951
|
|
| MD5 |
445c0c5c74408ddb0a17095339dda57f
|
|
| BLAKE2b-256 |
4baf57b91d000d21a36ef911f60864a75668f78768ac55dbab5143fbcce5ea47
|
File details
Details for the file olav-0.17.0-py3-none-any.whl.
File metadata
- Download URL: olav-0.17.0-py3-none-any.whl
- Upload date:
- Size: 355.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4424f3be44345b0af71866fc566245678eed63d13520ca9a071769abb15354df
|
|
| MD5 |
47a1671b534d214d570164e4abde4368
|
|
| BLAKE2b-256 |
037722f03fac1b42392c3417a6d1bfb3ea31c67553b35c57300b92626040bc0a
|