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

# Integración de Olostep + Nanobot

> Usa Olostep como un backend de búsqueda web para la herramienta web_search de nanobot.

Olostep añade un backend de búsqueda para la herramienta `web_search` de nanobot, proporcionando a los agentes respuestas web amigables para IA y enlaces a fuentes sin necesidad de construir un pipeline de recuperación personalizado.

## Características

<CardGroup cols={2}>
  <Card title="Respuestas IA" icon="sparkles">
    Devuelve una respuesta concisa más enlaces a fuentes de apoyo.
  </Card>

  <Card title="Configuración Sencilla" icon="plug">
    Habilita el proveedor con un solo valor de configuración y una clave API.
  </Card>

  <Card title="Dependencia Opcional" icon="boxes-stacked">
    Instala Olostep solo cuando lo necesites.
  </Card>

  <Card title="Soporte de Proxy" icon="network-wired">
    Redirige las solicitudes a través de `tools.web.proxy` cuando sea necesario.
  </Card>

  <Card title="Respaldo Seguro" icon="shield-halved">
    Recurre a DuckDuckGo cuando no hay una clave de Olostep disponible.
  </Card>

  <Card title="Salida Normalizada" icon="list">
    Usa el mismo formato de salida de búsqueda web que los otros proveedores.
  </Card>
</CardGroup>

## Instalación

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

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

<Note>
  Si gestionas las dependencias manualmente, el paquete subyacente es `olostep>=0.1.0`.
</Note>

## Configuración

Configura tu clave API con una variable de entorno o tu configuración de nanobot.

### Variable de entorno

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

### Archivo de configuración

Añade esto a `~/.nanobot/config.json`:

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

### Proxy opcional

Si tu entorno requiere un proxy, configúralo una vez bajo `tools.web.proxy`:

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

## Herramientas / Métodos Disponibles

### `web_search`

Usa Olostep configurando `tools.web.search.provider` a `olostep`.

#### Parámetros

<ParamField path="provider" type="string">
  Configura a `olostep` para habilitar esta integración. Predeterminado: `duckduckgo`
</ParamField>

<ParamField path="apiKey" type="string">
  Clave API de Olostep. También puedes usar la variable de entorno `OLOSTEP_API_KEY`.
</ParamField>

<ParamField path="baseUrl" type="string">
  No usado por Olostep. Mantenido por consistencia de configuración.
</ParamField>

<ParamField path="maxResults" type="integer" default="5">
  Resultados por búsqueda, de 1–10.
</ParamField>

<ParamField path="timeout" type="integer" default="30">
  Tiempo de espera de búsqueda en segundos.
</ParamField>

<ParamField path="proxy" type="string or null">
  URL del proxy configurado bajo `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>

## Ejemplos Completos de Agentes

### Ejemplo 1: Asistente de Investigación Rápida

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

### Ejemplo 2: Flujo de Trabajo de Investigación en un Espacio de Trabajo

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

### Ejemplo 3: Configuración de Búsqueda Consciente de 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())
```

## Configuración / Opciones

* Configura `tools.web.search.provider` a `olostep` para habilitar la integración.
* Mantén `tools.web.enable` como `true` si deseas tanto `web_search` como `web_fetch`.
* Configura `tools.web.enable` a `false` para deshabilitar todas las herramientas web integradas.
* Configura `tools.web.proxy` si tu entorno requiere tráfico saliente a través de un proxy.
* Deja `provider` sin configurar si deseas el comportamiento de respaldo predeterminado de DuckDuckGo.

### Comportamiento de Respaldo

Si se selecciona Olostep pero no hay una clave API disponible, nanobot recurre a DuckDuckGo en lugar de fallar.

## Características Especializadas

* **Respuestas conscientes de la fuente** — Olostep devuelve una respuesta más enlaces a fuentes.
* **Formato compartido** — los resultados se presentan en el mismo formato de salida de búsqueda normalizado utilizado por los otros proveedores.
* **Sin dependencia rígida** — el proveedor se importa detrás de un guardia `try/except`, por lo que nanobot sigue funcionando sin Olostep instalado.
* **Transporte consciente de proxy** — `tools.web.proxy` se aplica al cliente HTTP subyacente utilizado por la integración.

## Precios

Los precios de Olostep son gestionados directamente por Olostep y pueden cambiar con el tiempo. Consulta el panel de control de tu cuenta de Olostep para conocer los planes actuales, cuotas y costos de uso.

## Soporte

* **PyPI**: [pypi.org/project/olostep](https://pypi.org/project/olostep/)
* **Documentación**: [docs.olostep.com](https://docs.olostep.com)
* **Página principal**: [olostep.com](https://www.olostep.com)
* **Repositorio GitHub**: [github.com/olostep-api/olostep-py](https://github.com/olostep-api/olostep-py)
* **Problemas en GitHub**: [github.com/olostep-api/olostep-py/issues](https://github.com/olostep-api/olostep-py/issues)
* **Correo electrónico**: [team@olostep.com](mailto:team@olostep.com)

## Recursos Relacionados

<CardGroup cols={2}>
  <Card title="API de Respuestas" icon="question" href="/features/answers/answers">
    Aprende sobre el endpoint de Respuestas que potencia esta integración
  </Card>

  <Card title="SDK de Python" icon="python" href="/sdks/python">
    Explora el SDK de Python de Olostep
  </Card>

  <Card title="Resultados de Búsqueda" icon="magnifying-glass" href="/searches/searches">
    Entiende las capacidades de búsqueda web
  </Card>

  <Card title="Documentación de API" icon="book" href="/get-started/authentication">
    Navega por la referencia completa de la API
  </Card>
</CardGroup>
