在Linux(ubuntu)部署DeerFlow,遇到一些问题,可能大家在Windows/macOS不会遇到。 我是在云服务器Linux部署,在Windows访问对话框 http://47.237.6.73:3000/chat (47.237.6.73为云服务器公网IP)。
1、运行启动脚本./bootstrap.sh -d报错
(base) root@iZt4ncp8f7p40g5kc8xnlzZ:~/deer-flow# 2025-09-06 17:10:35,013 - __main__ - INFO - Starting DeerFlow API server on 0.0.0.0:8000
INFO: Will watch for changes in these directories: ['/root/deer-flow']
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
INFO: Started reloader process [412232] using StatReload
Process SpawnProcess-1:
Traceback (most recent call last):
···············
packages/psycopg/pq/__init__.py", line 116, in
import_from_libpq()
File "/root/deer-flow/.venv/lib/python3.12/site-packages/psycopg/pq/__init__.py", line 108, in import_from_libpq
raise ImportError(
ImportError: no pq wrapper available.
Attempts made:
- couldn't import psycopg 'c' implementation: No module named 'psycopg_c'
- couldn't import psycopg 'binary' implementation: No module named 'psycopg_binary'
- couldn't import psycopg 'python' implementation: libpq library not found
安装依赖(libpq-dev)后解决,重启后正常启动两个服务(后端8000、前端3000)
sudo apt update && sudo apt install libpq-dev
2、部署后访问47.237.6.73:3000/chat前端报错
报错代码位置,是因为前端访问云服务器的后端地址有问题 http://localhost:8000/api/config ,需要修改
Failed to fetch src/core/api/hooks.ts (59:5)
@ useConfig.useEffect fetch(resolveServiceURL("./config"))
为了省事直接在前端代码deer-flow/web目录下添加.env配置。(可以修改代码后重新构建)
cp .env.example .env
nano .env
重新启动./bootstrap.sh -d后,仍然无法访问 http://47.237.6.73:8000/api/config
在云服务器上curl http://localhost:8000/api/config 是可以访问的。 排查发现后端服务只绑定到了 127.0.0.1(localhost),这意味着它只接受来自服务器本地的连接,拒绝了所有外部网络请求。
netstat -tlnp | grep :8000
tcp 0 0 127.0.0.1:8000 0.0.0.0:* LISTEN 1796/python3
为了省事直接修改启动配置,让它绑定到 0.0.0.0(所有网络接口)而不是 127.0.0.1。(可以修改后端服务代码重新构建)
修改启动脚本bootstraph.sh
重新启动./bootstrap.sh -d,仍有一个跨域问题
后端代码deer-flow根目录下修改.env配置ALLOWED_ORIGINS=http://47.237.6.73:3000
对话框终于正常了!
3、对话框输入指令后,查看后端日志,一直被提示刷屏
"Checkpoint saver is disabled, message not processed"
需要修改配置,并且安装MongoDB
重新启动./bootstrap.sh -d,不再warning刷屏,可以看到正常日志