Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.olostep.com/llms.txt

Use this file to discover all available pages before exploring further.

Olostep adds a search backend for nanobot’s web_search tool, giving agents AI-friendly web answers and source links without requiring you to build a custom retrieval pipeline.

Features

AI Answers

Return a concise answer plus supporting source links.

Simple Setup

Enable the provider with a single config value and an API key.

Optional Dependency

Install Olostep only when you need it.

Proxy Support

Route requests through tools.web.proxy when required.

Safe Fallbacks

Falls back to DuckDuckGo when no Olostep key is available.

Normalized Output

Uses the same web-search output formatting as the other providers.

Installation

pip install "nanobot-ai[olostep]"
If you manage dependencies manually, the underlying package is olostep>=0.1.0.

Setup

Set your API key with either an environment variable or your nanobot config.

Environment variable

export OLOSTEP_API_KEY="your-api-key"

Config file

Add this to ~/.nanobot/config.json:
{
  "tools": {
    "web": {
      "search": {
        "provider": "olostep",
        "apiKey": "YOUR_OLOSTEP_API_KEY"
      }
    }
  }
}

Optional proxy

If your environment requires a proxy, configure it once under tools.web.proxy:
{
  "tools": {
    "web": {
      "proxy": "http://127.0.0.1:7890"
    }
  }
}

Available Tools / Methods

Use Olostep by setting tools.web.search.provider to olostep.

Parameters

provider
string
Set to olostep to enable this integration. Default: duckduckgo
apiKey
string
Olostep API key. You can also use OLOSTEP_API_KEY environment variable.
baseUrl
string
Not used by Olostep. Kept for config consistency.
maxResults
integer
default:"5"
Results per search, from 1–10.
timeout
integer
default:"30"
Search timeout in seconds.
proxy
string or null
Proxy URL configured under tools.web.
{
  "tools": {
    "web": {
      "search": {
        "provider": "olostep",
        "apiKey": "YOUR_OLOSTEP_API_KEY"
      }
    }
  }
}

Full Agent Examples

Example 1: Quick Research Assistant

import asyncio

from nanobot import Nanobot


async def main() -> None:
    bot = Nanobot.from_config()
    result = await bot.run(
        "Use web search to summarize the latest Olostep SDK capabilities and cite sources.",
        session_key="olostep-research",
    )
    print(result.content)


asyncio.run(main())

Example 2: Research Workflow in a Workspace

import asyncio

from nanobot import Nanobot


async def main() -> None:
    bot = Nanobot.from_config(workspace="/home/user/projects/research")
    result = await bot.run(
        "Find recent documentation for programmatic web access tools and list the key tradeoffs.",
        session_key="olostep-workspace-demo",
    )
    print(result.content)


asyncio.run(main())

Example 3: Proxy-Aware Search Setup

import asyncio

from nanobot import Nanobot


async def main() -> None:
    bot = Nanobot.from_config(workspace="/home/user/projects/research")
    result = await bot.run(
        "Search for implementation notes about web-scraping SDKs and summarize the differences.",
        session_key="olostep-proxy-demo",
    )
    print(result.content)


asyncio.run(main())

Configuration / Options

  • Set tools.web.search.provider to olostep to enable the integration.
  • Keep tools.web.enable as true if you want both web_search and web_fetch.
  • Set tools.web.enable to false to disable all built-in web tools.
  • Set tools.web.proxy if your environment requires outbound traffic through a proxy.
  • Leave provider unset if you want the default DuckDuckGo fallback behavior.

Fallback behavior

If Olostep is selected but no API key is available, nanobot falls back to DuckDuckGo instead of failing hard.

Specialized Features

  • Source-aware answers — Olostep returns a response plus source links.
  • Shared formatting — results are rendered in the same normalized search output used by the other providers.
  • No hard dependency — the provider is imported behind a try/except guard, so nanobot still works without Olostep installed.
  • Proxy-aware transporttools.web.proxy is applied to the underlying HTTP client used by the integration.

Pricing

Olostep pricing is managed by Olostep directly and may change over time. Check your Olostep account dashboard for current plans, quotas, and usage costs.

Support

Answers API

Learn about the Answers endpoint powering this integration

Python SDK

Explore the Olostep Python SDK

Search Results

Understand web search capabilities

API Documentation

Browse the full API reference