© 2026FindAgent  · @simprr
返回列表
d

dzhng/deep-research

An AI-powered research assistant that performs iterative, deep research on any topic by combining search engines, web scraping, and large language models. The goal of this repo is to provide the simplest implementation of a deep research agent - e.g. an agent that can refine its research direction overtime and deep dive into a topic.

agentaigpto3-miniresearch
⭐

18.6k

Stars

🔱

1.9k

Forks

👁

109

Watchers

📋

80

Issues

TypeScriptMIT创建于 2025/2/4更新于 今天
在 GitHub 上查看
README
由 Gemini 翻译整理

Open Deep Research

这是一个由 AI 驱动的研究助手,通过结合搜索引擎、网页抓取和大型语言模型(LLM),对任何主题进行迭代式的深度研究。

本项目旨在提供一个深度研究智能体的最简实现——即一个能够随时间推移不断优化研究方向并深入挖掘主题的智能体。我们的目标是保持代码库的小巧精简。

graph TD
    Q[Research Query] --> DR[Deep Research Agent]
    B[Breadth] --> DR
    D[Depth] --> DR

    DR --> SQ[SERP Queries]
    SQ --> PR[Process Results]

    subgraph Results[Results]
        direction TB
        NL((Learnings))
        ND((Directions))
    end

    PR --> NL
    PR --> ND

    DP{depth > 0?}

    RD["Next Direction:
    - Prior Goals
    - New Questions
    - Learnings"]

    MR[Markdown Report]

    %% Main Flow
    Q & B & D --> DR

    %% Results to Decision
    NL & ND --> DP

    %% Circular Flow
    DP -->|Yes| RD
    RD -->|New Context| DR

    %% Final Output
    DP -->|No| MR

    %% Styling
    classDef input fill:#7bed9f,stroke:#2ed573,color:black
    classDef process fill:#70a1ff,stroke:#1e90ff,color:black
    classDef recursive fill:#ffa502,stroke:#ff7f50,color:black
    classDef output fill:#ff4757,stroke:#ff6b81,color:black
    classDef results fill:#a8e6cf,stroke:#3b7a57,color:black

    class Q,B,D input
    class DR,SQ,PR process
    class DP,RD recursive
    class MR output
    class NL,ND results

功能特性

  • 迭代式研究:通过迭代生成搜索查询、处理结果并根据研究发现深入探索,实现深度研究。
  • 智能查询生成:利用 LLM 根据研究目标和以往发现生成针对性的搜索查询。
  • 广度与深度控制:可配置参数,以控制研究的广度(breadth)和深度(depth)。
  • 智能追问:生成后续问题,以便更好地理解研究需求。
  • 综合报告:生成包含研究发现和来源的详细 Markdown 报告。
  • 并发处理:高效处理多个搜索任务和结果解析。

系统要求

  • Node.js 环境
  • API Key:
    • Firecrawl API(用于网页搜索和内容提取)
    • OpenAI API(推荐使用 o3-mini 模型)

安装与部署

Node.js 环境

  1. 克隆仓库
  2. 安装依赖:
npm install
  1. 在 .env.local 文件中设置环境变量:
FIRECRAWL_KEY="your_firecrawl_key"
# 如果你想使用自托管的 Firecrawl,请添加下方配置:
# FIRECRAWL_BASE_URL="http://localhost:3002"

OPENAI_KEY="your_openai_key"

如需使用本地 LLM,请注释掉 OPENAI_KEY,并取消对 OPENAI_ENDPOINT 和 OPENAI_MODEL 的注释:

  • 将 OPENAI_ENDPOINT 设置为本地服务器地址(例如 "http://localhost:1234/v1")
  • 将 OPENAI_MODEL 设置为本地服务器中加载的模型名称。

Docker

  1. 克隆仓库
  2. 将 .env.example 重命名为 .env.local 并设置 API Key
  3. 构建 Docker 镜像: docker build -f Dockerfile
  4. 运行 Docker 容器:
docker compose up -d
  1. 在容器内执行 npm run docker:
docker exec -it deep-research npm run docker

使用方法

运行研究助手:

npm start

系统将提示你:

  1. 输入你的研究主题
  2. 指定研究广度(建议:3-10,默认:4)
  3. 指定研究深度(建议:1-5,默认:2)
  4. 回答后续问题以细化研究方向

系统随后将:

  1. 生成并执行搜索查询
  2. 处理并分析搜索结果
  3. 根据发现的内容进行递归深入探索
  4. 生成一份综合的 Markdown 报告

最终报告将保存为工作目录下的 report.md 或 answer.md,具体取决于你选择的模式。

并发控制

如果你拥有付费版 Firecrawl 或自托管版本,可以通过设置 CONCURRENCY_LIMIT 环境变量来提高并发限制,从而加快运行速度。

如果你使用的是免费版,可能会遇到速率限制错误,此时可以将限制减小为 1(但这会显著降低速度)。

DeepSeek R1

深度研究在 R1 模型上表现出色!我们使用 Fireworks 作为 R1 模型的主要提供商。要使用 R1,只需设置 Fireworks API Key:

FIREWORKS_KEY="api_key"

系统检测到该 Key 后,将自动切换为使用 R1 而非 o3-mini。

自定义 Endpoint 和模型

此外还有两个可选的环境变量,用于调整 Endpoint(支持其他兼容 OpenAI 的 API,如 OpenRouter 或 Gemini)以及模型名称:

OPENAI_ENDPOINT="custom_endpoint"
CUSTOM_MODEL="custom_model"

工作原理

  1. 初始设置

    • 接收用户查询和研究参数(广度与深度)
    • 生成后续问题,以更深入地了解研究需求
  2. 深度研究过程

    • 根据研究目标生成多个 SERP 查询
    • 处理搜索结果并提取关键信息
    • 根据初步发现递归生成后续研究方向
贡献者
d2baaCcemT
项目信息
默认分支main
LicenseMIT License
创建时间2025/2/4
最近更新今天
GAI 中文摘要

Open Deep Research 是一个基于人工智能的深度研究助手,旨在通过整合搜索引擎、网页抓取技术与大语言模型,自动执行具备迭代能力的深度调研任务。该项目致力于提供一个简洁高效的实现方案,代码规模保持在 500 行以内,便于开发者理解并在此基础上进行扩展开发。

通过迭代生成搜索查询并根据反馈结果持续深入,实现全自动的深度调研流程。利用大模型智能生成精准的搜索指令,确保调研过程具备高度的相关性。支持灵活配置调研的广度与深度参数,满足不同复杂度研究课题的需求。自动生成追问以精准定位研究目标,并最终输出包含详尽结论与参考来源的 Markdown 报告。支持并发处理多个搜索任务,有效提升数据采集与结果分析的整体效率。

适用于需要快速获取特定领域深度调研报告的研究人员、开发者及内容创作者。无论是在处理复杂的市场调查、学术课题梳理,还是进行特定主题的资料汇总,该项目都能提供高效的自动化辅助。