MindSearch Deep Search

A multi-agent web-search framework for organizing deep, concurrent search on complex questions.

Stars
★ 6.9k
Last updated
1y ago
License
Apache-2.0
Primary language
JavaScript

At a glance

How it runs
Self-hosted serviceWeb appCLI
Works with
Portable with changesOpenAI API (Partial support)
Cost
Free software; you pay for model usage
Setup effort
Medium · a few setup steps
You'll need
PythonFastAPINode.jsnpmShell / CLINetwork accessLocal filesystem
Typical use
A team that needs to self-host a multi-agent web-search service for English or Chinese queries.
Not a fit if
  • Users wanting zero-config setup without .env and search API keys
  • Users unwilling to install Node.js and npm for the React frontend

What does this agent do, and when should you use it?

MindSearch is an LLM-based multi-agent web-search framework positioned for experiences like Perplexity.ai Pro and SearchGPT. It runs as a FastAPI service and can launch asynchronous agents with --asy. The backend can use an InternLM local server or GPT4-format model and supports DuckDuckGo, Bing, Brave, Google Serper, and Tencent Search. The project offers React, Gradio, and Streamlit frontends; the updated UI is intended to show simultaneous multi-query search. backend_example.py can send queries to a running backend and process its responses directly.

After copying .env.example to .env and filling in model and search settings, run python -m mindsearch.app --lang en --model_format internlm_server --search_engine DuckDuckGoSearch --asy to start the FastAPI service. The service selects English or Chinese model settings through --lang, chooses internlm_server or gpt4 format through --model_format, and chooses its web provider through --search_engine. Search providers other than DuckDuckGo generally require WEB_SEARCH_API_KEY; Tencent Search requires TENCENT_SEARCH_SECRET_ID and TENCENT_SEARCH_SECRET_KEY. Queries can be submitted through the React, Gradio, or Streamlit frontends, or by running backend_example.py against the backend and processing the returned response. To change the web-search API, edit searcher_cfg in mindsearch/agent/__init__.py and set its searcher_type.

  1. A team that needs to self-host a multi-agent web-search service for English or Chinese queries.
  2. A developer running an InternLM2.5-7b-chat local server who wants to connect it to a web-search workflow.
  3. An application developer with Brave, Bing, Google Serper, or Tencent Search credentials who needs to switch search providers.
  4. A frontend team that wants a React interface showing several searches happening at the same time.
  5. An engineer integrating a running FastAPI backend into a custom client using backend_example.py.

How do you install or deploy this agent?

git clone https://github.com/InternLM/MindSearch
cd MindSearch
pip install -r requirements.txt
mv .env.example .env

Edit .env with the required model and search configuration. For a search service other than DuckDuckGo, set WEB_SEARCH_API_KEY; for Tencent Search, set TENCENT_SEARCH_SECRET_ID and TENCENT_SEARCH_SECRET_KEY. The React frontend additionally requires Node.js and npm; run npm install in frontend/React.

How do you use this agent?

Start the backend:

python -m mindsearch.app --lang en --model_format internlm_server --search_engine DuckDuckGoSearch --asy

You can change --lang to cn, use gpt4 as the model format, or select BingSearch, BraveSearch, GoogleSearch, or TencentSearch. Once the backend is running, execute python backend_example.py to send a query. Optional frontends are python frontend/mindsearch_gradio.py, streamlit run frontend/mindsearch_streamlit.py, or npm start in frontend/React after configuring the Vite proxy. For local debugging, run python -m mindsearch.terminal.

What are this agent's strengths and limitations?

Pros
  • One service explicitly supports five web-search providers and can switch providers through searcher_type.
  • It includes an asynchronous-agent deployment option, and its changelog explicitly reports improved concurrency performance.
  • It provides a FastAPI backend plus React, Gradio, and Streamlit interfaces for different integration paths.
  • It documents internlm_server and gpt4 model formats, while allowing other models through changes to models.py.
Limitations
  • Deployment requires .env configuration, and most search providers depend on external API credentials.
  • Models outside the documented formats require edits to mindsearch/agent/models.py, rather than configuration alone.
  • The React frontend adds Node.js, npm, and manual Vite proxy configuration to the deployment requirements.
  • The supplied documentation does not specify FastAPI HTTP routes, request bodies, or response schemas.

How does this agent compare with similar options?

