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

> Add Olostep web search to Eliza agents with the `OLOSTEP_SEARCH` action.

Eliza + Olostep gives your agents reliable web search, letting them look up current information, answer open-ended questions with live results, and return deduplicated links with titles and descriptions.

## Features

<CardGroup cols={2}>
  <Card title="Web Search Action" icon="magnifying-glass">
    Adds the `OLOSTEP_SEARCH` action to Eliza agents for live web search.
  </Card>

  <Card title="Deduplicated Results" icon="filter">
    Removes duplicate links and keeps the most relevant results at the top.
  </Card>

  <Card title="Simple Setup" icon="plug">
    Configure one API key in your Eliza agent settings and start searching.
  </Card>

  <Card title="Natural-Language Triggers" icon="message-lines">
    Works when users ask the agent to search the web, look something up, or find online sources.
  </Card>

  <Card title="Structured Results" icon="list-check">
    Returns titles, descriptions, and URLs that are easy for agents to summarize or cite.
  </Card>

  <Card title="No SDK Required" icon="code">
    Calls Olostep directly through the `/searches` endpoint with standard `fetch`.
  </Card>
</CardGroup>

## Installation

<CodeGroup>
  ```bash npm theme={null}
  npm install @olostep/plugin-elizaos-olostep
  ```

  ```bash pnpm theme={null}
  pnpm add @olostep/plugin-elizaos-olostep
  ```

  ```bash bun theme={null}
  bun add @olostep/plugin-elizaos-olostep
  ```
</CodeGroup>

<Note>
  This package is published on npm as `@olostep/plugin-elizaos-olostep`.
</Note>

## Setup

1. Create an Olostep API key in your Olostep dashboard.
2. Add the key to your Eliza agent settings as `OLOSTEP_API_KEY`.
3. Include the plugin in your character config.

```json theme={null}
{
  "name": "MyAgent",
  "settings": {
    "secrets": {
      "OLOSTEP_API_KEY": "your-olostep-api-key-here"
    }
  }
}
```

<CodeGroup>
  ```typescript TypeScript theme={null}
  import type { Character } from '@elizaos/core';

  export const character: Character = {
    name: 'MyAgent',
    plugins: [
      '@elizaos/plugin-bootstrap',
      '@elizaos/plugin-openai',
      '@olostep/plugin-elizaos-olostep',
    ],
  };
  ```

  ```json JSON theme={null}
  {
    "name": "MyAgent",
    "plugins": [
      "@elizaos/plugin-bootstrap",
      "@elizaos/plugin-openai",
      "@olostep/plugin-elizaos-olostep"
    ]
  }
  ```
</CodeGroup>

## Available Tools

### `OLOSTEP_SEARCH`

Searches the web with Olostep and returns a list of relevant links with titles and descriptions. Use it when the user asks the agent to search for information, look up a topic, or find current web sources.

<ParamField path="OLOSTEP_API_KEY" type="string" required>
  The Olostep API key stored in the agent runtime secrets.
</ParamField>

<ParamField path="message.content.text" type="string" required>
  The search query. Eliza uses the incoming user message text as the query.
</ParamField>

<CodeGroup>
  ```typescript Basic Setup theme={null}
  // Register the plugin and let Eliza route search requests
  import type { Character } from '@elizaos/core';

  export const character: Character = {
    name: 'ResearchAgent',
    plugins: ['@olostep/plugin-elizaos-olostep'],
  };
  ```

  ```typescript Advanced Setup theme={null}
  // Combine Olostep with a model plugin for a full research agent
  import type { Character } from '@elizaos/core';

  export const character: Character = {
    name: 'ResearchAgent',
    bio: ['Investigates current events and summarizes web sources.'],
    plugins: [
      '@elizaos/plugin-bootstrap',
      '@elizaos/plugin-openai',
      '@olostep/plugin-elizaos-olostep',
    ],
  };
  ```

  ```typescript With Style Guide theme={null}
  // Tailor the agent to prefer web search
  import type { Character } from '@elizaos/core';

  export const character: Character = {
    name: 'NewsAgent',
    style: {
      all: ['Use web search when the answer may have changed recently.'],
    },
    plugins: ['@olostep/plugin-elizaos-olostep'],
  };
  ```
</CodeGroup>

