Skip to content

jnuyao/agent_open_search

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 DeepResearch Agent

DeepResearch Agent is an advanced, AI-powered assistant designed to automate the entire research lifecycle. It goes beyond simple search by planning its own research strategy, collecting information from multiple sources, performing multi-perspective analysis, and synthesizing its findings into a comprehensive, structured report.

This project is built on a modern, agentic architecture using LangChain and LangGraph, allowing for flexible, robust, and stateful execution of complex research tasks.

✨ Key Features

  • 🤖 Autonomous Research Pipeline: Define a high-level research query, and the agent handles the rest, from planning to report generation.
  • 🧠 Dynamic Planning & Execution: Powered by LangGraph, the agent can create and adapt its research plan, and even loop back to previous steps to self-correct.
  • 🌐 Multi-Source Data Collection: Fetches and analyzes content from multiple web sources to provide a comprehensive view.
  • 🔬 In-depth Content Analysis: Extracts key points, assesses source credibility, and identifies key themes and topics from the collected data.
  • 📊 Comprehensive Report Generation: Automatically generates well-structured and detailed reports from the synthesized findings.
  • 💬 Interactive Chat Interface: Engage in a conversation with the agent to ask follow-up questions or clarify results.
  • 🔄 Real-time Progress Tracking: A live-updating UI shows you exactly what the agent is doing at every stage of the research process.

🛠️ Technology Stack & Architecture

The project uses a modern stack designed for building robust, AI-powered applications.

Architecture Overview

The core of this project is a stateful agent built with LangGraph. Unlike a simple, linear script, this agent operates as a graph, where each step of the research process is a node. The agent can transition between these nodes based on conditional logic (edges), allowing it to make decisions, handle errors gracefully, and even loop back to previous steps to improve its work.

For a detailed breakdown of the architecture, see our Improvement Proposal.

🚀 Getting Started

Follow these instructions to set up and run the project locally.

Prerequisites

  • Python: Version 3.10+
  • Node.js: Version 18+
  • DeepSeek API Key: You will need a free API key from DeepSeek to power the agent.

1. Backend Setup

First, set up and run the Python backend from the project root.

# 1. Set up your environment variables
# From the project root, copy the example file to a new .env file
cp .env.example .env

# Now, open the .env file and add your DeepSeek API key:
# DEEPSEEK_API_KEY="your_deepseek_api_key_here"

# 2. Create and activate a Python virtual environment
python3 -m venv venv
source venv/bin/activate

# 3. Install the required Python packages
pip install -r requirements.txt

# 4. Start the backend server
cd backend && python app/main.py

The backend server should now be running at http://localhost:8000.

2. Frontend Setup

In a new terminal window, set up and run the React frontend.

# 1. Navigate to the frontend directory
cd frontend

# 2. Install the required Node.js packages
npm install

# 3. Start the frontend development server
npm start

The frontend development server will start, and your browser should automatically open to http://localhost:3000.

🗺️ Roadmap

This project is under active development. Our future plans are guided by our Improvement Proposal and include:

  • Phase 1: Foundational LangChain Refactoring
  • Phase 2: Implement True RAG Pipeline
    • Integrate a search tool (e.g., Tavily) to find relevant sources dynamically.
    • Build a vector store for efficient information retrieval.
  • Phase 3: Full Agentic Refactoring
    • Convert the entire pipeline into a set of tools for a master agent.
    • Implement reflection and self-correction loops.

🙌 Contributing

Contributions are welcome! We are excited to see how the community can help improve the DeepResearch Agent. Please feel free to open an issue or submit a pull request.

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/your-feature-name).
  3. Make your changes.
  4. Commit your changes (git commit -m 'Add some feature').
  5. Push to the branch (git push origin feature/your-feature-name).
  6. Open a Pull Request.

📄 License

This project is licensed under the MIT License. See the LICENSE file for details.

About

deep research 的个人助理

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors