Для получения чистого 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.

Web Fetch

MD версия

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

Инструмент сервера openrouter:web_fetch предоставляет любой модели возможность получать содержимое по конкретному URL. Когда модели нужно прочитать веб‑страницу или PDF‑документ, она вызывает инструмент с URL. VEGA получает и извлекает содержимое, возвращая текст, который модель может использовать в своём ответе.

Как это работает

  1. Вы включаете { "type": "openrouter:web_fetch" } в массив tools.
  2. На основе подсказки пользователя модель решает, нужно ли ей получать URL, и формирует запрос.
  3. VEGA получает URL, используя настроенный движок (по умолчанию auto, который использует нативный fetch провайдера, если он доступен, или переключается на Exa).
  4. Содержимое страницы (текст, заголовок и URL) возвращается модели.
  5. Модель включает полученное содержимое в свой ответ. При необходимости она может получить несколько URL за один запрос.

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

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: 'Summarize the content at https://example.com/article'
      }
    ],
    tools: [
      { type: 'openrouter:web_fetch' }
    ]
  }),
});

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": "Summarize the content at https://example.com/article"
      }
    ],
    "tools": [
      {"type": "openrouter:web_fetch"}
    ]
  }
)

data = response.json()
print(data["choices"][0]["message"]["content"])
bash
curl https://api.vega.chat/api/v1/chat/completions \
  -H "Authorization: Bearer {{API_KEY_REF}}" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "{{MODEL}}",
    "messages": [
      {
        "role": "user",
        "content": "Summarize the content at https://example.com/article"
      }
    ],
    "tools": [
      {"type": "openrouter:web_fetch"}
    ]
  }'

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

Инструмент web fetch принимает необязательный параметр parameters для настройки поведения:

json
{
  "type": "openrouter:web_fetch",
  "parameters": {
    "engine": "exa",
    "max_uses": 10,
    "max_content_tokens": 100000,
    "allowed_domains": ["docs.example.com"],
    "blocked_domains": ["private.example.com"]
  }
}
ПараметрТипПо умолчаниюОписание
enginestringautoДвижок получения: auto, native, exa, openrouter, firecrawl или parallel
max_usesintegerМаксимальное количество запросов за один вызов. При превышении возвращается ошибка
max_content_tokensintegerМаксимальная длина содержимого в приблизительных токенах. При превышении происходит усечение
allowed_domainsstring[]Разрешённые домены для получения
blocked_domainsstring[]Запрещённые домены для получения

Выбор движка

Инструмент web fetch поддерживает несколько движков получения:

  • auto (по умолчанию): использует нативный fetch, если провайдер его поддерживает, иначе переключается на Exa
  • native: принудительно использует встроенный в провайдера web fetch
  • exa: использует API Contents от Exa для извлечения содержимого страниц (поддерживает BYOK)
  • openrouter: использует прямой HTTP‑fetch с извлечением содержимого
  • firecrawl: использует API скрейпа от Firecrawl (BYOK — bring your own key)
  • parallel: использует API extract от Parallel для высококачественного извлечения содержимого

Возможности движков

ФункцияExaParallelFirecrawlVEGANative
Фильтрация доменовYesYesYesYesVaries
Усечение токеновYesYesYesYesNo
API‑ключServer-side or BYOKServer-sideBYOK (your key)Server-sideProvider-handled
Жёсткий лимитNoneNoneNone50/request50/request

Firecrawl (BYOK)

Firecrawl использует ваш собственный API‑ключ. Чтобы настроить:

  1. Перейдите в Настройки плагина VEGA (VEGA plugin settings) и укажите ваш API‑ключ Firecrawl.
  2. Ваш аккаунт Firecrawl оплачивается отдельно от VEGA.

Жёсткие лимиты

Для предотвращения неконтролируемых расходов:

  • Движок Exa: без жёсткого лимита (оплата через кредиты API)
  • Движок Parallel: без жёсткого лимита (оплата через кредиты API)
  • Движок Firecrawl: без жёсткого лимита (используются ваши кредиты Firecrawl)
  • Движки VEGA/Native: жёсткий лимит — 50 запросов получения за один запрос

Фильтрация доменов

Ограничьте, какие домены могут быть получены, используя allowed_domains и blocked_domains:

json
{
  "type": "openrouter:web_fetch",
  "parameters": {
    "allowed_domains": ["docs.example.com", "api.example.com"],
    "blocked_domains": ["internal.example.com"]
  }
}

Если задан allowed_domains, будут получены только URL из указанных доменов.
Если задан blocked_domains, URL из этих доменов будут отклонены.

Усечение содержимого

Используйте max_content_tokens, чтобы ограничить объём возвращаемого содержимого:

json
{
  "type": "openrouter:web_fetch",
  "parameters": {
    "max_content_tokens": 50000
  }
}

Содержимое, превышающее этот предел, будет усечено. Это полезно для контроля использования окна контекста при получении больших страниц.

Работает с Responses API

Инструмент web fetch также совместим с Responses API:

typescript
const response = await fetch('https://api.vega.chat/api/v1/responses', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer {{API_KEY_REF}}',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: '{{MODEL}}',
    input: 'What does the documentation at https://example.com/docs say?',
    tools: [
      { type: 'openrouter:web_fetch', parameters: { max_content_tokens: 50000 } }
    ]
  }),
});

const data = await response.json();
console.log(data);
python
import requests

response = requests.post(
  "https://api.vega.chat/api/v1/responses",
  headers={
    "Authorization": f"Bearer {{API_KEY_REF}}",
    "Content-Type": "application/json",
  },
  json={
    "model": "{{MODEL}}",
    "input": "What does the documentation at https://example.com/docs say?",
    "tools": [
      {"type": "openrouter:web_fetch", "parameters": {"max_content_tokens": 50000}}
    ]
  }
)

data = response.json()
print(data)

Формат ответа

Когда модель вызывает инструмент web fetch, она получает ответ вида:

json
{
  "url": "https://example.com/article",
  "title": "Article Title",
  "content": "The full text content of the page...",
  "status": "completed",
  "retrieved_at": "2025-07-15T14:30:00.000Z"
}

Если получение завершилось неудачей, в ответе будет ошибка:

json
{
  "url": "https://example.com/404",
  "status": "failed",
  "error": "HTTP 404: Page not found"
}

Ценообразование

ДвижокЦенообразование
Exa100 ₽ за 1 000 запросов
Parallel100 ₽ за 1 000 запросов
FirecrawlИспользует ваши кредиты Firecrawl напрямую — без оплаты от VEGA
VEGAБесплатно
NativeПередаётся от провайдера

Все цены добавляются к стандартным затратам на токены LLM за обработку полученного содержимого.

Следующие шаги