Skip to content

How It Works

Understand three core concepts and you'll have a grasp of how the entire OLAV platform operates.

This page is a conceptual overview with no standalone Claims. Related feature claims are distributed across the individual guide pages.


Three Core Concepts

Agent

Agents are OLAV's "workforce" — each Agent is an AI assistant focused on a specific set of tasks. Think of them as different roles on a team:

  • quick Agent: Handles fast lookups, like a responsive assistant
  • config Agent: Handles platform configuration, like a system administrator
  • core Agent: Handles code execution and complex analysis, like a versatile engineer

Each Agent's capabilities are defined in .olav/workspace/<agent>/AGENT.md, including its role description, available tools, and routing keywords.

Skill

Skills are an Agent's "toolkit" — a set of Python tool functions that give an Agent specific capabilities. For example:

  • A Skill for executing SQL queries
  • A Skill for calling an external REST API
  • A Skill for searching documents in a knowledge base

You can install new Skills for an Agent to extend its capabilities, just like equipping a team member with new tools.

Workspace

The Workspace is the .olav/workspace/ directory — all Agent and Skill definitions live here. It can be committed to git and shared with your team. This means:

  • Team members have access to the same Agent capabilities
  • Agent improvements can be tracked through version control
  • You can use different workspaces for different projects

How a Query Is Processed

When you enter a question, OLAV goes through the following pipeline internally:

Your question: "What tables are in the database?"
┌─────────────────────────────────────────────┐
│  Semantic Router                             │
│  Analyzes the question and matches Agent     │
│  route_keywords                              │
│  → Selects the best Agent (or uses --agent)  │
└─────────────────────────────────────────────┘
┌─────────────────────────────────────────────┐
│  Agent Loads Tools                           │
│  Reads AGENT.md and MANIFEST.yaml            │
│  Loads all associated Skill tool functions   │
└─────────────────────────────────────────────┘
┌─────────────────────────────────────────────┐
│  LLM Reasoning + Tool-Call Loop              │
│  LLM analyzes the question → decides which   │
│  tool to call → receives tool results →      │
│  synthesizes a final answer                  │
│  (may call tools multiple times until it has │
│  enough information)                         │
└─────────────────────────────────────────────┘
┌─────────────────────────────────────────────┐
│  Returns the result to you                   │
│  Simultaneously writes to the audit log      │
│  (audit.duckdb)                              │
└─────────────────────────────────────────────┘

Data Storage: What Is Shared vs. Private

OLAV data falls into two categories: project-level (shared with the team) and user-level (private to you).

Project-Level (stored under .olav/)

Content Location Notes
Agent and Skill definitions .olav/workspace/ ✅ Can be committed to git and shared with the team
Audit logs .olav/databases/audit.duckdb Operation records for everyone; DuckDB supports concurrent writes
Business data .olav/databases/domain.duckdb Domain data, parsed results, etc.
API keys and configuration .olav/config/api.json ⚠️ Contains secrets — do not commit to git

User-Level (stored under ~/.olav/)

Content Location Notes
Authentication token ~/.olav/token Your identity credential
Session records ~/.olav/sessions/ Interactive mode history; expires after 24h
LLM cache ~/.olav/cache/{user}/llm_cache.db Avoids redundant LLM calls for identical prompts — measured at 0 tokens, <1 ms response on cache hit (~2000x speedup)

Three Usage Interfaces

Interface How to Launch Best For
CLI olav "your question" Script integration, one-off queries
TUI olav (no arguments) Multi-turn conversations, exploratory analysis
Web UI olav service web start Team sharing, browser access

All three interfaces use the same Agents and tools under the hood, so their capabilities are identical.

Next: Deep Dive into Agents and Skills →