github网址是:https://github.com/assafelovic/gpt-researcher
因为docker安装方法不够清晰,因此写一个使用方法
以下是针对 Windows 系统 使用 Docker 运行 AI-Researcher 项目的 详细分步指南:
步骤 1:安装 Docker
- 下载 Docker Desktop
访问 Docker 官网 下载 Windows 版安装包。 - 安装并启动 Docker
- 双击安装包,按默认选项完成安装。
- 安装完成后,启动 Docker Desktop。首次启动会提示启用 WSL2,点击确认。
- 等待 Docker 图标在任务栏显示为绿色(表示已运行)。
!!! 安装前需要增加一些代理,因为docker国内不能访问
打开设置——docker engine ,增加代码
"registry-mirrors": [
"https://docker.1panel.live",
"https://hub.rat.dev"
]
步骤 2:配置环境变量文件(.env
)
克隆
.env.example
文件- 在项目根目录(含
docker-compose.yml
的文件夹)中,找到.env.example
文件。 - 复制此文件,右键 → 复制 → 粘贴到同一目录。
- 将粘贴后的副本重命名为
.env
(删除.example
后缀)。
- 在项目根目录(含
编辑
.env
文件- 右键 → 用记事本或 VS Code 打开
.env
文件。 - 填写你的 API 密钥(如 OpenAI、Google 等):
OPENAI_API_KEY=你的OpenAI_API密钥 GOOGLE_API_KEY=你的Google_API密钥 ...
- 保存文件(确保文件名是
.env
,不是.env.txt
)。
注意:
- 如果文件名显示为
.env.txt
,需在文件资源管理器开启“显示文件扩展名”后重命名。
(方法:资源管理器 → 查看 → 勾选“文件扩展名”)
- 右键 → 用记事本或 VS Code 打开
步骤 3:调整 docker-compose.yml
文件
用文本编辑器打开
docker-compose.yml
- 右键文件 → 用 VS Code 或记事本打开。
注释不需要的服务
- 找到
services
下的服务(如celery
、redis
等),修改ports
- 找到
gptr-nextjs:
pull_policy: build
image: gptresearcher/gptr-nextjs
stdin_open: true
environment:
CHOKIDAR_USEPOLLING: "true"
LOGGING_LEVEL: INFO
NEXT_PUBLIC_GA_MEASUREMENT_ID: ${NEXT_PUBLIC_GA_MEASUREMENT_ID}
NEXT_PUBLIC_GPTR_API_URL: ${NEXT_PUBLIC_GPTR_API_URL}
build:
dockerfile: Dockerfile.dev
context: frontend/nextjs
volumes:
- /app/node_modules
- ./frontend/nextjs:/app
- ./outputs:/app/outputs
restart: always
ports:
- 3333:3000
- 保存文件。
步骤 4:启动 Docker 容器
打开终端(PowerShell 或 CMD)
- 在项目根目录的地址栏输入
cmd
或powershell
,回车打开命令行。
- 在项目根目录的地址栏输入
运行 Docker 命令
docker compose up --build
- 如果报错,尝试:
docker-compose up --build # 旧版本 Docker 可能需要此写法
过程说明:
--build
会重新构建镜像(首次运行或代码修改后需要)。- 等待下载镜像和构建完成(首次可能较久,依赖网络速度)。
- 如果报错,尝试:
步骤 5:访问应用
访问 React 前端
构建完成后,在浏览器输入:http://localhost:3333
访问 Python 后端 API
后端服务运行在:http://localhost:8000
完整流程总结
- 安装 Docker Desktop → 启动并确认运行状态。
- 复制
.env.example
→ 重命名.env
→ 填写 API 密钥。 - 编辑
docker-compose.yml
→ 注释不需要的服务。 - 在项目目录打开终端 → 运行
docker compose up --build
。 - 访问
http://localhost:3000
使用应用。
如有其他问题,可提供错误截图或日志进一步排查! 🚀