最近GitHub大火的多智能体舆情项目BettaFish,包含了7个AI Agent,还能跑AI爬虫,这个项目对财务其他领域的智能化落地有很多借鉴的地方,所以决定通过实践这个项目来学习一些经验。

        作为财务出身的专注财务数字化从业者,在本地部署时还是遇到了不少“坑”。这篇文章就是列举了我花了一天时间“死磕”到底,从0到1,把所有“坑”全部填平的完整记录。

  • 项目地址:https://github.com/666ghj/BettaFish

  • 运行环境:Windows 11 + Anaconda + Python 3.11

1. 准备工具

     要成功运行BettaFish,你必须准备好以下“全家桶”,缺一不可:

  1. Anaconda:(管理Python环境,推荐)

  2. PostgreSQL 数据库:(放弃MySQL!这是第一个“坑”!)

  3. Node.js:(爬虫需要它来运行JS加密)

  4. 至少1个有额度的API Key

  5. Bocha / Tavily 的搜索Key:(用于“外部”搜索)

2. 踩坑之旅

第一个坑:数据库初始化失败

        问题:我一开始使用XAMPP安装MySQL,但 app.py 始终报数据库初始化失败

        分析:通过阅读README.mdDocker配置,我发现作者推荐的是PostgreSQL (5432端口),而                       不是MySQL (3306端口)MindSpider模块的初始化脚本是为PostgreSQL写的,两者语                     法不兼容。
        解决方案:

  • 卸载 XAMPP (MySQL)

  • 下载并安装 PostgreSQL 1X

  • 设置 Postgres 密码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,以为能成功,结果又报错

  • 分析与解决方案:

    1. 错误A:No module named 'psycopg'

      • 原因:MindSpider 用了另一套数据库“翻译”,requirements.txt 里没有

      • 解决:pip install psycopg[binary]

    2. 错误B:No module named 'typer'No module named 'humps'

      • 原因:MediaCrawler(子爬虫)的依赖没在requirements.txt

      • 解决:pip install typerpip install pyhumps

    3. 错误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

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