deep-research
deep-research 是一款专为深度调研打造的开源 AI 工具,旨在利用各类大语言模型(LLM),在短短几分钟内生成详尽的研究分析报告。它有效解决了传统人工调研耗时费力、信息碎片化以及通用 AI 缺乏深度推理能力的痛点,让用户能快速获得结构清晰、洞察深刻的专业内容。
无论是需要快速掌握行业动向的研究人员、追求效率的开发者,还是希望深入理解复杂主题的普通用户,都能从中受益。deep-research 的独特之处在于其强大的技术架构:它不仅兼容 Gemini、OpenAI、Ollama 等主流模型,还集成了 Searxng、Tavily 等多种搜索引擎,弥补了部分模型无法联网的短板。通过独特的“思考”与“任务”双模型机制,它在保证分析深度的同时大幅提升了响应速度。
此外,deep-research 高度重视隐私安全,所有数据均在本地浏览器处理与存储,无需担心泄露。它还支持上传本地文档构建知识库、一键生成知识图谱以系统化梳理逻辑,并允许用户随时中断、调整研究方向或回溯历史记录。配合对 SSE API 和 MCP 服务器的支持,这款工具既适合个人本地部署使用,也便于开发者集成到更复杂的工作流中,是提升信息获取效率的理想助手。
使用场景
某科技公司的市场分析师需要在两小时内完成一份关于“全球固态电池最新技术突破与产业链格局”的深度调研报告,以支持下午的投资决策会议。
没有 deep-research 时
- 信息搜集耗时极长:需手动在数十个学术网站和新闻源中反复搜索、筛选,仅整理资料就花费数小时,难以按时交付。
- 分析深度不足:受限于个人精力,只能浅层罗列新闻,缺乏对技术路线优劣及产业链上下游影响的深度逻辑推演。
- 知识碎片化:收集的资料散落在多个浏览器标签页和文档中,难以形成系统性的知识结构,汇报时逻辑连贯性差。
- 无法动态调整:若领导临时要求增加“中国厂商竞争力分析”,整个研究流程需从头再来,灵活性极低。
使用 deep-research 后
- 分钟级报告生成:利用 deep-research 的“思考”与“任务”模型,结合联网搜索,约 2 分钟即可自动生成包含多源信息的完整初稿。
- 洞察深刻精准:工具自动调用高级 AI 模型进行多维度分析,不仅罗列事实,还能输出技术瓶颈突破点及产业链重构趋势的深度见解。
- 一键构建知识图谱:通过 deep-research 的知识图谱功能,将零散信息转化为可视化的系统结构,帮助分析师快速理清逻辑脉络。
- 支持迭代式研究:针对新增的“中国厂商”需求,直接在原有研究阶段追加指令,deep-research 即刻基于上下文进行补充调研,无需重启流程。
deep-research 将原本需要数天的深度研究工作压缩至分钟级,让专业人士从繁琐的信息搬运中解放,专注于高价值的决策判断。
运行环境要求
- Linux
- macOS
- Windows
未说明
未说明

