InterDeepResearch: Enabling Human-Agent Collaborative Information Seeking through Interactive Deep Research
A prototype interacive research system that enables human-agent collaborative information seeking. Observe, steer, and navigate the research process in real-time with visual sensemaking and evidence tracing.
To validate the basic information-seeking capabilities of InterDeepResearch, we evaluate it (without user intervention) on two representative text-based deep research benchmarks: Xbench-DeepSearch-v1 and Seal-0. The results demonstrate that InterDeepResearch achieves competitive performance in automated information seeking, even surpassing popular commercial deep research systems like Perplexity Deep Research and Gemini Deep Research.
- Python 3.11 or higher
- Node.js 16 or higher
- npm or yarn package manager
- Clone the repository and navigate to the project root:
git clone https://github.com/bopan3/InterDeepResearch.git
cd InterDeepResearch- Create and activate a conda environment:
conda create -n InterDeepResearch python=3.11
conda activate InterDeepResearch- Install Python dependencies:
pip install -r requirements.txt
pip install 'crawl4ai[pdf]'- Install Playwright browsers:
playwright install- Configure API keys and settings:
Edit configs/default_config.yaml to set up your API keys:
# Serper API Key Pool (for web search), you can obtain free key from https://serper.dev/.
SERPER_API_KEY_POOL:
- "your_serper_api_key_here"
# LLM Configuration. You should use the model name standard vy liteLLM (https://www.litellm.ai/) to specify the model (recommand to use claude-sonnet-4.5 by defualt).
llm_config:
agent_config:
root_agent_config:
agent_type: "ResearchAgent"
model: "openrouter/anthropic/claude-sonnet-4.5"
temperature: 0.2
top_p: 0.1
# Custom API configuration. You should set up the base_url and api_key from your api platform (recommand to use openrouter for flexibility and stability).
customized_base_url: "your_api_base_url"
customized_api_key: "your_api_key"
# System language: "English" (fixed to English)
system_language: "English"
# Server mode: "normal" (fixed to normal)
server_mode: "normal"- Start the backend server:
python IDR_backend/server.py --host 0.0.0.0 --port 5001Optional arguments:
--host: Server host (default: 0.0.0.0)--port: Server port (default: 5001)--global_config: Path to config file (default: configs/default_config.yaml)
The backend server will start on http://localhost:5001
- Navigate to the frontend directory:
cd IDR_frontend- Install dependencies:
npm install- Configure backend connection (if needed):
The frontend connects to http://localhost:5001 by default. If you changed the backend port, update IDR_frontend/src/api.tsx:
this.socket = io("http://localhost:5001", {
// ... connection options
});- Start the development server:
npm startThe frontend will open automatically at http://localhost:3000
- Start the backend server (see Backend Setup step 6)
- Start the frontend development server (see Frontend Setup step 4)
- Open your browser and navigate to
http://localhost:3000 - Enter your research goal in the input box and start exploring!

