版本概述
微舆BettaFish 是一个基于多智能体的舆情分析系统,致力于打破信息茧房并提供权威、深度的舆情洞察。v2.0.0 是 BettaFish 一次里程碑式的大版本,我们全面重构了报告引擎,增强了弱模型适配与长文稳定性,实现了原子级可控与标准化交付。修复大量BUG的同时针对性能瓶颈进行了专项优化,系统运行内存占用已降至 1GB 以内。
微舆 v2.0.0 在稳定性、可配置性及部署便利性上迈出了重要一步。我们希望此版本能为你带来更高效、更可靠的体验。
✨ Report Engine V2
标准化生成流水线
现在的 Report Agent 遵循以下七阶段严谨流程,确保不同llm生成的报告的样式、内容统一与可控,提高了导出pdf的美观:
- 多源情报聚合:自动汇总多 Agent 的中间产物与论坛记录,构建全景信息底座。
- 智能模板匹配:内置多套专业舆情分析模板,系统根据内容特征自动择优匹配。
- 架构与切片设计:由 LLM 顶层设计报告标题、目录结构、Hero 模块及整体视觉风格,并选定适配的 HTML 模板。
- 章节任务规划:自动拆解篇章结构,生成细粒度的章节编写任务清单。
- 结构化生成与质检:逐块生成结构化 JSON 内容,并通过配套的 LLM 质检环节,消除格式错误与幻觉风险。
- Document IR 装订:引入 中间表示(IR) 层,将章节 JSON 与元数据(标题、时间、资产等)装订为统一的 Document IR,自动补齐锚点与目录信息。
- 高保真渲染:基于 IR 渲染引擎,输出交互式 HTML 报告及矢量 PDF。
Report Engine V2报告样例:[养老服务发展趋势.html] [养老服务发展趋势.pdf]
Report Engine V2组件全览:Full Block Demo
渲染引擎与技术改进
- IR → HTML/PDF 全链路渲染:新增
html_renderer与pdf_renderer,通过解耦内容与表现层,支持纯命令行模式(report_engine_only.py)生成报告。 - 离线依赖集成:内置思源宋体子集、MathJax、Chart.js 及 html2canvas,无需依赖外部 CDN,确保内网环境下的完美渲染。
- PDF 导出增强:新增
/api/report/export/pdf接口。导出前自动进行 Pango 依赖环境自检,支持一键生成高质量矢量 PDF。 - 安全与稳定性:
- Chart.js 安全校验:引入
chart_validator结合 LLM 自动修复链路,有效防止非法配置导致的前端崩溃或 XSS 注入风险。 - 数据清洗回归测试:增加
test_report_engine_sanitization测试套件,覆盖章节表格的容错修复,保障渲染端健壮性。
- Chart.js 安全校验:引入
- 可视化日志控制台:前端采用双缓冲虚拟列表 + SSE 历史补偿机制,后端提供日志管理接口,大幅提升长任务监控体验。
⚡ 性能优化与系统改进
性能与架构
- 内存占用大幅优化:通过对数据流转与对象生命周期的优化,成功将系统运行时的内存峰值控制在 1GB 以内,显著降低硬件要求。
- 服务健康检查:重构健康检查逻辑,解决 TCP 连接偶发拒绝问题,提升服务启动与自愈的可靠性。
DevOps 与工程化
- CI 工作流升级:新增磁盘空间清理步骤,确保构建环境的稳定性。
- Docker 适配:更新 Dockerfile 以适配新的依赖栈与构建流程。
- 配置最佳实践:更新
.env.example,提供更合理的默认配置与前端参数推荐,降低上手难度。
开发者体验 (DX)
- 日志系统重构:优化日志等级策略与输出逻辑,支持 DEBUG 级别以上的精细化过滤;改进前端日志查询模式,便于快速定位问题。
- 进度反馈优化:改善报告引擎的进度条交互,为长时间运行的任务提供更友好的状态反馈。
❤️ New Contributors
- @Liu-2806 made their first contribution in #312
- @JasonDylan made their first contribution in #322
- @zzzpppy made their first contribution in #355
感谢每一位提交 Issue 与提出改进建议的用户,你们的反馈帮助 BettaFish 更加完善。
Full Changelog: v1.2.1...v2.0.0