BettaFish舆情项目部署遇到的“坑”
最近GitHub大火的多智能体舆情项目BettaFish,包含了7个AI Agent,还能跑AI爬虫,这个项目对财务其他领域的智能化落地有很多借鉴的地方,所以决定通过实践这个项目来学习一些经验。
作为财务出身的专注财务数字化从业者,在本地部署时还是遇到了不少“坑”。这篇文章就是列举了我花了一天时间“死磕”到底,从0到1,把所有“坑”全部填平的完整记录。
-
项目地址:
https://github.com/666ghj/BettaFish -
运行环境:Windows 11 + Anaconda + Python 3.11
1. 准备工具
要成功运行BettaFish,你必须准备好以下“全家桶”,缺一不可:
-
Anaconda:(管理Python环境,推荐)
-
PostgreSQL 数据库:(放弃MySQL!这是第一个“坑”!)
-
Node.js:(爬虫需要它来运行JS加密)
-
至少1个有额度的API Key
-
Bocha / Tavily 的搜索Key:(用于“外部”搜索)
2. 踩坑之旅
第一个坑:数据库初始化失败
问题:我一开始使用XAMPP安装MySQL,但 app.py 始终报数据库初始化失败
分析:通过阅读README.md的Docker配置,我发现作者推荐的是PostgreSQL (5432端口),而 不是MySQL (3306端口)。MindSpider模块的初始化脚本是为PostgreSQL写的,两者语 法不兼容。
解决方案:
-
卸载 XAMPP (MySQL)
-
下载并安装 PostgreSQL 1X
-
设置 P
ostgres密码123456 -
修改
.env文件,将DB_DIALECT改为 Postgresql,端口改为5432,用户改为 Postgres,密码改为123456
第二个坑:Connection Does Not Exist Error
问题:换成PostgreSQL后,启动时报错 Connection was closed...(连接被重置)
分析:尝试连接到 bettafish 数据库,但此时 bettafish 数据库还不存在。而“创建数据库”的脚本,又需要先“连接”才能运行
解决方案:
-
打开PostgreSQL的“SQL Shell (psql)”
-
用
123456密码登录postgres数据库 -
手动创建名为
bettafish的数据库
第三个坑:UnicodeDecodeError: 'gbk'
问题:bettafish 数据库已存在,但程序在初始化时又报了 gbk 编码错误。
分析:程序在调用 psql.exe 时,Windows 默认的 gbk 编码无法读取 PostgreSQL 返回的 UTF-8 编码。
解决方案:强制Python全局使用UTF-8,正确启动命令:python -X utf8 app.py
第四个坑:Port 8501 is already in use
问题:数据库初始化成功,但所有Agent(InsightEngine等)全部启动失败,日志显示端口8501已被占用
分析:上一次的“异常终止”(比如gbk错误), 导致Streamlit的“子进程”变成了“僵尸”霸占了端口,它们没有被关掉
解决方案:
重启电脑
第五个坑:401 Incorrect API key
问题:程序终于运行,但一搜索就报错 401,并且日志指向了 platform.openai.com
分析:在 .env 里是 DeepSeek的key,到那时跑到了 OpenAI 的服务器,因为没有填写 Deepseek的_BASE_URL,没有填的话就是默认去 api.openai.com
解决方案:在 .env 中,填满所有 7 个 Agent 的 BASE_URL
第六个坑:MindSpider模块没有数据来分析
问题:PostgreSQL里没有数据
分析:MindSpider 是独立的程序,必须手动运行它
解决方案:
-
Ctrl+C停止app.py。 -
cd MindSpider -
python main.py --complete
第七个坑:MindSpider 模块“三连错”
-
问题:运行
MindSpider,以为能成功,结果又报错 -
分析与解决方案:
-
错误A:
No module named 'psycopg'-
原因:
MindSpider用了另一套数据库“翻译”,requirements.txt里没有 -
解决:
pip install psycopg[binary]
-
-
错误B:
No module named 'typer'和No module named 'humps'-
原因:
MediaCrawler(子爬虫)的依赖没在requirements.txt -
解决:
pip install typer和pip install pyhumps
-
-
错误C:
RuntimeUnavailableError: Could not find JavaScript runtime-
原因:
MediaCrawler爬抖音等平台需要模拟JS加密,它必须有Node.js环境! -
解决:去官网
nodejs.org/zh-cn/下载LTS版本的Windows Installer (.msi),最后重启电脑(让Node.js的“全局通讯录”生效)
-
-
3. 成功运行
1、打开 Anaconda Navigator 启动 CMD.exe Prompt。
2、进入“项目根目录” -> cd /d "D:\AI Project\BettaFish-main"
3、启动主网站
python -X utf8 app.py
4、打开浏览器,访问 http://127.0.0.1:5000







更多推荐


所有评论(0)