Для получения чистого Markdown любой страницы добавьте .md к URL страницы.
Для полного индекса документации см. https://api.vega.chat/docs/llms.txt.
Для полного содержания документации см. https://api.vega.chat/docs/llms-full.txt.
Для интеграции AI‑клиентов (Claude Code, Cursor и др.) подключитесь к серверу MCP по адресу https://api.vega.chat/docs/_mcp/server.

Fusion

MD версия

Инструменты сервера находятся в бета‑версии. API и поведение могут измениться.

Инструмент сервера openrouter:fusion предоставляет любой модели возможность многомодельного обсуждения. Когда ваша модель решает, что запрос выигрывает от нескольких точек зрения, она вызывает этот инструмент — панель моделей отвечает параллельно, судья сравнивает их ответы, и структурированный анализ возвращается вашей модели для окончательного ответа.

Это тот же конвейер, который стоит за openrouter/fusion псевдонимом модели и fusion плагином. Прямое использование инструмента сервера даёт вам наибольший контроль: выбирайте свою внешнюю модель, комбинируйте её с другими инструментами и настраивайте панель и судью независимо.

Быстрый старт

typescript
const response = await fetch('https://api.vega.chat/api/v1/chat/completions', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer {{API_KEY_REF}}',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: '{{MODEL}}',
    messages: [
      {
        role: 'user',
        content: 'Survey the strongest arguments for and against a carbon tax. Where do experts disagree?',
      },
    ],
    tools: [
      { type: 'openrouter:fusion' },
    ],
  }),
});

const data = await response.json();
console.log(data.choices[0].message.content);
python
import requests

response = requests.post(
  "https://api.vega.chat/api/v1/chat/completions",
  headers={
    "Authorization": f"Bearer {{API_KEY_REF}}",
    "Content-Type": "application/json",
  },
  json={
    "model": "{{MODEL}}",
    "messages": [
      {
        "role": "user",
        "content": "Survey the strongest arguments for and against a carbon tax. Where do experts disagree?",
      },
    ],
    "tools": [
      {"type": "openrouter:fusion"},
    ],
  },
)
print(response.json()["choices"][0]["message"]["content"])

Когда модель вызывает инструмент?

Описание инструмента говорит модели вызывать openrouter:fusion только тогда, когда задача действительно выигрывает от нескольких точек зрения — исследовательские вопросы, многодоменная критика, запросы «сравнить и противопоставить» или любые ситуации, где ошибка дорого стоит. Простые тактические запросы не активируют его.

Чтобы заставить использовать fusion в каждом запросе, установите tool_choice: "required". См. Принудительное использование fusion в каждом запросе.

Параметры

Можно передать необязательный объект parameters в запись инструмента, чтобы переопределить значения по умолчанию:

json
{
  "tools": [
    {
      "type": "openrouter:fusion",
      "parameters": {
        "analysis_models": [
          "~google/gemini-flash-latest",
          "deepseek/deepseek-v3.2",
          "~moonshotai/kimi-latest"
        ],
        "model": "~anthropic/claude-opus-latest"
      }
    }
  ]
}
ПолеЗначение по умолчаниюОписание
analysis_modelsПредустановка качества (~anthropic/claude-opus-latest, ~openai/gpt-latest, ~google/gemini-pro-latest)Модели, формирующие панель. Каждая работает параллельно с включёнными openrouter:web_search и openrouter:web_fetch. Допустимо от 1 до 8 моделей.
modelВаша внешняя модельСудья, который формирует JSON‑структурированный анализ. По умолчанию используется та же модель, что обрабатывает ваш запрос.
max_tool_calls8Максимальное количество шагов вызова инструмента, которое каждая модель панели и судья могут выполнить в их цикле openrouter:web_search / openrouter:web_fetch до возврата текста. Диапазон 1–16.
max_completion_tokensЗначение по умолчанию провайдераМаксимальное количество токенов вывода (включая рассуждения) для каждого внутреннего вызова панели/судьи. Позволяет избежать исчерпания бюджета у моделей, склонных к длительным рассуждениям.
reasoningЗначение по умолчанию провайдераКонфигурация рассуждений, передаваемая в вызовы панели и судьи — объект с необязательными полями effort и max_tokens.
temperatureЗначение по умолчанию провайдераТемпература сэмплинга (02), передаваемая в вызовы панели и судьи.

Что возвращает инструмент

При успешном выполнении результат инструмента содержит структурированный анализ и необработанные ответы панели:

json
{
  "status": "ok",
  "analysis": {
    "consensus": ["Points all or most panel models agreed on"],
    "contradictions": [
      { "topic": "...", "stances": [{ "model": "...", "stance": "..." }] }
    ],
    "partial_coverage": [
      { "models": ["..."], "point": "Only some models covered this" }
    ],
    "unique_insights": [
      { "model": "...", "insight": "Something only one model raised" }
    ],
    "blind_spots": ["Topics no panel model addressed"]
  },
  "responses": [
    { "model": "anthropic/claude-opus-4.5", "content": "..." },
    { "model": "openai/gpt-4.1", "content": "..." },
    { "model": "google/gemini-2.5-pro", "content": "..." }
  ]
}

Если некоторые модели панели выдают ошибку, но хотя бы одна успешно завершилась, результат всё равно имеет status: "ok" и добавляет массив failed_models, описывающий, какие модели не справились и почему.

Деградация судьи

Если панель завершилась успешно, а судья не смог — произошла ошибка upstream, пустой вывод или результат, не являющийся валидным JSON‑анализом — инструмент не выдаёт ошибку. Он возвращает status: "ok" с необработанными responses панели и просто опускает поле analysis. Ваша модель всё равно может сформировать окончательный ответ, опираясь на ответы панели:

json
{
  "status": "ok",
  "responses": [
    { "model": "anthropic/claude-opus-4.5", "content": "..." }
  ]
}

Критические сбои

Инструмент возвращает status: "error" только когда не может предоставить полезный вывод. В этом случае включается типизированный failure_reason:

json
{
  "status": "error",
  "error": "all panel models failed",
  "failure_reason": "all_panels_failed"
}
ПричинаЗначение
all_panels_failedВсе модели панели вернули ошибку.
insufficient_creditsВсе модели панели не смогли выполнить запрос из‑за недостатка кредитов.
rate_limitedВсе модели панели получили ограничение по частоте запросов.
fusion_invocation_cappedFusion уже был вызван ранее в том же ходу; второй вызов отклонён.
unexpected_errorНеожиданная ошибка прервала выполнение fusion.

Модель‑вызывающая может перейти к ответу без анализа, если fusion не удался или деградировал.

Веб‑инструменты

openrouter:web_search и openrouter:web_fetch включены как в вызовы панели, так и судьи, поэтому модели могут получать свежие источники во время ответа и анализа. Судья сравнивает ответы панели, а не просто объединяет их: он рассматривает согласованные выводы как более надёжный консенсус, выделяет противоречия, сохраняет уникальные инсайты отдельных моделей и отмечает слепые зоны, которые никто не затронул. Внешняя модель формирует окончательный ответ на основе этого анализа — результат не является простым голосованием большинства.

Защита от рекурсии

Внутренние вызовы fusion передают заголовок x-openrouter-fusion-depth. Модели панели и судьи не могут рекурсивно вызывать openrouter:fusion — плагин отказывается вставлять инструмент второй раз, ограничивая обсуждение одним уровнем.

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