Быстрый старт с Vane (Perplexica 2.0) с использованием Ollama и llama.cpp
Самохостинговый ИИ-поиск с локальными LLM
Vane — один из наиболее прагматичных проектов в сегменте «AI-поиск со ссылками на источники»: самохостингуемый движок ответов, который сочетает живой веб-поиск с локальными или облачными LLM, сохраняя при этом полный контроль над всем стеком за вами.
Изначально проект назывался Perplexica, и переименование в Vane носит не косметический характер: оно отражает как обновление брендинга, так и последовательный отход от образа «клона» к положению общего поискового движка.

Поскольку полезная часть стека — это не только интерфейс, но и то, где располагаются вычисления и данные, это сравнение способов хостинга LLM в 2026 году объединяет локальные, самохостингуемые и облачные конфигурации, позволяя разместить Vane рядом с другими рантаймами и вариантами развертывания.
Эта статья сосредоточена на аспектах, которые действительно интересны техническим читателям: как работает система, минимальный быстрый старт с Docker и как запустить систему с локальными вычислениями через Ollama и llama.cpp (напрямую или через LM Studio). По ходу изложения каждый вопрос из FAQ разбирается в контексте, а не отложен в конец статьи.
Vane намеренно является движком ответов, а не системой рекурсивного исследования, и важно точно определить это различие. Самостоятельно хостируемые системы глубокого исследования: сравнение 12 инструментов сопоставляет Vane с двенадцатью архитектурами самостоятельного хостинга для исследований и объясняет, почему «выполняет несколько поисковых запросов» — это не то же самое, что «проводит глубокое исследование».
Что такое Vane и как работают ИИ-поисковые движки
На высоком уровне Vane представляет собой приложение на Next.js, объединяющее чат-интерфейс с поиском и цитированием. Основные архитектурные компоненты — это именно то, чего вы ожидали бы от современного ИИ-поискового движка: API-маршруты для чата и поиска, оркестрация, которая решает, когда выполнять извлечение данных, и генератор ответов с поддержкой цитирования.
Когда вы отправляете запрос в интерфейсе, Vane вызывает POST /api/chat. Внутренний рабочий процесс намеренно структурирован:
- Сначала он классифицирует вопрос, чтобы решить, нужно ли проводить исследование и какие вспомогательные инструменты должны быть запущены.
- Он выполняет исследования и виджеты параллельно.
- Он генерирует окончательный ответ и включает в него цитаты.
Метка «ИИ-поисковый движок» имеет значение, потому что это не просто чат-фронтенд. Ключевое отличие — генерация, усиленная извлечением данных (RAG): вместо того чтобы полагаться исключительно на параметры LLM, Vane получает внешний контекст (результаты веб-поиска и, по желанию, загруженные пользователем файлы) и использует этот материал в качестве основы для финального ответа. Документация явно указывает на веб-поиск и «поиск по файлам, загруженным пользователем» как часть исследовательского процесса, с использованием эмбеддингов для семантического поиска по загруженным файлам.
Цитирование — это не事後ное дополнение. Vane подсказывает модели указывать использованные источники, а затем интерфейс отображает эти цитаты рядом с ответом. На практике именно это отличает «полезный» ИИ-поиск от уверенного генератора галлюцинаций, у которого просто есть кнопка поиска.
Для большинства конфигураций под слоем веб-извлечения данных находится SearxNG. SearxNG — это бесплатный метапоисковый движок, который агрегирует результаты из многих поисковых сервисов и, по своему замыслу, не отслеживает и не профилирует пользователей. Это принципиально другая философия, чем у платных поисковых API, которые обычно предоставляют индекс одного вендора и коммерческий договор на данные.
История перехода от Perplexica к Vane
Perplexica начался как open-source, самостоятельно хостируемый движок ответов, вдохновленный Perplexity AI. Несколько публичных руководств все еще описывают проект как «прежде известный как Perplexica» и рассматривают Vane как продолжение, а не враждебную вилку.
Переименование было реализовано непосредственно в исходном репозитории. В истории коммитов ветки master коммит с заголовком feat(app): rename to 'vane' появился 9 марта 2026 года (SHA 39c0f19).
«Как» интереснее, чем «что». Этот коммит с переименованием — не просто правка README: он обновляет имена образов Docker с itzcrazykns1337/perplexica на itzcrazykns1337/vane, корректирует пути файловой системы контейнера с /home/perplexica на /home/vane и соответствующим образом обновляет текстовые и графические ресурсы проекта.
Если вы задаетесь вопросом, почему open-source ИИ-проекты переименовываются, то Vane является учебным примером обычных причин:
- Близость названия к коммерческому бренду создает путаницу (а иногда и правовой риск).
- Обхват проекта расширяется за пределы первоначального описания (от «клона» к «движку ответов»).
- Артефактам дистрибуции нужна согласованная идентичность (образы Docker, документация, подписи в интерфейсе).
Кроме того, экосистема не меняет имена мгновенно. На Docker Hub по-прежнему отображаются оба репозитория в учетной записи мейнтейнера, включая itzcrazykns1337/vane и itzcrazykns1337/perplexica. Поэтому вы по-прежнему будете видеть старые блоги, compose-файлы и ссылки в реестрах, использующие имя Perplexica, даже после ребрендинга репозитория.
Быстрый старт с Docker и базовая настройка
Официальный README проекта Vane удивительно прямой: запустите один контейнер, и вы получите Vane плюс встроенный поисковый бэкенд SearxNG. Минимальный быстрый старт с Docker выглядит так.
docker run -d -p 3000:3000 -v vane-data:/home/vane/data --name vane itzcrazykns1337/vane:latest
Этот образ позиционируется как путь «просто работает», потому что он уже включает SearxNG, поэтому вам не нужен внешний поисковый бэкенд, чтобы просто протестировать интерфейс. Настройка происходит на экране конфигурации после открытия веб-интерфейса по адресу http://localhost:3000.
Если вы уже запускаете SearxNG (что часто встречается в домашних лабораториях), «облегченный» образ Vane предполагает, что вы укажете адрес внешней инстанса SearxNG, используя переменную SEARXNG_API_URL. В README также упоминаются два практических ожидания по настройкам SearxNG: включение вывода в формате JSON и включение движка Wolfram Alpha.
docker run -d -p 3000:3000 \
-e SEARXNG_API_URL=http://your-searxng-url:8080 \
-v vane-data:/home/vane/data \
--name vane \
itzcrazykns1337/vane:slim-latest
Поддержание актуальности Vane также задокументировано в репозитории. Официальный процесс обновления сводится к получению последнего образа и перезапуску с тем же томом, что сохраняет настройки.
docker pull itzcrazykns1337/vane:latest
docker stop vane
docker rm vane
docker run -d -p 3000:3000 -v vane-data:/home/vane/data --name vane itzcrazykns1337/vane:latest
После того как вы запустили систему, Vane можно использовать как быстрый переход для поисковой системы в браузере, указав пользовательский движок на http://localhost:3000/?q=%s. Это небольшая функция с непропорционально большим воздействием, если вы хотите, чтобы «ИИ-поиск» ощущался как поиск, а не как приложение, в которое нужно заходить.
Для автоматизации и интеграции Vane предоставляет API. Документация описывает GET /api/providers для обнаружения настроенных провайдеров и моделей, а POST /api/search для выполнения поиска с выбранным чат-моделью, моделью эмбеддингов, источниками и параметром optimizationMode (скорость, сбалансированный режим, качество).
Настройка локальных LLM с Ollama
Vane поддерживает локальные LLM через Ollama и облачных провайдеров в одном и том же интерфейсе, что является правильной абстракцией, если вы мыслите категориями «соединений» и «моделей», а не «вендоров».
Шпаргалка по Ollama перечисляет распространенные команды CLI и быстрые проверки API, которые хорошо дополняют выбор моделей и проверку Ollama перед тем, как вы будете отлаживать проблемы с сетью Docker.
Самая распространенная проблема — это не выбор модели, а сетевые настройки. Когда Vane работает в Docker, а Ollama — на хосте, «localhost» внутри контейнера означает не то, что вы думаете. Vane документирует URL базы, специфичные для ОС, для подключения к Ollama из контейнера.
Подводные камни подключения с Docker
Раздел устранения неполадок Vane явно рекомендует:
- Для Windows и macOS:
http://host.docker.internal:11434 - Для Linux:
http://<приватный_ip_хоста>:11434
Для Linux Vane также отмечает, что Ollama по умолчанию может быть связан с 127.0.0.1 и нуждается в экспозиции. В README предлагается установить OLLAMA_HOST=0.0.0.0:11434 в сервисе systemd и перезапустить сервис.
Это соответствует собственным переменным окружения serve в Ollama, где OLLAMA_HOST управляет адресом привязки сервера и по умолчанию составляет 127.0.0.1:11434.
Держите модели «теплыми» и выбирайте модели
Если вы выполняете локальные вычисления, вы почувствуете задержки холодного старта. В Ollama есть два связанных механизма для удержания моделей в загруженном состоянии:
OLLAMA_KEEP_ALIVEкак настройка сервера.keep_aliveкак параметр для каждого запроса для/api/generateи/api/chat, который переопределяет значение по умолчанию на сервере.
Vane добавил собственную поддержку keep_alive для моделей Ollama (чтобы приложение могло влиять на то, как долго модель остается в памяти). Эта функция появилась в заметках к релизу Vane v1.10.0.
Выбор моделей — это та часть, которая часто становится чрезмерно усложненной в интернете. Для задач в стиле Vane наиболее практичное разделение таково:
- Чат-модель, обученная на инструкциях (для суммаризации и синтеза).
- Модель эмбеддингов для поиска по сходству среди загруженных файлов и извлеченного текста. Документация API Vane показывает, что запрос поиска явно выбирает как чат-модель, так и модель эмбеддингов.
Сам Ollama поддерживает рабочие процессы с эмбеддингами, и даже документация CLI включает пример использования nomic-embed-text для эмбеддингов.
Это также ответ на вопрос из FAQ о том, как запускать ИИ-поиск локально без облачных API: с Vane в Docker, локальным SearxNG и Ollama на вашем оборудовании вы можете удерживать как свои поисковые запросы, так и загруженные конфиденциальные документы внутри собственных сетевых границ. (Если вы решите подключиться к облачному провайдеру, путь данных, очевидно, изменится.)
Настройка локальных LLM с llama.cpp
Есть два реалистичных способа связать Vane с llama.cpp:
- Используйте LM Studio как серверный слой (и позвольте Vane общаться с ним).
- Запустите собственный HTTP-сервер llama.cpp (llama-server) и подключитесь через совместимый с OpenAI конечный пункт.
Vane явно поддерживает «Локальные серверы, совместимые с OpenAI-API» и указывает на типичные требования: привязка к 0.0.0.0, а не к 127.0.0.1, использование правильного порта, установка имени модели, существующего на сервере, и не оставление поля API-ключа пустым, даже если сервер не требует аутентификации.
LM Studio здесь актуален, потому что он работает поверх локальных бэкендов (часто llama.cpp), предоставляя API, совместимый с OpenAI. В Vane v1.12.1 специально отмечено добавление провайдера LM Studio.
Документация LM Studio перечисляет поддерживаемые совместимые с OpenAI конечные пункты и приводит пример URL базы с использованием http://localhost:1234/v1 (предполагая порт 1234). Это важно, потому что с точки зрения Vane это «просто еще один сервер в стиле OpenAI».
Если вы предпочитаете запускать llama.cpp напрямую, [Быстрый старт с llama.cpp с CLI и Server](https://www.glukhov.org/ru/llm-hosting/llama-cpp/ “Установка llama.cpp, запуск GGUF моделей с llama-cli и обслуживание API, совместимых с OpenAI, с использованием llama-server. Ключевые флаги, примеры и советы по настройке с короткой шпаргалкой по командам”}) охватывает установку, llama-cli и llama-server. Официальный HTTP-сервер llama.cpp поддерживает совместимые с OpenAI API маршруты для chat completions, responses и embeddings, а также длинный список функций сервера (батчинг, мониторинг, использование инструментов).
Даже если вы не запоминаете все флаги, важны следующие моменты:
- Сервер существует и активно документируется.
- Поверхность API достаточно совместима, чтобы клиенты в стиле OpenAI могли с ним общаться, что как раз и нужно Vane для его паттерна подключения «совместимо с OpenAI».
Что недавно вышло и что меняется сейчас
Если вы хотите понять, чем стал Vane за последний год, следите за заметками о релизах и историей ветки master, а не за хайпом.
По состоянию на 10 апреля 2026 года (Часовой пояс Австралия/Мельбурн), последним помеченным релизом GitHub, видимым на странице релизов, является v1.12.1 (31 декабря 2025 года). В заметках этого релиза указано добавление провайдера LM Studio и исправления, связанные с вызовами функций с провайдерами, совместимыми с OpenAI, и разбором JSON.
Предшествующие релизы очерчивают более крупные сдвиги:
- v1.11.0 (21 октября 2025 года) представил новый мастер настройки и переработанную систему конфигурации, а также расширенную поддержку провайдеров и путь установки Docker одной командой. Также упоминается динамическое получение моделей и различные улучшения пользовательского интерфейса и опыта разработчика.
- v1.12.0 (27 декабря 2025 года) — это архитектурный сброс: он удаляет LangChain в пользу собственной реализации для потоковой передачи, генерации и поведения, специфичного для провайдеров. Он также переименовывает «провайдеров» в «соединения», добавляет улучшения рендеринга пользовательского интерфейса и кода и переносит больше возможностей в собственные абстракции проекта (включая улучшенный вызов функций по сравнению с предыдущими подходами к разбору).
- Ранее, v1.10.0 (20 марта 2025 года) добавил загрузку файлов (PDF, TXT, DOCX), добавил параметр Ollama keep_alive, добавил класс агента метапоиска для улучшения поддерживаемости и создания режима фокусировки, а также добавил автоматическую функциональность поиска изображений и видео.
Со стороны брендинга, переименование в Vane состоялось 9 марта 2026 года в ветке master (feat(app): rename to 'vane'), обновив как именование в кодовой базе, так и артефакты Docker.
И проект не прекратил эволюцию после релиза в декабре 2025 года. Коммиты в ветке master от 8–9 апреля 2026 года включают работу, описанную как «обновленный режим глубокого исследования, управление контекстом», а также новые изменения, связанные с выполнением поиска и скрейпингом. Иными словами, часть «ИИ-поискового движка» все еще активно дорабатывается, а не заморожена за метками релизов.