Data & Analysis web-searchfastapireactgradiostreamlitduckduckgo-search

MindSearch Deep Search

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

FollowAgents review · FARS-2.1
Not recommended
42/ 100 5-point scale 2.1 / 5
1 2 3 4 5 6
Per-dimension scores and reasoning
1Trust6 / 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.

2Reliability6 / 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.

3Adaptability10 / 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.

4Convention10 / 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.

5Effectiveness7 / 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.

6Verifiability3 / 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.

Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision 7952c5f8a956
Safety controls not found in source: confirmation before acting, dependency security, rollback or recovery path
Before you use it
  • 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.
Review evidence [1][2][3]
See the full review method →

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.

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 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.

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.

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.

Related agents