---
read_when:
    - Вам нужен веб-поиск без ключа API
    - Вам нужен платный API поиска Parallel
    - Вам нужны содержательные фрагменты, ранжированные по эффективности использования контекста LLM
summary: Параллельный поиск — оптимизированные для LLM насыщенные выдержки из веб-источников
title: Параллельный поиск
x-i18n:
    generated_at: "2026-07-13T18:43:33Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 24
    provider: openai
    source_hash: eff693f286015b287bbdacf44f11ff6f07f2f7d2605ef6f09259e7402b40515e
    source_path: tools/parallel-search.md
    workflow: 16
---

Плагин Parallel предоставляет два провайдера [Parallel](https://parallel.ai/) `web_search`,
оба из которых возвращают ранжированные, оптимизированные для LLM фрагменты
из веб-индекса, созданного для ИИ-агентов:

| Провайдер              | id              | Аутентификация                                                                            |
| ---------------------- | --------------- | ------------------------------------------------------------------------------------------ |
| Parallel Search (бесплатный) | `parallel-free` | Не требуется — бесплатный [Search MCP](https://docs.parallel.ai/integrations/mcp/search-mcp) от Parallel |
| Parallel Search        | `parallel`      | `PARALLEL_API_KEY` — платный Search API, более высокие лимиты запросов и настройка цели     |

Установите `tools.web.search.provider` в значение `parallel-free` или `parallel`, чтобы явно
выбрать один из них; автоматическое обнаружение не выполняется ни для одного из них.

<Note>
  Модели прямого OpenAI Responses (`api: "openai-responses"`, провайдер
  `openai`, официальный базовый URL API) автоматически используют встроенный
  веб-поиск OpenAI, когда `tools.web.search.provider` не задан, пуст, имеет значение `"auto"`
  или `"openai"`, поэтому по умолчанию они обходят Parallel. Установите
  `tools.web.search.provider` в значение `parallel-free` или `parallel`, чтобы вместо этого
  направлять их через Parallel. См. [обзор веб-поиска](/ru/tools/web).
</Note>

## Установка плагина

```bash
openclaw plugins install @openclaw/parallel-plugin
openclaw gateway restart
```

## Ключ API (платный провайдер)

Для `parallel-free` ключ не нужен, но этот провайдер всё равно необходимо выбрать явно. Для платного
провайдера `parallel` требуется ключ API:

<Steps>
  <Step title="Создание учётной записи">
    Зарегистрируйтесь на [platform.parallel.ai](https://platform.parallel.ai) и
    создайте ключ API на панели управления.
  </Step>
  <Step title="Сохранение ключа">
    Задайте `PARALLEL_API_KEY` в окружении Gateway или выполните настройку с помощью:

    ```bash
    openclaw configure --section web
    ```

  </Step>
</Steps>

## Конфигурация

```json5
{
  plugins: {
    entries: {
      parallel: {
        config: {
          webSearch: {
            apiKey: "par-...", // необязательно, если задан PARALLEL_API_KEY
            baseUrl: "https://api.parallel.ai", // необязательно; OpenClaw добавляет /v1/search
          },
        },
      },
    },
  },
  tools: {
    web: {
      search: {
        // "parallel-free" для бесплатного Search MCP или "parallel" для
        // показанного здесь платного провайдера на основе API.
        provider: "parallel",
      },
    },
  },
}
```

**Альтернатива через переменную окружения:** задайте `PARALLEL_API_KEY` в окружении
Gateway. При установке Gateway поместите её в `~/.openclaw/.env`.

## Переопределение базового URL

Применяется только к платному провайдеру `parallel`; `parallel-free` всегда использует
`https://search.parallel.ai/mcp` и игнорирует эту настройку.

Задайте `plugins.entries.parallel.config.webSearch.baseUrl`, чтобы направлять платные
запросы через совместимый прокси-сервер или альтернативную конечную точку (например,
Cloudflare AI Gateway). OpenClaw нормализует адреса, содержащие только имя хоста, добавляя в начало
`https://`, и добавляет `/v1/search`, если путь ещё не оканчивается на него. Итоговая
конечная точка входит в ключ кеша поиска, поэтому результаты из разных
конечных точек никогда не используются совместно.

## Параметры инструмента

Оба провайдера предоставляют нативную структуру поиска Parallel, чтобы модель заполняла
цель на естественном языке и несколько коротких запросов по ключевым словам — сочетание,
которое Parallel [рекомендует](https://docs.parallel.ai/search/best-practices) для
получения наилучших результатов.

<ParamField path="objective" type="string" required>
Описание исходного вопроса или цели на естественном языке (не более 5000
символов). Должно быть самодостаточным.
</ParamField>

<ParamField path="search_queries" type="string[]" required>
Краткие поисковые запросы по ключевым словам, по 3–6 слов каждый (1–5 элементов, не более 200
символов каждый). Для наилучших результатов укажите 2–3 разнообразных запроса.
</ParamField>

<ParamField path="count" type="number">
Количество возвращаемых результатов (1–40).
</ParamField>

<ParamField path="session_id" type="string">
Необязательный идентификатор сеанса Parallel из поля `sessionId` предыдущего результата. Передавайте его
при последующих поисках в рамках той же задачи, чтобы Parallel группировал связанные вызовы и
улучшал последующие результаты. Не более 1000 символов для `parallel`; бесплатный
Search MCP `parallel-free` ограничивает его длину до 100. Идентификатор, превышающий ограничение,
отбрасывается (для платного провайдера) или заменяется новым (для бесплатного).
</ParamField>

<ParamField path="client_model" type="string">
Необязательный идентификатор модели, выполняющей вызов (например, `claude-opus-4-7`,
`gpt-5.6-sol`), не более 100 символов. Позволяет Parallel адаптировать настройки по умолчанию к
возможностям вашей модели. Передавайте точный слаг активной модели; не сокращайте его до
псевдонима семейства.
</ParamField>

## Примечания

- Parallel ранжирует и сжимает результаты для удобства рассуждений LLM, а не для
  переходов пользователей по ссылкам; вместо полного содержимого страниц ожидайте насыщенные
  фрагменты для каждого результата.
- Фрагменты результатов возвращаются в массиве `excerpts`, а также объединяются в
  `description` для совместимости с универсальным контрактом `web_search`.
- Оба провайдера возвращают `session_id`; OpenClaw предоставляет его как `sessionId` в
  полезной нагрузке инструмента, чтобы вызывающая сторона могла группировать последующие поиски.
  Идентификатор сеанса, созданный Parallel (то есть не переданный вызывающей стороной), исключается
  из записи кеша, поскольку несвязанные задачи с одинаковыми запросами не должны
  наследовать его.
- `searchId`, `warnings` и `usage` от Parallel передаются без изменений при
  наличии.
- OpenClaw всегда передаёт Parallel определённое количество результатов как
  `advanced_settings.max_results` (`parallel`) или применяет `count`
  на стороне клиента после ответа Parallel фиксированного размера (`parallel-free`). Аргумент
  `count` вызывающей стороны имеет наивысший приоритет, затем используется `tools.web.search.maxResults`, а иначе —
  универсальное значение `web_search` OpenClaw по умолчанию (5); собственное значение API Parallel по умолчанию
  равно 10.
- По умолчанию результаты кешируются на 15 минут (`cacheTtlMinutes`).
- `parallel-free` создаёт новый `session_id` для каждого вызова посредством согласования MCP,
  если вызывающая сторона его не предоставляет; `parallel` в таком
  случае оставляет его незаданным.

## Связанные материалы

- [Обзор веб-поиска](/ru/tools/web) — все провайдеры и автоматическое обнаружение
- [Поиск Exa](/ru/tools/exa-search) — нейронный поиск с извлечением содержимого
- [Поиск Perplexity](/ru/tools/perplexity-search) — структурированные результаты с фильтрацией по доменам
