Почему все побежали настраивать локальный поиск
Remember Perplexity? Тот самый AI-поисковик, который отвечал с ссылками. В 2025 его заблокировали для российских пользователей (опять эти санкции). А в 2026 блокировки стали массовыми - даже VPN не всегда спасает. Решение? Запустить свой поиск локально. Без API, без ограничений, без слежки.
LM Studio - один из самых удобных способов запускать LLM на своем компьютере. Но его встроенный поиск... скажем так, оставлял желать лучшего. До недавнего времени.
В марте 2026 вышло обновление плагинов для веб-поиска. И появился фикс для главной проблемы - падений при использовании tool calls с моделями вроде Qwen 3.5 32B. Вот как это настроить.
Важно: этот метод полностью локальный. Никакие данные не уходят в облака (кроме самих запросов к поисковику, но их можно направлять через анонимные прокси).
Что нам понадобится для локального гуглинга
- LM Studio версии 2.1 или новее (на 23.03.2026 актуальна 2.1.3). Скачать с официального сайта.
- Модель, которая поддерживает tool calls. Рекомендую Qwen 3.5 32B (или новую Qwen 4, если она уже вышла). Но подойдет любая модель с функцией вызова инструментов.
- Плагины для LM Studio: Web Search Plugin и возможно, DuckDuckGo Plugin. Но лучше использовать обновленные версии из LM Studio Hub.
- Немного терпения и знание, где у вас кнопка "Download".
Если вы раньше не сталкивались с LM Studio, посмотрите полный гид по запуску LLM офлайн - там основы.
Ставим плагины: не все так просто
Раньше плагины для веб-поиска в LM Studio были сырыми. Они падали, не возвращали результаты, или вообще не работали. В 2026 году ситуация улучшилась, но появилась новая проблема - несовместимость с некоторыми моделями.
Особенно с Qwen. Эта модель требует специфичного формата для tool calls, и стандартные плагины ломаются. Но есть решение.
1Устанавливаем плагины через LM Studio Hub
Откройте LM Studio. Перейдите в раздел "Plugins" и откройте "Hub". Найдите "Web Search" или "DuckDuckGo Search". Установите последнюю версию (на 23.03.2026 это v1.2.0 для Web Search).
Плагин DuckDuckGo - это классика, но он может быть заблокирован. Поэтому лучше использовать Web Search Plugin, который поддерживает разные поисковые движки, включая Google (через прокси) и SearXNG.
2Настраиваем плагин: выбираем поисковый движок
После установки, перейдите в настройки плагина. Выберите поисковый движок. Если вы в России, DuckDuckGo может не работать. Используйте SearXNG - это мета-поисковик, который агрегирует результаты из разных источников.
Но SearXNG тоже блокируют. В таком случае, настройте свой собственный экземпляр SearXNG (это тема для отдельной статьи) или используйте Google через прокси. В плагине есть настройки для прокси.
Если не хотите заморачиваться, есть альтернатива - использовать DuckDuckGo через простой скрипт, но этот метод устарел и может не работать с новыми версиями LM Studio.
Баг с tool calls: почему Qwen падает и как это исправить
Вот где начинается магия. Когда вы включаете плагин веб-поиска и выбираете модель Qwen, LM Studio пытается отправить запрос в формате tool call. Но Qwen ожидает немного другую структуру JSON. Результат - ошибка "Invalid tool call" или просто краш.
Фикс - использовать кастомный Jinja шаблон для промптов. Этот шаблон переопределяет способ, которым LM Studio форматирует запросы к модели.
Скопируйте этот код в файл с названием qwen_web_search.jinja и сохраните его в папке шаблонов LM Studio (обычно это ~/Documents/LM Studio/Templates на Windows или ~/Library/Application Support/LM Studio/Templates на Mac).
{{- if not tools -}}
{{- if system -}}
{{ system }}
{{- endif -}}
{{- if messages -}}
{% for message in messages %}
{{ message.role }}: {{ message.content }}
{% endfor %}
{{- endif -}}
{{- if prompt -}}
{{ prompt }}
{{- endif -}}
{{- else -}}
{{- if system -}}
{{ system }}
{{- endif -}}
{{- if messages -}}
{% for message in messages %}
{{ message.role }}: {{ message.content }}
{% endfor %}
{{- endif -}}
{{- if tools -}}
Tools: {{ tools | tojson }}
{{- endif -}}
{{- if prompt -}}
{{ prompt }}
{{- endif -}}
{{- endif -}}Этот шаблон адаптирует формат tool calls для Qwen. Он проверяет, есть ли tools, и если есть, выводит их в JSON. Без этого шаблона LM Studio может отправлять tools в неправильном месте, и Qwen не понимает.
Внимание: этот шаблон работает для Qwen 3.5 и, вероятно, для Qwen 4. Для других моделей могут потребоваться свои шаблоны. Проверяйте документацию модели.
Собираем все вместе: настраиваем LM Studio
3Загружаем модель и применяем шаблон
Загрузите модель Qwen 3.5 32B (или другую, которая поддерживает tool calls). В настройках модели, в разделе "Prompt Template", выберите "Custom" и укажите путь к файлу qwen_web_search.jinja.
Убедитесь, что модель загружена в режиме "Chat" и включена опция "Function Calling" или "Tool Use". В LM Studio 2.1 это делается в настройках сессии.
4Активируем плагин и делаем первый запрос
В интерфейсе чата, нажмите на иконку плагинов и выберите "Web Search". Настройте параметры поиска: количество результатов, регион и т.д.
Теперь спросите что-нибудь, что требует поиска. Например, "Какие новости о SpaceX на этой неделе?"
LM Studio должен автоматически вызвать плагин, выполнить поиск и вернуть результаты. Модель обработает их и даст ответ с ссылками.
А что, если не работает? Альтернативы и подводные камни
Локальный веб-поиск - не панацея. Он медленнее, чем облачные сервисы. И зависит от выбранного поискового движка. Если SearXNG недоступен, а Google блокирует запросы, придется использовать прокси.
Альтернативы LM Studio для локального поиска:
- OpenWebUI с агентами - более гибкое решение, но сложнее в настройке.
- Oobabooga или Jan AI - если нужно запустить сервер для сети.
- Локальный AI-поисковик на OpenWebUI - почти как Perplexity, но у себя на компьютере.
Главный подводный камень - качество поиска. Локальные плагины не используют сложные алгоритмы ранжирования, как Google. Поэтому результаты могут быть менее релевантными.
Кому подойдет этот метод (а кому нет)
Этот способ для тех, кто:
- Хочет полностью контролировать свой поиск без цензуры.
- Имеет мощный компьютер (модели 32B требуют минимум 16GB RAM, а лучше 32GB).
- Готов повозиться с настройками и шаблонами.
Не подойдет, если:
- Нужны мгновенные ответы - локальный поиск занимает секунды, а то и десятки секунд.
- Нет доступа к стабильному интернету для запросов к поисковикам (хотя поиск локальный, запросы идут в интернет).
- Вы не готовы к тому, что что-то может сломаться после обновления LM Studio.
В целом, настройка локального веб-поиска в LM Studio - это рабочий способ заменить Perplexity и другие заблокированные сервисы. С обновленными плагинами и Jinja-фиксом для Qwen, он стал стабильнее. Но будьте готовы к тому, что это не идеально.
И да, если вы разрабатываете веб-приложения, посмотрите Pagesource для дампа сайтов - это может пригодиться для более глубокого анализа.
Удачи в локальном гуглении!