> ## 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.

# Intégration Olostep + Nanobot

> Utilisez Olostep comme moteur de recherche web pour l’outil web_search de nanobot.

Olostep ajoute un moteur de recherche pour l’outil `web_search` de nanobot, offrant aux agents des réponses web adaptées à l’IA et des liens sources sans nécessiter la création d’un pipeline de récupération personnalisé.

## Fonctionnalités

<CardGroup cols={2}>
  <Card title="Réponses IA" icon="sparkles">
    Retourne une réponse concise plus des liens sources de soutien.
  </Card>

  <Card title="Configuration Simple" icon="plug">
    Activez le fournisseur avec une seule valeur de configuration et une clé API.
  </Card>

  <Card title="Dépendance Optionnelle" icon="boxes-stacked">
    Installez Olostep uniquement lorsque vous en avez besoin.
  </Card>

  <Card title="Support Proxy" icon="network-wired">
    Routez les requêtes via `tools.web.proxy` lorsque nécessaire.
  </Card>

  <Card title="Retours Sécurisés" icon="shield-halved">
    Revient à DuckDuckGo lorsqu'aucune clé Olostep n'est disponible.
  </Card>

  <Card title="Sortie Normalisée" icon="list">
    Utilise le même formatage de sortie de recherche web que les autres fournisseurs.
  </Card>
</CardGroup>

## Installation

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

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

<Note>
  Si vous gérez les dépendances manuellement, le package sous-jacent est `olostep>=0.1.0`.
</Note>

## Configuration

Définissez votre clé API avec soit une variable d'environnement, soit votre configuration nanobot.

### Variable d'environnement

```bash theme={null}
export OLOSTEP_API_KEY="your-api-key"
```

### Fichier de configuration

Ajoutez ceci à `~/.nanobot/config.json` :

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

### Proxy optionnel

Si votre environnement nécessite un proxy, configurez-le une fois sous `tools.web.proxy` :

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

## Outils / Méthodes Disponibles

### `web_search`

Utilisez Olostep en définissant `tools.web.search.provider` sur `olostep`.

#### Paramètres

<ParamField path="provider" type="string">
  Définissez sur `olostep` pour activer cette intégration. Par défaut : `duckduckgo`
</ParamField>

<ParamField path="apiKey" type="string">
  Clé API Olostep. Vous pouvez également utiliser la variable d'environnement `OLOSTEP_API_KEY`.
</ParamField>

<ParamField path="baseUrl" type="string">
  Non utilisé par Olostep. Conservé pour la cohérence de la configuration.
</ParamField>

<ParamField path="maxResults" type="integer" default="5">
  Résultats par recherche, de 1 à 10.
</ParamField>

<ParamField path="timeout" type="integer" default="30">
  Délai d'attente de la recherche en secondes.
</ParamField>

<ParamField path="proxy" type="string or null">
  URL du proxy configurée sous `tools.web`.
</ParamField>

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

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

  ```bash theme={null}
  export OLOSTEP_API_KEY="your-api-key"
  ```

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

## Exemples Complets d'Agent

### Exemple 1 : Assistant de Recherche Rapide

```python theme={null}
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())
```

### Exemple 2 : Flux de Travail de Recherche dans un Espace de Travail

```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(
        "Find recent documentation for programmatic web access tools and list the key tradeoffs.",
        session_key="olostep-workspace-demo",
    )
    print(result.content)


asyncio.run(main())
```

### Exemple 3 : Configuration de Recherche Sensible au Proxy

```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(
        "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

* Définissez `tools.web.search.provider` sur `olostep` pour activer l'intégration.
* Gardez `tools.web.enable` sur `true` si vous voulez à la fois `web_search` et `web_fetch`.
* Définissez `tools.web.enable` sur `false` pour désactiver tous les outils web intégrés.
* Définissez `tools.web.proxy` si votre environnement nécessite un trafic sortant via un proxy.
* Laissez `provider` non défini si vous voulez le comportement de retour par défaut de DuckDuckGo.

### Comportement de Retour

Si Olostep est sélectionné mais qu'aucune clé API n'est disponible, nanobot revient à DuckDuckGo au lieu d'échouer.

## Fonctionnalités Spécialisées

* **Réponses sensibles aux sources** — Olostep retourne une réponse plus des liens sources.
* **Formatage partagé** — les résultats sont rendus dans le même format de sortie de recherche normalisé utilisé par les autres fournisseurs.
* **Pas de dépendance forte** — le fournisseur est importé derrière une garde `try/except`, donc nanobot fonctionne toujours sans Olostep installé.
* **Transport sensible au proxy** — `tools.web.proxy` est appliqué au client HTTP sous-jacent utilisé par l'intégration.

## Tarification

La tarification d'Olostep est gérée directement par Olostep et peut changer au fil du temps. Consultez le tableau de bord de votre compte Olostep pour connaître les plans actuels, les quotas et les coûts d'utilisation.

## Support

* **PyPI** : [pypi.org/project/olostep](https://pypi.org/project/olostep/)
* **Documentation** : [docs.olostep.com](https://docs.olostep.com)
* **Page d'accueil** : [olostep.com](https://www.olostep.com)
* **Dépôt GitHub** : [github.com/olostep-api/olostep-py](https://github.com/olostep-api/olostep-py)
* **Problèmes GitHub** : [github.com/olostep-api/olostep-py/issues](https://github.com/olostep-api/olostep-py/issues)
* **Email** : [team@olostep.com](mailto:team@olostep.com)

## Ressources Associées

<CardGroup cols={2}>
  <Card title="API Réponses" icon="question" href="/features/answers/answers">
    Découvrez l'endpoint Réponses qui alimente cette intégration
  </Card>

  <Card title="SDK Python" icon="python" href="/sdks/python">
    Explorez le SDK Python d'Olostep
  </Card>

  <Card title="Résultats de Recherche" icon="magnifying-glass" href="/searches/searches">
    Comprenez les capacités de recherche web
  </Card>

  <Card title="Documentation API" icon="book" href="/get-started/authentication">
    Parcourez la référence complète de l'API
  </Card>
</CardGroup>
