Vane

ItzCrazyKnsMIT活跃维护 有专家点评

基于大模型和 RAG 的 AI 问答搜索引擎,接入 SearXNG 检索后生成带引用的答案,适合自建类似 Perplexica 的智能搜索服务。

Vane is an AI-powered answering engine.

v1.12.2发布于 2026-04-10 13:30 UTC38,153star +99 / 7 天4,283fork同步于 2026-11-10 23:22 UTC

专家点评

上手难度:进阶更新于 2026-11-11

自托管的带引用问答引擎,顶替 Perplexica 这类搜索+LLM 拼装方案

适用场景

  • 内部知识问答:把 PDF 和网页搜索结果一起喂给模型并强制带引用,比直接接 OpenAI 网页搜索更容易审计答案来源
  • 隐私敏感场景:SearxNG 聚合搜索隐藏真实 IP,模型可全走 Ollama 本地,查询不出内网
  • 需要多模型对比的调研工作流:Speed/Balanced/Quality 三档切换,同一问题换不同后端跑,比自建脚本省掉检索层
  • 单机自部署的轻量搜索前端:Docker 一条命令带 SearxNG,比从零搭 RAG 检索链路省事

踩坑

  • 非 Docker 部署会撞上 SearxNG 配置:必须手动开 JSON 格式和 Wolfram Alpha 引擎,否则搜索直接不可用,README 只在注意事项里提了一句
  • Docker 内连 Ollama 是高频卡点:Linux 要设 OLLAMA_HOST=0.0.0.0:11434 并用宿主机内网 IP,Windows/Mac 走 host.docker.internal,本地 OpenAI 兼容服务的 API key 字段留空也会失败
  • 多用户和鉴权目前缺失,issue 里认证、注册登录、多用户支持被反复提出,多人共用一套实例时没有隔离手段

同类对比

Perplexica 是同源方案,功能定位接近;如果只需要检索层而不想绑定问答 UI,直接用 SearxNG 加自建 RAG 更可控。

怎么上手

由 README 提炼,执行前请确认
docker run -d -p 3000:3000 -v vane-data:/home/vane/data --name vane itzcrazykns1337/vane:latest
硬件要求按 README 说明

README 未说明具体显存或 GPU 要求;本地模型通过 Ollama 运行,也可只用云端 API 提供商,Docker 镜像自带 SearxNG。

支持 Apple Silicon有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

自托管隐私优先的 AI 问答引擎,结合网络搜索与本地或云端大模型给出带引用来源的答案

基于大模型和 RAG 的 AI 问答搜索引擎,接入 SearXNG 检索后生成带引用的答案,适合自建类似 Perplexica 的智能搜索服务。

核心能力

  • 接入 Ollama 本地模型及 OpenAI、Claude、Gemini、Groq 等云端模型
  • 提供 Speed、Balanced、Quality 三档搜索模式
  • 用 SearxNG 聚合多搜索引擎并隐藏身份
  • 支持上传 PDF、文本、图片并就文档提问
  • 可限定搜索特定域名,并内置天气、计算、股价等小组件

容易踩的坑

