Skip to content

Using Agents

At the core of OLAV are multiple AI Agents working together — each Agent focuses on a different domain. You can let OLAV choose automatically, or specify one manually.

Feature Claims

ID Claim Status
C-L2-02 olav list lists all available Agents ✅ v0.10.0
C-L2-03 olav workspace list/use switches the active workspace ✅ v0.10.0
C-L2-26 olav --auto-approve skips tool call confirmation ✅ v0.10.0

View Available Agents

olav list

Example output:

Available Agents:

  • config
    Config & System Agent — service registration, data import, workspace health checks
    Location: .olav/workspace/config/

  • core
    Core OLAV platform agent — code execution, SQL queries, platform operations
    Location: .olav/workspace/core/

  • quick  (active)
    Quick Agent — fast data queries, CLI execution, knowledge base search
    Location: .olav/workspace/quick/

Compact view:

olav workspace list
* quick                 -       (user)    ← * indicates currently active
  config                -       (user)
  core                  -       (user)
  venv-test             v1.0.0  (managed) ← managed = installed via olav skill install

Built-in Agents at a Glance

Agent Role Use Cases
quick (default) Fast query assistant "What tables are in the database?" "Show recent errors" — one-step queries
config System administrator Register external services, generate skills, workspace health checks
core Full-stack engineer Execute Python/SQL/Shell, web search, complex data analysis

Automatic Routing (Default Behavior)

When --agent is not specified, OLAV automatically selects the most suitable Agent based on the content of your question:

olav "list all agents"               # → auto-routes to quick Agent
olav "what tables are in the database?"  # → auto-routes to quick Agent
olav "run a health check"            # → auto-routes to quick Agent

Routing is based on the route_keywords defined in each Agent's MANIFEST.yaml. The default active quick Agent is ideal for fast lookups.

Platform commands bypass routing

Built-in commands like olav version, olav list, and olav log list execute directly and do not go through Agent routing.


Manually Specifying an Agent

When you know exactly which Agent you want to use:

olav --agent config "list registered services"
olav --agent core "what tables are in the database?"
olav --agent core "search: deployment procedure"

Shorthand:

olav -a config "list registered services"

Interactive Mode

Launch an interactive terminal with multi-turn conversation support, where the Agent maintains context:

olav               # start with the default Agent
olav --agent config # start with a specific Agent

In interactive mode, the Agent remembers previous conversation content, so you can naturally ask follow-up questions:

> What tables are in the database?
> Which table has the most rows?
> Export those statistics to CSV

Switching the Active Agent

The active Agent is the one used by default when you don't specify --agent:

olav workspace list           # view all Agents, * marks the currently active one
olav workspace use config     # switch to the config Agent
olav workspace use quick      # switch back to the quick Agent

Skipping Tool Confirmation

By default, the Agent asks for your confirmation before calling a tool. If you trust the operation (e.g., read-only queries), you can skip it:

olav --auto-approve "run health check"

Use with caution

--auto-approve automatically approves all tool calls, including write operations. It is recommended to use this only when you are certain the query is read-only.