> ## 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 + Nanobot Integration

> Verwende Olostep als Web-Such-Backend für das web_search-Tool von nanobot.

Olostep fügt ein Such-Backend für das `web_search`-Tool von nanobot hinzu, wodurch Agenten KI-freundliche Web-Antworten und Quelllinks erhalten, ohne dass du eine benutzerdefinierte Abrufpipeline erstellen musst.

## Funktionen

<CardGroup cols={2}>
  <Card title="KI-Antworten" icon="sparkles">
    Liefere eine prägnante Antwort plus unterstützende Quelllinks.
  </Card>

  <Card title="Einfache Einrichtung" icon="plug">
    Aktiviere den Anbieter mit einem einzigen Konfigurationswert und einem API-Schlüssel.
  </Card>

  <Card title="Optionale Abhängigkeit" icon="boxes-stacked">
    Installiere Olostep nur, wenn du es benötigst.
  </Card>

  <Card title="Proxy-Unterstützung" icon="network-wired">
    Leite Anfragen bei Bedarf über `tools.web.proxy`.
  </Card>

  <Card title="Sichere Fallbacks" icon="shield-halved">
    Fällt auf DuckDuckGo zurück, wenn kein Olostep-Schlüssel verfügbar ist.
  </Card>

  <Card title="Normalisiertes Ausgabeformat" icon="list">
    Verwendet dasselbe Web-Such-Ausgabeformat wie die anderen Anbieter.
  </Card>
</CardGroup>

## Installation

<CodeGroup>
  ```bash pip theme={null}
  pip install "nanobot-ai[olostep]"
  ```

  ```bash poetry theme={null}
  poetry add "nanobot-ai[olostep]"
  ```
</CodeGroup>

<Note>
  Wenn du Abhängigkeiten manuell verwaltest, ist das zugrunde liegende Paket `olostep>=0.1.0`.
</Note>

## Einrichtung

Setze deinen API-Schlüssel entweder mit einer Umgebungsvariable oder deiner nanobot-Konfiguration.

### Umgebungsvariable

```bash theme={null}
export OLOSTEP_API_KEY="dein-api-schlüssel"
```

### Konfigurationsdatei

Füge dies zu `~/.nanobot/config.json` hinzu:

```json theme={null}
{
  "tools": {
    "web": {
      "search": {
        "provider": "olostep",
        "apiKey": "DEIN_OLOSTEP_API_KEY"
      }
    }
  }
}
```

### Optionaler Proxy

Wenn deine Umgebung einen Proxy erfordert, konfiguriere ihn einmal unter `tools.web.proxy`:

```json theme={null}
{
  "tools": {
    "web": {
      "proxy": "http://127.0.0.1:7890"
    }
  }
}
```

## Verfügbare Tools / Methoden

### `web_search`

Verwende Olostep, indem du `tools.web.search.provider` auf `olostep` setzt.

#### Parameter

<ParamField path="provider" type="string">
  Setze auf `olostep`, um diese Integration zu aktivieren. Standard: `duckduckgo`
</ParamField>

<ParamField path="apiKey" type="string">
  Olostep API-Schlüssel. Du kannst auch die Umgebungsvariable `OLOSTEP_API_KEY` verwenden.
</ParamField>

<ParamField path="baseUrl" type="string">
  Wird von Olostep nicht verwendet. Zur Konsistenz der Konfiguration beibehalten.
</ParamField>

<ParamField path="maxResults" type="integer" default="5">
  Ergebnisse pro Suche, von 1–10.
</ParamField>

<ParamField path="timeout" type="integer" default="30">
  Such-Timeout in Sekunden.
</ParamField>

<ParamField path="proxy" type="string or null">
  Proxy-URL, konfiguriert unter `tools.web`.
</ParamField>

<CodeGroup>
  ```json Basic Setup theme={null}
  {
    "tools": {
      "web": {
        "search": {
          "provider": "olostep",
          "apiKey": "DEIN_OLOSTEP_API_KEY"
        }
      }
    }
  }
  ```

  ```json With Environment Variable theme={null}
  {
    "tools": {
      "web": {
        "search": {
          "provider": "olostep"
        }
      }
    }
  }
  ```

  ```bash theme={null}
  export OLOSTEP_API_KEY="dein-api-schlüssel"
  ```

  ```json With Proxy theme={null}
  {
    "tools": {
      "web": {
        "proxy": "http://127.0.0.1:7890",
        "search": {
          "provider": "olostep",
          "apiKey": "DEIN_OLOSTEP_API_KEY"
        }
      }
    }
  }
  ```
