Для получения чистого 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 Router
Fusion Router (openrouter/fusion) предоставляет вашей модели доступ к инструменту многомодельного обсуждения. При вызове панель моделей отвечает на ваш запрос параллельно, затем модель‑судья сравнивает их ответы и возвращает структурированный анализ — согласие, противоречия, пробелы в покрытии, уникальные инсайты и слепые зоны. Ваша модель использует этот анализ, чтобы написать лучший окончательный ответ.
Обзор
Используйте Fusion, когда одной модели недостаточно — исследовательские вопросы, экспертная критика, запросы «сравнить и противопоставить» или любые задачи, где стоимость ошибки превышает стоимость нескольких дополнительных завершений.
Как это работает
flowchart LR
request[Your request] --> model[Your model]
model -- calls openrouter:fusion --> panel[Panel<br />up to 8 models<br />+ web_search + web_fetch]
panel --> judge[Judge / analysis<br />+ web_search + web_fetch<br />structured JSON]
judge -- analysis --> model
model --> answer[Final answer]- Вы отправляете запрос с
model: "openrouter/fusion". Маршрутизатор разрешает псевдоним в реальную модель и прикрепляет инструментopenrouter:fusion. - Ваша модель читает подсказку и решает, требует ли задача обсуждения. Если да, она вызывает
openrouter:fusion. (Используйтеtool_choice: "required", чтобы гарантировать вызов.) - Панель — набор моделей — отвечает на ваш запрос параллельно, каждая с включёнными
openrouter:web_searchиopenrouter:web_fetch. - Судья получает все ответы панели, с доступом к
openrouter:web_searchиopenrouter:web_fetch, и сравнивает их — он не объединяет их. Он возвращает структурированный анализ в виде JSON: что согласовано большинством моделей (рассматривается как более надёжный консенсус), где есть разногласия, какие части покрыты только некоторыми моделями, уникальные инсайты отдельных моделей и слепые зоны, которые никто не затронул. - Ваша модель получает анализ и пишет окончательный ответ.
openrouter:web_search и openrouter:web_fetch включены как в вызовах панели, так и в вызове судьи, поэтому модели могут получать свежие источники во время ответа и анализа.
Два способа использования
{
"model": "openrouter/fusion",
"messages": [
{ "role": "user", "content": "What are the strongest arguments for and against carbon taxes?" }
]
}{
"model": "~anthropic/claude-opus-latest",
"messages": [
{ "role": "user", "content": "What are the strongest arguments for and against carbon taxes?" }
],
"tools": [
{ "type": "openrouter:fusion" }
]
}Оба варианта используют один и тот же конвейер. Псевдоним модели проще — он автоматически внедряет инструмент, так что вам не нужно его объявлять. Формат серверного инструмента даёт больше контроля (выбираете свою внешнюю модель, комбинируете Fusion с другими инструментами).
В обоих случаях модель решает, когда вызывать openrouter:fusion. Для подсказок, не требующих обсуждения, она отвечает напрямую — включая вызов любых других объявленных вами инструментов. Добавьте tool_choice: "required", чтобы принудительно включать Fusion в каждый запрос.
Быстрый старт
import { OpenRouter } from '@openrouter/sdk';
const client = new OpenRouter({
apiKey: '<VEGA_API_KEY>',
});
const completion = await client.chat.send({
model: 'openrouter/fusion',
messages: [
{
role: 'user',
content: 'Survey the strongest arguments for and against a carbon tax. Where do experts disagree?',
},
],
});
console.log(completion.choices[0].message.content);curl https://api.vega.chat/api/v1/chat/completions \
-H "Authorization: Bearer $VEGA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "openrouter/fusion",
"messages": [
{"role": "user", "content": "Survey the strongest arguments for and against a carbon tax. Where do experts disagree?"}
]
}'Конфигурация
Вы можете переопределить панель и судью, явно объявив инструмент с блоком parameters. Это необязательно — просто опустите его, и Fusion использует предустановки качества по умолчанию.
const completion = await client.chat.send({
model: '~anthropic/claude-opus-latest',
messages: [
{
role: 'user',
content: 'Compare ridge, lasso, and elastic-net regression. Where does each shine?',
},
],
tools: [
{
type: 'openrouter:fusion',
parameters: {
analysis_models: [
'~anthropic/claude-opus-latest',
'~openai/gpt-latest',
'~google/gemini-pro-latest',
],
model: '~openai/gpt-latest',
},
},
],
});curl https://api.vega.chat/api/v1/chat/completions \
-H "Authorization: Bearer $VEGA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "~anthropic/claude-opus-latest",
"messages": [
{"role": "user", "content": "Compare ridge, lasso, and elastic-net regression."}
],
"tools": [
{
"type": "openrouter:fusion",
"parameters": {
"analysis_models": ["~anthropic/claude-opus-latest", "~openai/gpt-latest", "~google/gemini-pro-latest"],
"model": "~openai/gpt-latest"
}
}
]
}'Принудительный запуск Fusion для каждого запроса
По умолчанию модель решает, когда вызывать openrouter:fusion. Чтобы гарантировать его запуск для каждого запроса, установите tool_choice: "required":
const completion = await client.chat.send({
model: 'openrouter/fusion',
messages: [
{
role: 'user',
content: 'Compare ridge, lasso, and elastic-net regression.',
},
],
tool_choice: 'required',
});curl https://api.vega.chat/api/v1/chat/completions \
-H "Authorization: Bearer $VEGA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "openrouter/fusion",
"messages": [
{"role": "user", "content": "Compare ridge, lasso, and elastic-net regression."}
],
"tool_choice": "required"
}'Поскольку openrouter/fusion внедряет только один инструмент (openrouter:fusion), требование какого‑то вызова инструмента фактически заставляет выполнить Fusion. Если ваш запрос также содержит другие инструменты, модель может выбрать один из них вместо Fusion.
Ответ
Поле model в ответе указывает конкретную модель, которая обработала запрос — а не псевдоним openrouter/fusion:
{
"id": "gen-...",
"model": "anthropic/claude-opus-4.5",
"choices": [
{
"message": {
"role": "assistant",
"content": "..."
}
}
]
}Чтобы убедиться, что генерация прошла через Fusion Router, проверьте метаданные генерации. Поле router будет содержать openrouter/fusion:
{
"data": {
"id": "gen-...",
"model": "anthropic/claude-opus-4.5",
"router": "openrouter/fusion"
}
}Стоимость
Fusion выполняет N вызовов панели + 1 вызов судьи в дополнение к вашему обычному запросу. При панели из трёх моделей ожидайте примерно 4–5× стоимости одного завершения того же запроса. Стоимость растёт линейно с размером панели.
Защита от рекурсии
Внутренние вызовы Fusion передают заголовок x-openrouter-fusion-depth. Модели панели и судьи не могут рекурсивно вызывать openrouter:fusion — плагин отказывается внедрять инструмент второй раз, ограничивая обсуждение одним уровнем.
Связанные материалы
openrouter:fusionserver tool- Fusion plugin
- Auto Router
- Pareto Router
/labs/fusion— интерактивная площадка