非 Docker 安装需自行部署 SearxNG,并在其设置中开启 JSON 格式和 Wolfram Alpha 引擎;Docker 内连 Ollama 时 Windows/Mac 用 http://host.docker.internal:11434,Linux 需设 OLLAMA_HOST=0.0.0.0:11434 并用宿主机内网 IP;本地 OpenAI 兼容服务须监听 0.0.0.0 且 API key 字段不能留空。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v1.12.2
  1. v1.12.2最新正式版2026-04-10 · 2026-04-10 13:30 UTC

    What's Changed

    • Fixed history double-conversion bugs to ensure smoother suggestion generation.
    • Added validation and timeouts to prevent hung search requests.
    • Improved widget execution handling; errors no longer crash the entire research pipeline.
    • Resolved build-time errors by addressing missing package dependencies.
    • Fixed edge cases involving non-array search query formats.
    • Integrated serverUtils and updated the reverse geolocation API for better accuracy.
    • Enhanced error handling for file upload workflows.
    • Added a Chromium-based scraper for better compatibility with modern web pages.
    • Implemented a new, optimized executeSearch function.
    • Leveraged embeddings to filter search results, preventing context window overflow and improving relevance.

    Improvements in Deep Research Mode

    The Deep Research pipeline now operates on a more aggressive Reason-Search-Scrape-Extract-Repeat cycle. The system iteratively identifies top-tier websites, scrapes their full content, and extracts key data points to inform subsequent research steps before generating the final response. While this adds a bit more processing time, the depth of insight is substantially increased.

    To support this high volume data extraction, we now manage the context window dynamically. By processing and feeding data in optimized chunks, the system prevents context overflow while ensuring all relevant information from the multi-stage research process is considered.

    https://github.com/user-attachments/assets/bc7bed6a-2cae-4a47-b39a-bcbd6d57ba40

    New Contributors

    • @marexxxxxxx made their first contribution in #1041
    • @joaquinescalante23 made their first contribution in #1015
    • @saschabuehrle made their first contribution in #1076
    • @nickorlabs made their first contribution in #1082

    Full Changelog: v1.12.1...v1.12.2

  2. v1.12.12025-12-31 · 2025-12-31 07:36 UTC
    查看更新说明

    What's changed

    • Added LM Studio provider
    • Fixed issues with function calling with OpenAI compatible providers.
    • Fixed issues with JSON parsing and extraction.

    Full Changelog: https://github.com/ItzCrazyKns/Perplexica/compare/v1.12.0...v1.12.1

  3. v1.12.02025-12-27 · 2025-12-27 18:45 UTC
    查看更新说明

    What's Changed

    This is a major release featuring a complete architectural overhaul. We've removed Langchain in favor of a custom implementation for low-level control over streaming, generation, and provider-specific features. This refactor lays the groundwork for new capabilities in upcoming releases.

    General Updates

    • Renamed providers to connections for better UX. Added switch config field, separated personalization and preferences.
    • Fixed SearxNG build and startup errors.
    • Added new agents DIR, migrated suggestions, video and audio agents.
    • Added message and chunk types for better type safety.
    • Added code block rendering with syntax highlighting.
    • Added version number and GitHub link in settings.
    • Various UI improvements with animations via Framer Motion, fixed theme inconsistencies, and updated numerous small but noticeable details. Overall the UI is more reactive now.

    Langchain Removal & Custom Provider System

    Removed Langchain and implemented custom base and provider classes with streamText, streamObject, generateText and generateObject methods. We've also implemented function calling with partial streaming so the app now uses it instead of XML parsing (was a chaotic one).

    Langchain is removed to get low-level control over how things are streamed, how things are generated, etc. This allows us to add provider-specific features like structured outputs and fine-tune the generation process.

    New Session Manager

    Added a new session manager where each session has an ID and is recorded for 30 minutes. Sessions can be restored via the ID if your page refreshes or the stream disconnects. The manager includes methods for block streaming, replaying, multiple listeners, etc.

    Automatic Stream Reconnection: If the page gets refreshed or the stream is disconnected, you'll now be able to automatically reconnect to the stream. The app resumes from where the LLM left off and streams back the entire response that was generated before, allowing messages to continue without waiting for completion.

    Widgets

    Added widgets that are extracted and executed in parallel to the research. They fetch specific types of data like weather, stock information, and calculated results (more widgets coming soon). Each widget is represented with a specific UI card which enhances the UX.

    Widgets currently available:

    • Weather information
    • Stock market data
    • Mathematical calculations

    Query Classification & Researcher with Actions

    Query Classification: Each query is now classified before research begins, ensuring proper sources and widget information extraction.

    Researcher Class with Actions: The researcher uses actions (which use tool calling), along with specific actions for reasoning. This allows the researcher to have many actions like web search, scraping, specific website search, discussion search, file uploads search, etc. It enables the possibility of adding more actions and integrations like Google Workspace (Calendar, Gmail, etc.) in future releases.

    Deep Research Mode (Beta)

    Added quality search mode (deep research) where the LLM reasons iteratively over the collected data to predict the next action. It takes appropriate actions until it's confident it has enough information to answer, then prepares a long, comprehensive report. This allows deeper exploration of topics and preparing detailed reports.

    Note: Deep research is currently in beta. There's a lot more to come in this feature like creating documents, images, files, charts, etc. to prepare proper reports.

    Updated Research Modes

    Balanced Mode: Now also forces the LLM to reason (though i

  4. v1.11.22025-10-25 · 2025-10-25 05:42 UTC
    查看更新说明

    1.11.2

    What's changed

    • Fixed issues with Transformer models not loading
    • Fixed issues with model selection not updating the state
    • Fixed issues with empty message being sent

    Full Changelog: https://github.com/ItzCrazyKns/Perplexica/compare/v1.11.1...v1.11.2

  5. v1.11.12025-10-23 · 2025-10-23 15:37 UTC
    查看更新说明

    v1.11.1

    What's changed

    • Fixed issues with SearxNG requests getting timed out
    • Model select values are now sourced off localStorage
    • Run commands are updated to use volumes for persistent storage

    Full Changelog: https://github.com/ItzCrazyKns/Perplexica/compare/v1.11.0...v1.11.1

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Vane 🔍

    GitHub Repo stars GitHub forks GitHub watchers Docker Pulls License: MIT GitHub last commit Discord

    Vane is a privacy-focused AI answering engine that runs entirely on your own hardware. It combines knowledge from the vast internet with support for local LLMs (Ollama) and cloud providers (OpenAI, Claude, Groq), delivering accurate answers with cited sources while keeping your searches completely private.

    preview

    Want to know more about its architecture and how it works? You can read it here.

    ✨ Features

    🤖 Support for all major AI providers - Use local LLMs through Ollama or connect to OpenAI, Anthropic Claude, Google Gemini, Groq, and more. Mix and match models based on your needs.

    ⚡ Smart search modes - Choose Speed Mode when you need quick answers, Balanced Mode for everyday searches, or Quality Mode for deep research.

    🧭 Pick your sources - Search the web, discussions, or academic papers. More sources and integrations are in progress.

    🧩 Widgets - Helpful UI cards that show up when relevant, like weather, calculations, stock prices, and other quick lookups.

    🔍 Web search powered by SearxNG - Access multiple search engines while keeping your identity private. Support for Tavily and Exa coming soon for even better results.

    📷 Image and video search - Find visual content alongside text results. Search isn't limited to just articles anymore.

    📄 File uploads - Upload documents and ask questions about them. PDFs, text files, images - Vane understands them all.

    🌐 Search specific domains - Limit your search to specific websites when you know where to look. Perfect for technical documentation or research papers.

    💡 Smart suggestions - Get intelligent search suggestions as you type, helping you formulate better queries.

    📚 Discover - Browse interesting articles and trending content throughout the day. Stay informed without even searching.

    🕒 Search history - Every search is saved locally so you can revisit your discoveries anytime. Your research is never lost.

    ✨ More coming soon - We're actively developing new features based on community feedback. Join our Discord to help shape Vane's future!

    Sponsors

    Vane's development is powered by the generous support of our sponsors. Their contributions help keep this project free, open-source, and accessible to everyone.

    We'd like to thank the following partners for their generous support:

    Installation

    There are mainly 2 ways of installing Vane - With Docker, Without Docker. Using Docker is highly recommended.

    Getting Started with Docker (Recommended)

    Vane can be easily run using Docker. Simply run the following command:

    docker run -d -p 3000:3000 -v vane-data:/home/vane/data --name vane itzcrazykns1337/vane:latest
    

    This will pull and start the Vane container with the bundled SearxNG search engine. Once running, open your browser and navigate to http://localhost:3000. You can then configure your settings (API keys, models, etc.) directly in the setup screen.

    Note: The image includes both Vane and SearxNG, so no additional setup is required. The -v flags create persistent volumes for your data and uploaded files.

    Using Vane with Your Own SearxNG Instance

    If you already have SearxNG running, you can use the slim version of Vane:

    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
    

    Important: Make sure your SearxNG instance has:

    • JSON format enabled in the settings
    • Wolfram Alpha search engine enabled

    Replace http://your-searxng-url:8080 with your actual SearxNG URL. Then configure your AI provider settings in the setup screen at http://localhost:3000.

    Advanced Setup (Building from Source)

    If you prefer to build from source or need more control:

    1. Ensure Docker is installed and running on your system.

    2. Clone the Vane repository:

      git clone https://github.com/ItzCrazyKns/Vane.git
      
    3. After cloning, navigate to the directory containing the project files.

    4. Build and run using Docker:

      docker build -t vane .
      docker run -d -p 3000:3000 -v vane-data:/home/vane/data --name vane vane
      
    5. Access Vane at http://localhost:3000 and configure your settings in the setup screen.

    Note: After the containers are built, you can start Vane directly from Docker without having to open a terminal.

    Non-Docker Installation

    1. Install SearXNG and allow JSON format in the SearXNG settings. Make sure Wolfram Alpha search engine is also enabled.

    2. Clone the repository:

      git clone https://github.com/ItzCrazyKns/Vane.git
      cd Vane
      
    3. Install dependencies:

      npm i
      
    4. Build the application:

      npm run build
      
    5. Start the application:

      npm run start
      
    6. Open your browser and navigate to http://localhost:3000 to complete the setup and configure your settings (API keys, models, SearxNG URL, etc.) in the setup screen.

    Note: Using Docker is recommended as it simplifies the setup process, especially for managing environment variables and dependencies.

    See the installation documentation for more information like updating, etc.

    Troubleshooting

    Local OpenAI-API-Compliant Servers

    If Vane tells you that you haven't configured any chat model providers, ensure that:

    1. Your server is running on 0.0.0.0 (not 127.0.0.1) and on the same port you put in the API URL.
    2. You have specified the correct model name loaded by your local LLM server.
    3. You have specified the correct API key, or if one is not defined, you have put something in the API key field and not left it empty.
    Ollama Connection Errors

    If you're encountering an Ollama connection error, it is likely due to the backend being unable to connect to Ollama's API. To fix this issue you can:

    1. Check your Ollama API URL: Ensure that the API URL is correctly set in the settings menu.

    2. Update API URL Based on OS:

      • Windows: Use http://host.docker.internal:11434
      • Mac: Use http://host.docker.internal:11434
      • Linux: Use http://<private_ip_of_host>:11434

      Adjust the port number if you're using a different one.

    3. Linux Users - Expose Ollama to Network:

      • Inside /etc/systemd/system/ollama.service, you need to add Environment="OLLAMA_HOST=0.0.0.0:11434". (Change the port number if you are using a different one.) Then reload the systemd manager configuration with systemctl daemon-reload, and restart Ollama by systemctl restart ollama. For more information see Ollama docs

      • Ensure that the port (default is 11434) is not blocked by your firewall.

    Lemonade Connection Errors

    If you're encountering a Lemonade connection error, it is likely due to the backend being unable to connect to Lemonade's API. To fix this issue you can:

    1. Check your Lemonade API URL: Ensure that the API URL is correctly set in the settings menu.

    2. Update API URL Based on OS:

      • Windows: Use http://host.docker.internal:8000
      • Mac: Use http://host.docker.internal:8000
      • Linux: Use http://<private_ip_of_host>:8000

      Adjust the port number if you're using a different one.

    3. Ensure Lemonade Server is Running:

      • Make sure your Lemonade server is running and accessible on the configured port (default is 8000).
      • Verify that Lemonade is configured to accept connections from all interfaces (0.0.0.0), not just localhost (127.0.0.1).
      • Ensure that the port (default is 8000) is not blocked by your firewall.

    Using as a Search Engine

    If you wish to use Vane as an alternative to traditional search engines like Google or Bing, or if you want to add a shortcut for quick access from your browser's search bar, follow these steps:

    1. Open your browser's settings.
    2. Navigate to the 'Search Engines' section.
    3. Add a new site search with the following URL: http://localhost:3000/?q=%s. Replace localhost with your IP address or domain name, and 3000 with the port number if Vane is not hosted locally.
    4. Click the add button. Now, you can use Vane directly from your browser's search bar.

    Using Vane's API

    Vane also provides an API for developers looking to integrate its powerful search engine into their own applications. You can run searches, use multiple models and get answers to your queries.

    For more details, check out the full documentation here.

    Expose Vane to network

    Vane runs on Next.js and handles all API requests. It works right away on the same network and stays accessible even with port forwarding.

    One-Click Deployment

    Deploy to Sealos Deploy to RepoCloud Run on ClawCloud Deploy on Hostinger

    Upcoming Features

    • Adding more widgets, integrations, search sources
    • Adding ability to create custom agents (name T.B.D.)
    • Adding authentication

    Support Us

    If you find Vane useful, consider giving us a star on GitHub. This helps more people discover Vane and supports the development of new features. Your support is greatly appreciated.

    Donations

    We also accept donations to help sustain our project. If you would like to contribute, you can use the following options to donate. Thank you for your support!

    Ethereum
    Address: 0xB025a84b2F269570Eb8D4b05DEdaA41D8525B6DD

    Contribution

    Vane is built on the idea that AI and large language models should be easy for everyone to use. If you find bugs or have ideas, please share them in via GitHub Issues. For more information on contributing to Vane you can read the CONTRIBUTING.md file to learn more about Vane and how you can contribute to it.

    Help and Support

    If you have any questions or feedback, please feel free to reach out to us. You can create an issue on GitHub or join our Discord server. There, you can connect with other users, share your experiences and reviews, and receive more personalized help. Click here to join the Discord server. To discuss matters outside of regular support, feel free to contact me on Discord at itzcrazykns.

    Thank you for exploring Vane, the AI-powered search engine designed to enhance your search experience. We are constantly working to improve Vane and expand its capabilities. We value your feedback and contributions which help us make Vane even better. Don't forget to check back for updates and new features!