</CodeGroup>

## Vollständige Agentenbeispiele

### Beispiel 1: Schneller Forschungsassistent

```python theme={null}
import asyncio

from nanobot import Nanobot


async def main() -> None:
    bot = Nanobot.from_config()
    result = await bot.run(
        "Verwende die Websuche, um die neuesten Fähigkeiten des Olostep SDK zusammenzufassen und Quellen anzugeben.",
        session_key="olostep-research",
    )
    print(result.content)


asyncio.run(main())
```

### Beispiel 2: Forschungsworkflow in einem Arbeitsbereich

```python theme={null}
import asyncio

from nanobot import Nanobot


async def main() -> None:
    bot = Nanobot.from_config(workspace="/home/user/projects/research")
    result = await bot.run(
        "Finde aktuelle Dokumentationen für programmgesteuerte Webzugriffstools und liste die wichtigsten Kompromisse auf.",
        session_key="olostep-workspace-demo",
    )
    print(result.content)


asyncio.run(main())
```

### Beispiel 3: Proxy-bewusste Suchkonfiguration

```python theme={null}
import asyncio

from nanobot import Nanobot


async def main() -> None:
    bot = Nanobot.from_config(workspace="/home/user/projects/research")
    result = await bot.run(
        "Suche nach Implementierungshinweisen zu Web-Scraping-SDKs und fasse die Unterschiede zusammen.",
        session_key="olostep-proxy-demo",
    )
    print(result.content)


asyncio.run(main())
```

## Konfiguration / Optionen

* Setze `tools.web.search.provider` auf `olostep`, um die Integration zu aktivieren.
* Behalte `tools.web.enable` als `true`, wenn du sowohl `web_search` als auch `web_fetch` verwenden möchtest.
* Setze `tools.web.enable` auf `false`, um alle integrierten Web-Tools zu deaktivieren.
* Setze `tools.web.proxy`, wenn deine Umgebung ausgehenden Datenverkehr über einen Proxy erfordert.
* Lass `provider` leer, wenn du das Standardverhalten des DuckDuckGo-Fallbacks möchtest.

### Fallback-Verhalten

Wenn Olostep ausgewählt ist, aber kein API-Schlüssel verfügbar ist, fällt nanobot auf DuckDuckGo zurück, anstatt hart zu scheitern.

## Spezialisierte Funktionen

* **Quellenbewusste Antworten** — Olostep liefert eine Antwort plus Quelllinks.
* **Geteiltes Format** — Ergebnisse werden im gleichen normalisierten Suchausgabeformat wie bei den anderen Anbietern dargestellt.
* **Keine harte Abhängigkeit** — der Anbieter wird hinter einem `try/except`-Schutz importiert, sodass nanobot auch ohne installiertes Olostep funktioniert.
* **Proxy-bewusster Transport** — `tools.web.proxy` wird auf den zugrunde liegenden HTTP-Client angewendet, der von der Integration verwendet wird.

## Preisgestaltung

Die Preisgestaltung von Olostep wird direkt von Olostep verwaltet und kann sich im Laufe der Zeit ändern. Überprüfe dein Olostep-Kontodashboard für aktuelle Pläne, Quoten und Nutzungskosten.

## Support

* **PyPI**: [pypi.org/project/olostep](https://pypi.org/project/olostep/)
* **Dokumentation**: [docs.olostep.com](https://docs.olostep.com)
* **Homepage**: [olostep.com](https://www.olostep.com)
* **GitHub-Repository**: [github.com/olostep-api/olostep-py](https://github.com/olostep-api/olostep-py)
* **GitHub-Issues**: [github.com/olostep-api/olostep-py/issues](https://github.com/olostep-api/olostep-py/issues)
* **E-Mail**: [team@olostep.com](mailto:team@olostep.com)

## Verwandte Ressourcen

<CardGroup cols={2}>
  <Card title="Answers API" icon="question" href="/features/answers/answers">
    Erfahre mehr über den Answers-Endpunkt, der diese Integration unterstützt
  </Card>

  <Card title="Python SDK" icon="python" href="/sdks/python">
    Erkunde das Olostep Python SDK
  </Card>

  <Card title="Suchergebnisse" icon="magnifying-glass" href="/searches/searches">
    Verstehe die Web-Suchfähigkeiten
  </Card>

  <Card title="API-Dokumentation" icon="book" href="/get-started/authentication">
    Durchstöbere die vollständige API-Referenz
  </Card>
</CardGroup>