快速开始
闪电般的深度研究报告
Deep Research 利用多种强大的 AI 模型,只需几分钟即可生成深入的研究报告。它结合先进的“思考”和“任务”模型,并通过互联网连接,为您提供关于各种主题的快速而富有洞察力的分析。您的隐私至关重要——所有数据均在本地处理和存储。
✨ 功能
- 快速深度研究: 大约 2 分钟内生成全面的研究报告,显著加速您的研究流程。
- 多平台支持: 支持快速部署到 Vercel、Cloudflare 等平台。
- AI 驱动: 使用先进的 AI 模型进行准确且富有洞见的分析。
- 注重隐私: 您的数据始终私密且安全,因为所有数据都存储在您的浏览器本地。
- 支持多 LLM: 支持多种主流大型语言模型,包括 Gemini、OpenAI、Anthropic、Deepseek、Grok、Mistral、Azure OpenAI、任何兼容 OpenAI 的 LLM、OpenRouter、Ollama 等。
- 支持网络搜索: 支持 Searxng、Tavily、Firecrawl、Exa、Bocha、Brave 等搜索引擎,使不支持搜索的 LLM 能更方便地使用网络搜索功能。
- 思考与任务模型: 采用复杂的“思考”和“任务”模型,在深度与速度之间取得平衡,确保快速获得高质量结果。支持切换研究模型。
- 支持进一步研究: 您可以在项目的任何阶段细化或调整研究内容,并从该阶段重新进行研究。
- 本地知识库: 支持上传和处理文本、Office、PDF 等资源文件,以生成本地知识库。
- 成果物: 支持编辑研究内容,提供 WYSIWYM 和 Markdown 两种编辑模式。可以调整阅读难度、文章长度以及全文翻译。
- 知识图谱: 支持一键生成知识图谱,帮助您系统性地理解报告内容。
- 研究历史: 支持保存研究历史,您可以随时回顾之前的成果并再次深入研究。
- 本地与服务器 API 支持: 提供灵活的本地和服务器端 API 调用选项,以满足您的需求。
- 支持 SaaS 和 MCP: 您可以通过 SSE API 将该项目用作深度研究服务 (SaaS),或通过 MCP 服务将其集成到其他 AI 服务中。
- 支持 PWA: 借助渐进式 Web 应用 (PWA) 技术,您可以像使用软件一样使用该项目。
- 支持多 Key 负载: 支持多 Key 负载,以提高 API 响应效率。
- 多语言支持: 英语、简体中文、西班牙语。
- 基于现代技术构建: 使用 Next.js 15 和 Shadcn UI 开发,确保现代化、高性能且视觉上吸引人的用户体验。
- MIT 许可证: 在 MIT 许可证下开源,可供个人和商业用途免费使用。
🎯 路线图
- 支持保存研究历史
- 支持编辑最终报告和搜索结果
- 支持其他 LLM 模型
- 支持文件上传和本地知识库
- 支持 SSE API 和 MCP 服务器
🚀 快速开始
使用免费 Gemini(推荐)
一键部署项目,您可以选择部署到 Vercel 或 Cloudflare
目前该项目也支持部署到 Cloudflare,但您需要按照 如何部署到 Cloudflare Pages 的说明来进行操作。
开始使用
使用其他 LLM
- 将项目部署到 Vercel 或 Cloudflare
- 设置 LLM API 密钥
- 设置 LLM API 基础 URL(可选)
- 开始使用
⌨️ 开发
按照以下步骤,您可以在本地浏览器上运行 Deep Research。
先决条件
安装
克隆仓库:
git clone https://github.com/u14app/deep-research.git cd deep-research安装依赖:
pnpm install # 或 npm install 或 yarn install设置环境变量:
您需要将
env.tpl文件修改为.env,或者创建一个.env文件并将变量写入其中。# 用于开发 cp env.tpl .env.local # 用于生产 cp env.tpl .env运行开发服务器:
pnpm dev # 或 npm run dev 或 yarn dev打开您的浏览器并访问 http://localhost:3000,即可使用 Deep Research。
自定义模型列表
该项目支持自定义模型列表,但仅在代理模式下生效。请在 .env 文件或环境变量页面中添加名为 NEXT_PUBLIC_MODEL_LIST 的环境变量。
自定义模型列表使用逗号 , 分隔多个模型。如果要禁用某个模型,可以使用 - 符号后跟模型名称,例如 -existing-model-name。若只想允许指定的模型可用,则可以使用 -all,+new-model-name。
🚢 部署
Vercel
Cloudflare
目前该项目支持部署到 Cloudflare,但需要按照 如何部署到 Cloudflare Pages 的说明进行操作。
Docker
Docker 版本需为 20 或以上,否则会提示无法找到镜像。
⚠️ 注意:大多数情况下,Docker 版本会比最新版本滞后 1 到 2 天,因此部署后可能会持续出现“存在更新”的提示,这是正常现象。
docker pull xiangfa/deep-research:latest
docker run -d --name deep-research -p 3333:3000 xiangfa/deep-research
您也可以指定额外的环境变量:
docker run -d --name deep-research \
-p 3333:3000 \
-e ACCESS_PASSWORD=your-password \
-e GOOGLE_GENERATIVE_AI_API_KEY=AIzaSy... \
xiangfa/deep-research
或者构建您自己的 Docker 镜像:
docker build -t deep-research .
docker run -d --name deep-research -p 3333:3000 deep-research
如需指定其他环境变量,请在上述命令中添加 -e key=value 来设置。
使用 docker-compose.yml 部署:
version: '3.9'
services:
deep-research:
image: xiangfa/deep-research
container_name: deep-research
environment:
- ACCESS_PASSWORD=your-password
- GOOGLE_GENERATIVE_AI_API_KEY=AIzaSy...
ports:
- 3333:3000
或者构建您自己的 docker compose:
docker compose -f docker-compose.yml build
静态部署
您也可以直接构建静态页面版本,然后将 out 目录中的所有文件上传到任何支持静态页面的服务平台,例如 Github Page、Cloudflare、Vercel 等。
pnpm build:export
⚙️ 配置
如“快速入门”部分所述,Deep Research 使用以下环境变量进行服务器端 API 配置:
所有可用的环境变量请参考 env.tpl 文件。
环境变量重要注意事项:
隐私提醒: 这些环境变量主要用于服务器端 API 调用。当使用本地 API 模式时,无需任何 API 密钥或服务器端配置,从而进一步提升您的隐私保护。
多密钥支持: 支持多个密钥,各密钥之间用逗号分隔,例如
key1,key2,key3。安全设置: 通过设置
ACCESS_PASSWORD,您可以更好地保护服务器 API 的安全性。使变量生效: 添加或修改此环境变量后,请重新部署项目以使更改生效。
📄 API 文档
目前该项目支持两种形式的 API:Server-Sent Events (SSE) 和 Model Context Protocol (MCP)。
Server-Sent Events API
Deep Research API 提供了一个实时接口,用于启动和监控复杂的调研任务。
建议通过 @microsoft/fetch-event-source 使用该 API。要获取最终报告,您需要监听 message 事件,数据将以文本流的形式返回。
POST 方法
端点:/api/sse
方法:POST
请求体:
interface SSEConfig {
// 调研主题
query: string;
// AI 提供商,可能的值包括:google, openai, anthropic, deepseek, xai, mistral, azure, openrouter, openaicompatible, pollinations, ollama
provider: string;
// 思考模型 ID
thinkingModel: string;
// 任务模型 ID
taskModel: string;
// 搜索提供商,可能的值包括:model, tavily, firecrawl, exa, bocha, searxng
searchProvider: string;
// 响应语言,也会影响搜索语言。(可选)
language?: string;
// 最大搜索结果数量,默认为 5。(可选)
maxResult?: number;
// 是否在最终报告中包含与内容相关的图片。默认为 true。(可选)
enableCitationImage?: boolean;
// 是否在搜索结果和最终报告中包含引用链接。默认为 true。(可选)
enableReferences?: boolean;
}
请求头:
interface Headers {
"Content-Type": "application/json";
// 如果设置了访问密码
// Authorization: "Bearer YOUR_ACCESS_PASSWORD";
}
详细 API 文档请参阅 API 文档。
GET 方法
这是一种有趣的实现方式。您可以通过 URL 直接观看深度调研的全过程,就像观看视频一样。
您可以通过以下链接访问深度调研报告:
http://localhost:3000/api/sse/live?query=AI+trends+for+this+year&provider=pollinations&thinkingModel=openai&taskModel=openai-fast&searchProvider=searxng
查询参数:
// 参数与 POST 参数相同
interface QueryParams extends SSEConfig {
// 如果设置了 `ACCESS_PASSWORD` 环境变量,此参数为必填项
password?: string;
}
Model Context Protocol (MCP) 服务器
目前支持 StreamableHTTP 和 SSE 服务器传输协议。
StreamableHTTP 服务器端点:/api/mcp,传输类型:streamable-http
SSE 服务器端点:/api/mcp/sse,传输类型:sse
{
"mcpServers": {
"deep-research": {
"url": "http://127.0.0.1:3000/api/mcp",
"transportType": "streamable-http",
"timeout": 600
}
}
}
注意: 由于深度调研执行时间较长,您需要设置较长的超时时间,以避免研究过程中断。
如果您服务器设置了 ACCESS_PASSWORD,MCP 服务将受到保护,您需要添加额外的头部参数:
{
"mcpServers": {
"deep-research": {
"url": "http://127.0.0.1:3000/api/mcp",
"transportType": "streamable-http",
"timeout": 600,
"headers": {
"Authorization": "Bearer YOUR_ACCESS_PASSWORD"
}
}
}
}
启用 MCP 服务需要设置全局环境变量:
# MCP 服务器 AI 提供商
# 可能的值包括:google, openai, anthropic, deepseek, xai, mistral, azure, openrouter, openaicompatible, pollinations, ollama
MCP_AI_PROVIDER=google
# MCP 服务器搜索提供商,默认为 model
# 可能的值包括:model, tavily, firecrawl, exa, bocha, searxng
MCP_SEARCH_PROVIDER=tavily
# MCP 服务器思考模型 ID,用于深度研究的核心模型。
MCP_THINKING_MODEL=gemini-2.0-flash-thinking-exp
# MCP 服务器任务模型 ID,用于次要任务,推荐使用高输出模型。
MCP_TASK_MODEL=gemini-2.0-flash-exp
注意: 为了确保 MCP 服务能够正常使用,您需要设置相应模型和搜索引擎的环境变量。具体的环境变量参数,请参考 env.tpl。
🪄 工作原理
研究主题
- 输入研究主题
- 使用本地研究资源(可选)
- 开始思考(或重新思考)
提出您的想法
- 系统提问
- 回答系统问题(可选)
- 撰写研究计划(或重写研究计划)
- 系统输出研究计划
- 开始深入研究(或重新研究)
- 系统生成 SERP 查询
- 系统提问
信息收集
- 初步研究
- 根据 SERP 查询检索本地研究资源
- 根据 SERP 查询从互联网上收集信息
- 深入研究(此过程可以重复)
- 提出研究建议(可选)
- 开始新一轮的信息收集(流程与初步研究相同)
- 初步研究
生成最终报告
- 发出撰写请求(可选)
- 将所有研究资料汇总成一份全面的 Markdown 报告
- 重新生成研究报告(可选)
flowchart TB
A[研究主题]:::start
subgraph Propose[提出您的想法]
B1[系统提问]:::process
B2[系统输出研究计划]:::process
B3[系统生成 SERP 查询]:::process
B1 --> B2
B2 --> B3
end
subgraph Collect[信息收集]
C1[初步研究]:::collection
C1a[根据 SERP 查询检索本地研究资源]:::collection
C1b[根据 SERP 查询从互联网上收集信息]:::collection
C2[深入研究]:::recursive
Refine{是否需要更深入的研究?}:::decision
C1 --> C1a
C1 --> C1b
C1a --> C2
C1b --> C2
C2 --> Refine
Refine -->|是| C2
end
Report[生成最终报告]:::output
A --> Propose
B3 --> C1
%% 将循环/子图的出口连接到最终报告
Refine -->|否| Report
%% 样式定义
classDef start 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 collection fill:#a8e6cf,stroke:#3b7a57,color:black
classDef decision fill:#c8d6e5,stroke:#8395a7,color:black
class A start
class B1,B2,B3 process
class C1,C1a,C1b collection
class C2 recursive
class Refine decision
class Report output
🙋 常见问题解答
为什么我的 Ollama 或 SearXNG 无法正常工作,并显示错误 TypeError: Failed to fetch?
如果您的请求因浏览器安全限制而产生 CORS 错误,您需要为 Ollama 或 SearXNG 配置允许跨域请求的参数。您也可以考虑使用服务器代理模式,即通过后端服务器发起请求,这样可以有效避免跨域问题。
🛡️ 隐私
Deep Research 在设计时充分考虑了您的隐私。所有研究数据和生成的报告都存储在您本地的设备上。 我们不会收集或将您的任何研究数据传输到外部服务器(除非您明确使用服务器端 API 调用,在这种情况下,数据会通过您配置的代理发送到 API)。您的隐私始终是我们最优先考虑的事项。
🙏 致谢
- Next.js - 用于构建高性能 Web 应用程序的 React 框架。
- Shadcn UI - 设计精美的组件,帮助我们简化了 UI 开发。
- AI SDKs - 为 Deep Research 的智能研究功能提供了支持。
- Deep Research - 感谢
dzhng/deep-research项目给予我们的启发。
🤝 贡献
我们欢迎对 Deep Research 的贡献!如果您有任何改进建议、错误修复或新功能的想法,请随时:
- 分支该项目。
- 为您的功能或修复创建一个新的分支。
- 进行更改并提交。
- 提交一个拉取请求。
对于重大更改,请先打开一个问题来讨论您的提议。
✉️ 联系方式
如果您有任何问题、建议或反馈,请创建一个新的问题。
📝 许可证
Deep Research 采用 MIT 许可证 发布。该许可证允许免费使用、修改和分发,无论是用于商业用途还是非商业用途。
版本历史
v0.11.02026/02/10v0.10.02025/09/11v0.9.202025/05/20v0.8.22025/05/05v0.7.122025/04/11v0.6.62025/03/29v0.6.32025/03/27v0.5.22025/03/22v0.5.02025/03/15相似工具推荐
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
opencode
OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
