
gpt-researcher
给个问题,自动搜全网并写出带引用的研究报告
GPT Researcher 是一个开源的自主研究智能体,能针对任意主题自动完成资料检索、网页抓取、信息筛选与报告撰写。它解决的是传统人工调研耗时、信息碎片化、多源整合困难的问题:用户只需给出研究问题,智能体便会自主规划子问题、调用搜索引擎与爬虫获取资料,再借助任意 LLM(OpenAI、Anthropic、本地模型等)进行摘要、交叉验证与结构化输出,最终生成带引用来源的长篇研究报告。项目支持 MCP 协议与 MCP Server,可接入外部工具与数据源,也支持本地文档、私有数据的研究。核心能力包括多智能体协作、并行抓取、来源溯源、可配置的深度与广度参数,以及面向开发者的 Python API 与 Web 界面,适合需要快速产出可信调研结果的研究者、分析师与产品团队。
项目数据
使用教程
环境要求
- Python 3.11 或更高版本
- 有效的 OpenAI API Key(或兼容 OpenAI 的自定义接口)
- 有效的 Tavily API Key(用于联网检索)
- 可选:Docker(使用 Docker 方式部署时需要)
安装与启动步骤
-
1安装 Python 3.11+
先确认本机已安装 Python 3.11 或更高版本,README 给出的官方指引见 tutorialsteacher 的 Python 安装教程。版本过低会导致依赖安装失败。
python --version -
2克隆项目代码
从 GitHub 拉取 gpt-researcher 仓库,并进入项目根目录,后续所有命令都在该目录下执行。
git clone https://github.com/assafelovic/gpt-researcher.git cd gpt-researcher -
3配置 API 密钥
通过 export 导出密钥,或把同样的键值写进项目根目录的 .env 文件。OpenAI 与 Tavily 两个 key 都需要设置。
export OPENAI_API_KEY=sk-xxxxxxxx export TAVILY_API_KEY=tvly-xxxxxxxx -
4安装项目依赖
在项目根目录执行 pip 安装 requirements.txt 中列出的全部依赖,首次安装耗时较长,请保持网络畅通。
pip install -r requirements.txt -
5启动后端服务
用 uvicorn 启动 main:app,--reload 会在代码变更时自动重载,适合开发调试;默认监听 8000 端口。
python -m uvicorn main:app --reload -
6访问 Web 界面
服务启动后,在浏览器中打开 http://localhost:8000 即可开始输入研究主题并生成报告。
-
7Docker 方式启动
备选方案:先把 .env.example 复制为 .env 并填入 API Key,再执行 docker-compose up --build,默认起 8000 与 3000 两个端口。
docker-compose up --build
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
OPENAI_API_KEY | 是 | 调用 OpenAI 或兼容接口的密钥,用于摘要与报告生成 | sk-xxxxxxxx |
TAVILY_API_KEY | 是 | Tavily 检索服务密钥,用于联网搜索资料 | tvly-xxxxxxxx |
OPENAI_BASE_URL | 否 | 自定义 OpenAI 兼容接口地址,用于本地模型或其他厂商 | http://localhost:11434/v1 |
LANGCHAIN_TRACING_V2 | 否 | 开启 LangChain 链路追踪与可观测性 | true |
LANGCHAIN_API_KEY | 否 | 启用 LangChain 追踪时所需的 API Key | lsv2_pt_xxxxxxxx |
如何确认成功
浏览器打开 http://localhost:8000 能看到 GPT Researcher 界面即启动成功;Docker 方式则访问 http://localhost:3000。
常见问题
Q:执行 docker-compose up --build 报命令不存在怎么办?
A:新版 Docker 已把 compose 改为子命令,改用不带连字符的写法:docker compose up --build。
Q:不想在 Docker 里启动全部服务怎么办?
A:在 docker-compose 文件中把不需要的服务注释掉再执行,默认不注释会同时启动 Python 服务(8000)和 React 前端(3000)。
Q:想接本地模型或其他厂商的模型怎么办?
A:设置 OPENAI_BASE_URL 指向你的自定义 OpenAI 兼容接口地址,即可让 GPT Researcher 调用该接口。
Q:可以不用命令行服务,只在代码里调用吗?
A:可以,README 提供了 PIP 包方式:pip install gpt-researcher,然后 from gpt_researcher import GPTResearcher 创建 researcher 对象。
Q:如何把 GPT Researcher 接入 Claude 对话?
A:README 提供了 Claude Skill 安装方式,执行 npx skills add assafelovic/gpt-researcher 即可在 Claude 对话中使用其深度研究能力。
注意事项
- 密钥既可以 export 到环境变量,也可以写入项目根目录的 .env 文件,两种方式二选一或并存都可。
- 使用 Docker 方式前必须先复制 .env.example 为 .env 并补充 API Key,否则容器内拿不到密钥。
- 除 pip 直接安装外,README 还提到可用 Poetry 或虚拟环境,详见官方 Getting Started 文档。
- README 中 pip 包示例代码片段不完整,未给出 report 的生成方法,实际用法请查阅官方文档。
核心亮点
- 自主规划子问题并并行抓取多源网页,自动生成带引用来源的长篇报告,省去人工检索与整理
- LLM 供应商无关,可切换 OpenAI、Anthropic 及本地模型,也支持 MCP 协议接入外部工具与私有数据
- 提供 Python API 与 Web UI 两种用法,参数可调研究深度与广度,便于嵌入现有工作流
不足之处
- 报告质量高度依赖所选 LLM 与搜索后端,弱模型下易出现幻觉或引用不准确
- 深度研究需大量抓取与多次 LLM 调用,token 与时间成本较高,大规模使用需自行控制预算
适用场景
- 市场与竞品调研:输入行业问题,自动汇总公开资料生成分析报告
- 学术或技术预研:快速梳理某技术方向的现状、方案与来源链接
- 内容创作辅助:为文章、播客或投资备忘录自动收集并整理背景资料
替代项目
AutoGPT、stanford-oval/storm、khoj-ai/khoj
项目介绍
上一篇:semantix
下一篇:LLM-MM-Agent
同类项目推荐
xinchao-dynamic-mind
开源
给 AI 装上疲惫和欲望,让交互更真实
独立、可自托管的 AI 动态心智状态引擎:驱动力、念头池、疲惫、睡眠与意图。
deepseek-harness
开源
把 AI 能力拆成乐高积木,拼出你的专属智能体。
DeepSeek Harness: Everything is a Plugin.
AutoGPT
开源
开箱即用的 AI 员工,交代任务就自己干完
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mis···
agent-manager
开源
一站式管理企业 AI 代理,部署治理全搞定
WSO2 AI Agent Manager is an open control plane designed for enterprises to deploy, m···