The README positions MindSearch as an LLM multi-agent web-search framework like Perplexity.ai Pro and SearchGPT; the supplied material does not provide feature or performance comparisons with either.

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
MindSearch Deep Search This agent 42 · Major gaps Self-hosted serviceFree + model costs ★ 6.9k 1y ago JavaScript —
Agentic Company Researcher Insufficient evidence Self-hosted serviceFree + model costs ★ 2.3k 10d ago Python OpenAI API
Vibe-Research: Personal AI Investment Research Dashboard 59 · Major gaps Self-hosted serviceFree + model costs ★ 3.5k 8d ago TypeScript Codex · Claude Code · OpenAI API · Claude API
ShoppingAgent Order Analyst 37 · Major gaps Web appFree + model costs ★ 3.6k 1y ago Python —

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
42/ 100 5-point scale 2.1 / 5
Trust 6/29
Reliability 6/14
Adaptability 10/18
Convention 10/18
Effectiveness 7/13
Verifiability 3/8
Why each dimension lost points
Trust6 / 29 · 1.0/5

Evidence shows: project requires API keys (e.g., WEB_SEARCH_API_KEY) but does not explicitly state least privilege; no user confirmation mechanism; data flow transparency limited, only mentions search API calls; sensitive data handling not detailed; dependencies pinned but no security audit; external effects include search API calls and possible network requests; no rollback mechanism; source attribution only via README references and license. Deductions: lack of user confirmation, insufficient data flow transparency, dependency security not assessed, no rollback.

Reliability6 / 14 · 2.1/5

Evidence shows: README and code structure consistent, but no test results; dependencies pinned but availability not verified; failure messages not detailed. Deductions: dependency availability not verified, failure messages unclear.

Adaptability10 / 18 · 2.8/5

Evidence shows: targets developers and researchers, multiple deployment scenarios; capability boundaries via supported search APIs and model formats; trigger precision not explicit; environment fit includes multiple frontend and backend options. Deductions: trigger precision not explicit.

Convention10 / 18 · 2.8/5

Evidence shows: clear information architecture, README and directories; detailed install notes; naming stable but no version history; examples and FAQ present; known limitations not explicit; license Apache-2.0; changelog only one entry; maintenance responsibility not explicit. Deductions: naming stability insufficient, known limitations not stated, changelog incomplete, maintenance responsibility unclear.

Effectiveness7 / 13 · 2.7/5

Evidence shows: output usability via frontend and example scripts; high marginal value, multi-agent search; cost-benefit not detailed. Deductions: cost-benefit not assessed.

Verifiability3 / 8 · 1.9/5

Evidence shows: some claims traceable (e.g., paper citation); cross-source corroboration limited; fact and inference not clearly separated. Deductions: cross-source corroboration insufficient, fact and inference not separated.

Risks and how to mitigate them
  • Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
  • Not found in source: dependency securityPin versions and run a dependency audit (npm audit, pip-audit) before installing; prefer running it in a container.
  • Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
  • Handle API keys carefully, ensure environment variables are secure.
  • Dependencies are pinned but no security audit provided; check for known vulnerabilities.
  • Search API calls may have external effects; consider privacy and compliance.
Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision 7952c5f8a956
See the full review method →

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. v0.1.0
    Release notes excerpt
    An open-source AI Search Engine Framework with Perplexity.ai Pro performance Technical Report: https://arxiv.org/abs/2407.20183 Search engines provide extensive and the latest web information but often fail to tailor search results to align with complex human intentions. Inspired by the remarkable progress of Large Language Models (LLMs), recent works enhance search engines with LLMs. However, these methods still obtain unsatisfying performance due to three critical problems: …
    View on GitHub ↗

FAQ

Do I need paid credentials to run search?
DuckDuckGo does not require the documented search API key. Bing, Brave, Google Serper, and similar providers generally require WEB_SEARCH_API_KEY; Tencent Search uses a separate secret ID and secret key.
Can I use my own model?
The documented formats are internlm_server and gpt4. For other models, the instructions say to modify mindsearch/agent/models.py.
Is a web frontend required?
No. After starting the backend, you can run backend_example.py to submit a query and process the response directly.
How do I enable asynchronous agents?
Add --asy when starting mindsearch.app. The option is documented as deploying asynchronous agents.
View on GitHub ↗ Install ↓

Related agents