GPT Researcher
将网页与本地资料汇总为带引用的深度研究报告。
- Star 数
- ★ 31k
- 最近更新
- 26 天前
- License
- Apache-2.0
- 主语言
- Python
- FA 评分
- 52/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Claude.ai · OpenAI API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 需要针对当前议题撰写带引用长篇研究报告的分析师,可让系统从多个网页来源收集和汇总资料。
- 不适合
- 希望开箱即用、不想自己部署服务器和前端的研究者
- 需要保证事实准确、可直接用于学术论文的场景
这个 Agent 能做什么,适合哪些场景?
GPT Researcher 是一个面向网页和本地资料研究的开源深度研究代理。它采用规划器与执行代理的流程:先围绕查询生成研究问题,再由爬虫代理收集资料、生成摘要并追踪来源,最后由发布环节汇总为报告。该项目提供 Python 包中的 GPTResearcher 类、FastAPI 服务,以及轻量静态前端和 NextJS 前端两种界面选择。它可处理网页研究与指定目录中的 PDF、文本、CSV、Excel、Markdown、PowerPoint 和 Word 文档,并支持导出 PDF、Word 等格式。项目也提供递归式 Deep Research 工作流、MCP 数据源接入及 LangSmith 可观测性配置。
通过 GPTResearcher(query=query) 创建研究任务后,调用 await researcher.conduct_research() 执行研究,再调用 await researcher.write_report() 生成报告。其架构会生成覆盖任务的研究问题,针对每个问题由 crawler agent 收集信息,对资源进行摘要和来源追踪,并过滤、聚合这些摘要形成最终报告。默认部署可用 pip install -r requirements.txt 后运行 python -m uvicorn main:app --reload;本地文档研究通过 DOC_PATH 指向资料目录。设置 RETRIEVER=tavily,mcp 后,可在 mcp_configs 中配置命令、参数和环境变量,把 GitHub、数据库或自定义 API 等 MCP 数据源与网页检索结合。
- 需要针对当前议题撰写带引用长篇研究报告的分析师,可让系统从多个网页来源收集和汇总资料。
- 拥有一组 PDF、Excel、Word 或 Markdown 文件的团队,可设置 DOC_PATH,对本地资料执行研究任务。
- 需要把 GitHub 仓库或数据库内容与网页资料一并研究的开发者,可通过 RETRIEVER=tavily,mcp 和 mcp_configs 接入 MCP 数据源。
- 希望从浏览器界面发起研究并查看实时进度的用户,可部署 FastAPI 服务及静态或 NextJS 前端。
- 需要递归探索复杂主题的研究人员,可使用 Deep Research 的可配置深度和广度进行树状研究。
如何安装或部署这个 Agent?
准备 Python 3.11 或更高版本,克隆仓库后设置 API 密钥:
export OPENAI_API_KEY={Your OpenAI API Key here}
export TAVILY_API_KEY={Your Tavily API Key here}然后安装并启动:
pip install -r requirements.txt
python -m uvicorn main:app --reload服务默认访问 http://localhost:8000。也可安装包:
pip install gpt-researcher如何使用这个 Agent?
Python 包的最小调用方式为:
from gpt_researcher import GPTResearcherquery = "why is Nvidia stock going up?"
researcher = GPTResearcher(query=query)
research_result = await researcher.conduct_research()
report = await researcher.write_report()进行本地资料研究时,先设置 export DOC_PATH="./my-docs";使用前端时选择 “My Documents”,或创建 GPTResearcher 时传入 report_source="local"。需要 MCP 与网页检索混合时,设置 export RETRIEVER=tavily,mcp,并在 mcp_configs 中提供 MCP 服务配置。
这个 Agent 有哪些优点和局限?
- 规划器、执行代理和发布环节构成明确流程,覆盖问题生成、资料收集、来源追踪和报告汇总。
- 同时支持网页与多种本地文件格式,适合把内部资料和外部信息放入同一研究流程。
- 可通过 MCP 配置接入 GitHub、数据库和自定义 API 等专用数据源。
- 既能作为 Python 包调用,也能通过 FastAPI、静态前端、NextJS 前端或 Docker 部署使用。
- 标准安装步骤要求 Python 3.11+,并需要配置 OpenAI API Key 与 Tavily API Key。
- Deep Research 文档估计单次约需 5 分钟;使用高推理强度 o3-mini 的示例成本约为 0.4 美元。
- 项目明确说明其为实验性应用,按“现状”提供,不保证消除偏见或错误事实。
- MCP 功能需要额外设置 RETRIEVER 和 mcp_configs,并且具体数据源通常还需要各自的凭证。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| GPT Researcher 当前 | 52 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 31k | 26 天前 | Python | Claude.ai · OpenAI API |
| MiroThinker | 27 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 8.4k | 7 个月前 | Python | OpenAI API · Claude API |
| webclaw 网页提取引擎 | 66 · 存在缺口 | 命令行工具免费版 + 付费版 | ★ 2.4k | 2 天前 | Rust | Codex · Claude Code · OpenAI API · Claude API |
| Bright Data MCP | 64 · 存在缺口 | MCP 服务器免费版 + 付费版 | ★ 2.7k | 1 天前 | JavaScript | Claude Code · Claude.ai |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:项目明确说明后端无内置认证,依赖操作者自行部署防护,这降低了最小权限得分;用户确认机制未见,故为0;数据流透明度部分体现(如来源追踪),但未详细说明数据流向;敏感数据处理有提及(如API密钥),但未深入;依赖安全有CVE注释(如brotli),但未全面审计;外部影响有网络抓取和API调用,但未明确限制;回滚机制未见;来源归属有追踪来源的功能,但未明确验证。扣分原因:缺乏用户确认、回滚机制,权限控制依赖操作者。
证据显示:README与pyproject.toml中版本一致(0.14.7),但README中许可证为MIT,而pyproject.toml中许可证为MIT,但LICENSE文件为Apache-2.0,存在不一致;依赖声明完整,但未验证可用性;失败消息未详细说明。扣分原因:许可证不一致,失败处理未充分说明。
证据显示:面向广泛用户(个人和组织),支持多种LLM和搜索提供商,场景多样;能力边界有说明(如研究任务),但未明确限制;触发精度一般,未详细说明触发条件;环境适配有Docker、本地运行等。扣分原因:触发精度不足,能力边界未完全明确。
证据显示:信息架构清晰(README、文档链接),安装说明详细,命名稳定(版本号),示例和FAQ有提供,已知限制有免责声明,许可证文件存在但版本不一致,版本变更日志未见,维护责任有作者信息。扣分原因:许可证不一致,缺少变更日志。
证据显示:输出可用性高(支持PDF、Word等),边际价值明显(自动化研究),成本效益有说明(约0.1美元/任务)。扣分原因:成本数据未验证,边际价值未量化。
证据显示:声称基于论文,但未提供具体引用;跨源验证有提及(聚合多个来源),但未详细说明;事实与推断分离未明确。扣分原因:缺乏具体引用,事实与推断分离不明确。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 后端无内置认证,暴露到公网前必须自行添加认证和网络控制。
- 许可证声明不一致:README和pyproject.toml为MIT,但LICENSE文件为Apache-2.0,需确认实际许可。
- 依赖众多,需定期审计安全漏洞,特别是涉及网络抓取和文档处理的库。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
v3.7.0 Jev update and many bug fixes and improvements
发布说明摘录
Smarter context, no embeddings required GPT Researcher now picks the context it sends to the LLM by usefulness, not similarity. Every passage scraped for a research question is scored by [Jev](https://typesafe.ai/blog/introducing-system-one-models-and-jev) on how useful it is for answering that question, and only the passages that help are kept. On a benchmark of 28 research tasks replayed on identical sources: <img width="3200" height="1800" alt="image-1790437831580" src="https://github.com/user-attachments/assets/c2a7b305-2e60-4709-ad9c-8af09e297f9f" /> …在 GitHub 查看 ↗ -
v3.6.1 Major fixes
发布说明摘录
What's Changed * fix: restore main, add CI, and land 97 queued PRs by @assafelovic in https://github.com/assafelovic/gpt-researcher/pull/2074 * fix(readme): restore broken star history chart by @Dessalines39394 in https://github.com/assafelovic/gpt-researcher/pull/2066 * docs: document scholarly retriever configuration by @pikaqiu2333 in https://github.com/assafelovic/gpt-researcher/pull/1863 * chore(deps): update python-pptx requirement from >=1.0.0 to >=1.0.2 by @dependabot[bot] in https://github.com/assafelovic/gpt-researcher/pull/1927 …在 GitHub 查看 ↗ -
发布说明摘录
Introducing a super stable version with enhanced improvements across security, stability and performance. We're also introducing a collaboration with Langchain with the latest deep agents framework here - https://github.com/assafelovic/gpt-researcher/tree/main/deep_agents Thank you and welcome to all the new contributors! What's Changed * security: sanitize untrusted content, add SECURITY.md, pin brotli by @assafelovic in https://github.com/assafelovic/gpt-researcher/pull/1820 …在 GitHub 查看 ↗