The action returns structured search results in `data.links`, and the agent response includes a readable summary with up to five top links.

## Full Agent Examples

### Research Assistant

A general-purpose research agent that fetches recent facts before answering:

```typescript theme={null}
import type { Character } from '@elizaos/core';

export const character: Character = {
  name: 'ResearchAssistant',
  bio: [
    'Answers questions using current web sources.',
    'Summarizes links into concise, cited responses.',
  ],
  plugins: [
    '@elizaos/plugin-bootstrap',
    '@elizaos/plugin-openai',
    '@olostep/plugin-elizaos-olostep',
  ],
  settings: {
    secrets: {
      OLOSTEP_API_KEY: process.env.OLOSTEP_API_KEY!,
    },
  },
};
```

### News Monitor

An agent that tracks timely topics and reports notable updates:

```typescript theme={null}
import type { Character } from '@elizaos/core';

export const character: Character = {
  name: 'NewsMonitor',
  bio: ['Tracks timely topics and reports notable updates from the web.'],
  plugins: [
    '@elizaos/plugin-bootstrap',
    '@elizaos/plugin-openai',
    '@olostep/plugin-elizaos-olostep',
  ],
  style: {
    all: ['Prefer current sources and include direct URLs when possible.'],
  },
};
```

Use this for alerts, market watch tasks, trend research, and other time-sensitive workflows.

### Support Agent with Search Fallback

Perfect for answering customer questions with product documentation lookup:

```typescript theme={null}
import type { Character } from '@elizaos/core';

export const character: Character = {
  name: 'SupportAgent',
  plugins: [
    '@elizaos/plugin-bootstrap',
    '@elizaos/plugin-openai',
    '@olostep/plugin-elizaos-olostep',
  ],
  topics: [
    'product support',
    'documentation lookup',
    'release notes search',
  ],
};
```

This pattern works well when your agent should search docs or product pages before answering a customer question.

## Configuration

### Enable the plugin

Add `@olostep/plugin-elizaos-olostep` to the `plugins` array in your character config.

### Disable web search

Remove the plugin from the character config if you want an Eliza agent that does not have Olostep search access.

### Use only some capabilities

This plugin exposes a single action, so there is no per-tool toggle. Control behavior through:

* Which plugins you load in the character config
* The agent instructions and style
* When your runtime injects `OLOSTEP_API_KEY`

## Specialized Features

* **Direct `/searches` endpoint access** — the plugin calls Olostep directly with `fetch`.
* **Result deduplication** — duplicate URLs are removed before the response is returned.
* **Friendly fallbacks** — the action returns clear errors when the API key is missing or the query is empty.
* **Top-result limiting** — responses are trimmed to the five most relevant links.

## Pricing

Pricing for search usage depends on your Olostep plan and dashboard settings.

* Check your Olostep dashboard for current usage and billing details.
* Review your account limits before deploying high-volume agents.

## Support

* **NPM Package**: [@olostep/plugin-elizaos-olostep](https://www.npmjs.com/package/@olostep/plugin-elizaos-olostep)
* **Olostep Website**: [olostep.com](https://www.olostep.com)
* **Olostep Dashboard**: [dashboard.olostep.com](https://www.olostep.com/dashboard)
* **ElizaOS**: [elizaos.ai](https://elizaos.ai)
* **Email Support**: [info@olostep.com](mailto:info@olostep.com)

## Related Resources

<CardGroup cols={2}>
  <Card title="Search API" icon="magnifying-glass" href="/searches/searches">
    Learn how the search endpoint returns web results
  </Card>

  <Card title="Batches API" icon="layer-group" href="/features/batches/batches">
    Queue searches and other jobs for larger workflows
  </Card>

  <Card title="Answers API" icon="question" href="/features/answers/answers">
    Generate answer-style outputs from retrieved web sources
  </Card>

  <Card title="Crawls API" icon="spider-web" href="/features/crawls/crawls">
    Explore deeper site collection and crawling workflows
  </Card>

  <Card title="Python SDK" icon="python" href="/sdks/python">
    Use the Python SDK for custom automation around Olostep
  </Card>

  <Card title="Node.js SDK" icon="code" href="/sdks/node-js">
    Build JavaScript integrations and agent workflows
  </Card>
</CardGroup>
