ARTICLE · 1318733
GitHub 上免费开源的一款舆情分析软件 BettaFish
各位好啊,我是开源君!
同一个热点,不同平台的说法往往差很多。想做一份研究,光是找报道、翻评论、记时间线,就得开一堆窗口。材料凑齐,还要区分事实、观点和推测。
今天聊的 BettaFish,中文名叫“微舆”,尝试让多个 AI 分工处理这些步骤,再把结果整理成一份报告。
项目简介
BettaFish 是一个可以自行部署的多智能体舆情分析系统。“多智能体”可以理解成几位职责不同的 AI 助手:分别查新闻、处理搜索资料、分析数据库内容,再交流发现、汇总成文。
它有浏览器操作界面,可以输入研究问题、查看各引擎的运行日志和报告结果,适合学习舆情研究流程与 AI 协作。
用途需要先看清:仓库标注 GPL-2.0,同时声明仅限学习、学术研究和教育等用途,禁止商用。实际使用前,应先核实授权要求。

新闻和评论,分工寻找线索
研究一个话题时,公开报道和评论区提供的视角并不一样。BettaFish 的 Query Agent 负责联网检索;Media Agent 通过所选搜索服务处理网页、图片或结构化信息;Insight Agent 则查询已经准备好的舆情数据库。
比如,研究某类产品的讨论变化,可以把报道里的时间节点,与数据库中的评论内容、互动指标放在一起观察。每个角色使用不同工具,减少自己在材料之间来回搬运。
提问时最好写明主题、时间范围和想了解的问题。例如“整理最近一周某项服务的主要讨论点”,就比只输入一个名称更容易控制研究边界,也方便核对有没有漏掉重要材料。
这里有个前提:数据库里得先有数据。MindSpider 是单独的数据采集组件,需要另行配置和运行;部分平台需要登录。启动分析后台,并不等于已经拿到了所有平台的评论。
让 AI 相互补充,再整理判断
这个项目比较有意思的设计,是“论坛”协作。几个分析引擎会把研究发现写入讨论记录,再由一个主持人模型梳理关注点,引导后续研究。
可以把它想成一次小组讨论:有人查背景,有人看评论,有人补充其他资料,主持人把遗漏的问题拎出来,交给大家继续找线索。
运行过程保留在界面日志中,可以观察各引擎找到了哪些线索、目前停在哪一步。分析会经历多轮调用,耗时也取决于搜索服务、模型响应和问题复杂度。
这样便于从不同角度补充材料,但多个 AI 得出相似结论,也不代表事实已经核实。样本是否偏、报道是否过时、数字有没有依据,仍要回查原始材料。

把零散发现,整理成能读的报告
材料收集完,Report Agent 会汇总分析结果和论坛记录,选择模板,安排章节,再生成带目录、段落、表格和图表的 HTML 报告。
内置模板涵盖热点事件、日常监测、行业动态等研究方向,也支持上传 Markdown 或文本模板。想固定报告结构,可以先写清需要哪些章节,再交给系统组织内容。
报告还可以导出 Markdown;PDF 导出则依赖相应的系统组件,Docker 镜像已包含相关依赖。成稿结构更完整,但其中的引用、统计口径和趋势推测,仍需要人工复核。

报告想调整,可以复用已有材料
如果前面的研究材料已经齐了,只是想重新组织报告,不必每次都重新跑一遍检索。项目提供独立的报告生成入口,可以读取已有引擎报告,再交给报告模型整合。
已有章节结果也能重新渲染为 HTML、Markdown 或 PDF。这里要分清:调整排版可以复用内容,想更新事实和结论,则需要补充材料、重新分析;调用模型重写报告也可能产生费用。

快速安装、使用
首次体验可以使用 Git、Docker 和 Docker Compose,在终端执行:
git clone https://github.com/666ghj/BettaFish.gitcd BettaFishcp .env.example .env编辑 .env。使用自带数据库服务时,设 DB_HOST=db、DB_PORT=5432、DB_DIALECT=postgresql,再填写数据库名、用户名与密码。
按示例配置各分析引擎、报告引擎和主持人的模型密钥、接口地址及模型名,数据库分析还需按示例补齐关键词优化等辅助配置。同时填写 Tavily 和所选 Anspire 或 Bocha 搜索服务的凭据。配置好再启动:
docker compose up -d# 浏览器打开:http://localhost:5000模型与搜索服务可能计费,多轮检索和讨论会增加调用量。本地部署也不等于离线分析,使用云模型时,参与分析的数据片段仍会发送给模型服务。先选一个范围小、资料清楚的话题体验。
开源君想说
BettaFish 值得学习的地方,是把“找材料、分工讨论、整理报告”放在同一套流程里。对想研究多智能体协作、舆情分析和报告生成的人,它提供了一份可拆开观察的实现。
先用一个明确问题、一个短时间段和少量可核实的样本,看看系统找到了什么、漏掉了什么。把报告当作继续研究的起点,才更容易用好这类工具。
项目地址https://github.com/666ghj/BettaFish















































































