666ghj

Update README.

@@ -8,6 +8,8 @@ @@ -8,6 +8,8 @@
8 <a href="https://lioncc.ai/" target="_blank"><img src="./static/image/logo_loincc.png" alt="666ghj%2FBettaFish | Trendshift" height="40"/></a>&ensp; 8 <a href="https://lioncc.ai/" target="_blank"><img src="./static/image/logo_loincc.png" alt="666ghj%2FBettaFish | Trendshift" height="40"/></a>&ensp;
9 <a href="https://share.302.ai/P66Qe3" target="_blank"><img src="./static/image/logo_302ai.png" alt="666ghj%2FBettaFish | Trendshift" height="40"/></a> 9 <a href="https://share.302.ai/P66Qe3" target="_blank"><img src="./static/image/logo_302ai.png" alt="666ghj%2FBettaFish | Trendshift" height="40"/></a>
10 10
  11 +<a href="https://open.anspire.cn/?share_code=3E1FUOUH" target="_blank"><img src="./static/image/logo_anspire.png" alt="666ghj%2FBettaFish | Trendshift" height="50"/></a>
  12 +
11 [![GitHub Stars](https://img.shields.io/github/stars/666ghj/BettaFish?style=flat-square)](https://github.com/666ghj/BettaFish/stargazers) 13 [![GitHub Stars](https://img.shields.io/github/stars/666ghj/BettaFish?style=flat-square)](https://github.com/666ghj/BettaFish/stargazers)
12 [![GitHub Watchers](https://img.shields.io/github/watchers/666ghj/BettaFish?style=flat-square)](https://github.com/666ghj/BettaFish/watchers) 14 [![GitHub Watchers](https://img.shields.io/github/watchers/666ghj/BettaFish?style=flat-square)](https://github.com/666ghj/BettaFish/watchers)
13 [![GitHub Forks](https://img.shields.io/github/forks/666ghj/BettaFish?style=flat-square)](https://github.com/666ghj/BettaFish/network) 15 [![GitHub Forks](https://img.shields.io/github/forks/666ghj/BettaFish?style=flat-square)](https://github.com/666ghj/BettaFish/network)
@@ -23,13 +25,6 @@ @@ -23,13 +25,6 @@
23 25
24 </div> 26 </div>
25 27
26 -## 🌟 Join Our Official Community  
27 -  
28 -<div align="center">  
29 - <img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&height=200&section=header&text=Scan%20to%20Join%20Our%20QQ%20Group&fontSize=40&fontAlignY=35&desc=Welcome%20to%20Our%20Community!&descAlignY=55" alt="Welcome%20to%20Our%20Community!" style="width:60%; max-width:900px; display:block; margin:0 auto;">  
30 - <img src="static/image/QQ_Light_Horizenal.png" alt="BettaFish QQ Group QR Code" style="width:60%; max-width:360px; display:block; margin:20px auto 0;">  
31 -</div>  
32 -  
33 ## ⚡ Project Overview 28 ## ⚡ Project Overview
34 29
35 **"BettaFish"** is an innovative multi-agent public opinion analysis system built from scratch. It helps break information cocoons, restore the original public sentiment, predict future trends, and assist decision-making. Users only need to raise analysis needs like chatting; the agents automatically analyze 30+ mainstream social platforms at home and abroad and millions of public comments. 30 **"BettaFish"** is an innovative multi-agent public opinion analysis system built from scratch. It helps break information cocoons, restore the original public sentiment, predict future trends, and assist decision-making. Users only need to raise analysis needs like chatting; the agents automatically analyze 30+ mainstream social platforms at home and abroad and millions of public comments.
@@ -88,6 +83,11 @@ Solomon LionCC BettaFish WeiYu Benefits: Open codecodex.ai Lion Programming Chan @@ -88,6 +83,11 @@ Solomon LionCC BettaFish WeiYu Benefits: Open codecodex.ai Lion Programming Chan
88 302.AI is a pay-as-you-go enterprise AI resource hub that offers the latest and most comprehensive AI models and APIs on the market, along with a variety of ready-to-use online AI applications. 83 302.AI is a pay-as-you-go enterprise AI resource hub that offers the latest and most comprehensive AI models and APIs on the market, along with a variety of ready-to-use online AI applications.
89 </details> 84 </details>
90 85
  86 +<details>
  87 +<summary>Provider of core agent capabilities including AI web search, file parsing, and web content scraping: <span style="margin-left: 10px"><a href="https://open.anspire.cn/?share_code=3E1FUOUH" target="_blank"><img src="./static/image/logo_anspire.png" alt="666ghj%2FBettaFish | Trendshift" height="50"/></a></span></summary>
  88 +Anspire Open is a leading infrastructure provider for the agent era. We offer developers the core capability stack needed to build powerful agents. Currently available services include AI web search (multiple versions, highly competitive pricing), file parsing (limited-time free), web content scraping (limited-time free), cloud browser automation (Anspire Browser Agent, in beta), multi-turn rewriting, and more. We continue to provide a solid foundation for agents to connect and operate in complex digital worlds. Seamlessly integrates with mainstream agent platforms such as Dify, Coze, and Yuanqi. Through a transparent credit-based billing system and modular design, we provide enterprises with efficient, low-cost customized support to accelerate intelligent transformation.
  89 +</details>
  90 +
91 ## 🏗️ System Architecture 91 ## 🏗️ System Architecture
92 92
93 ### Overall Architecture Diagram 93 ### Overall Architecture Diagram
@@ -114,18 +114,11 @@ Solomon LionCC BettaFish WeiYu Benefits: Open codecodex.ai Lion Programming Chan @@ -114,18 +114,11 @@ Solomon LionCC BettaFish WeiYu Benefits: Open codecodex.ai Lion Programming Chan
114 | 4 | Strategy Formulation | Develop segmented research strategies based on preliminary results | Internal Decision Modules of Each Agent | - | 114 | 4 | Strategy Formulation | Develop segmented research strategies based on preliminary results | Internal Decision Modules of Each Agent | - |
115 | 5-N | **Iterative Phase** | **Forum Collaboration + In-depth Research** | **ForumEngine + All Agents** | **Multi-round cycles** | 115 | 5-N | **Iterative Phase** | **Forum Collaboration + In-depth Research** | **ForumEngine + All Agents** | **Multi-round cycles** |
116 | 5.1 | In-depth Research | Each Agent conducts specialized search guided by forum host | Each Agent + Reflection Mechanisms + Forum Guidance | Each cycle | 116 | 5.1 | In-depth Research | Each Agent conducts specialized search guided by forum host | Each Agent + Reflection Mechanisms + Forum Guidance | Each cycle |
117 -| 5.2 | Forum Collaboration | ForumEngine monitors Agent communications and generates host summaries | ForumEngine + LLM Host | Each cycle | 117 +| 5.2 | Forum Collaboration | ForumEngine monitors Agent communications and generates host guidance | ForumEngine + LLM Host | Each cycle |
118 | 5.3 | Communication Integration | Each Agent adjusts research directions based on discussions | Each Agent + forum_reader tool | Each cycle | 118 | 5.3 | Communication Integration | Each Agent adjusts research directions based on discussions | Each Agent + forum_reader tool | Each cycle |
119 | N+1 | Result Integration | Report Agent collects all analysis results and forum content | Report Agent | - | 119 | N+1 | Result Integration | Report Agent collects all analysis results and forum content | Report Agent | - |
120 -| N+2 | Report Generation | Dynamically select templates and styles, generate final reports through multiple rounds | Report Agent + Template Engine | - |  
121 -  
122 -### 🆕 Report Engine Highlights  
123 -  
124 -- **IR → HTML/PDF rendering**: New `ReportEngine/renderers/html_renderer.py` and `pdf_renderer.py` ship with a Source Han Serif subset plus offline MathJax/Chart.js/html2canvas; `report_engine_only.py` lets you render reports from the CLI without the web UI.  
125 -- **PDF export APIs**: Added `/api/report/export/pdf/<task_id>` and `/api/report/export/pdf-from-ir`, performing Pango dependency checks and returning vector PDFs that mirror the HTML preview.  
126 -- **Chart.js safety guardrails**: `utils/chart_validator.py` with optional LLM repair ensures widget payloads are valid, avoiding crashes or XSS from malformed chart configs.  
127 -- **Multi-source log console**: Frontend console now uses a double-buffered virtual list with SSE replay; backend exposes `/api/report/log` and `/api/report/log/clear` for quick inspect/reset.  
128 -- **Sanitization regression tests**: `tests/test_report_engine_sanitization.py` covers table block auto-repair to keep rendering stable. 120 +| N+2 | IR Intermediate Representation | Dynamically select templates and styles, generate metadata through multiple rounds, assemble into IR intermediate representation | Report Agent + Template Engine | - |
  121 +| N+3 | Report Generation | Perform quality checks on chunks, render into interactive HTML report based on IR | Report Agent + Stitching Engine | - |
129 122
130 ### Project Code Structure Tree 123 ### Project Code Structure Tree
131 124
@@ -215,8 +208,8 @@ BettaFish/ @@ -215,8 +208,8 @@ BettaFish/
215 │ ├── prompts/ # Prompt library and schema descriptions 208 │ ├── prompts/ # Prompt library and schema descriptions
216 │ │ └── prompts.py # Template selection/layout/budget/chapter prompts 209 │ │ └── prompts.py # Template selection/layout/budget/chapter prompts
217 │ ├── renderers/ # IR renderers 210 │ ├── renderers/ # IR renderers
218 -│ │ ├── html_renderer.py # Document IR → interactive HTML  
219 -│ │ ├── pdf_renderer.py # HTML → PDF export (WeasyPrint) 211 +│ │ ├── html_renderer.py # Document IR→interactive HTML
  212 +│ │ ├── pdf_renderer.py # HTML→PDF export (WeasyPrint)
220 │ │ ├── pdf_layout_optimizer.py # PDF layout optimizer 213 │ │ ├── pdf_layout_optimizer.py # PDF layout optimizer
221 │ │ └── chart_to_svg.py # Chart to SVG conversion tool 214 │ │ └── chart_to_svg.py # Chart to SVG conversion tool
222 │ ├── state/ # Task/metadata state models 215 │ ├── state/ # Task/metadata state models
@@ -247,7 +240,7 @@ BettaFish/ @@ -247,7 +240,7 @@ BettaFish/
247 │ │ ├── main.py # Deep crawling main program 240 │ │ ├── main.py # Deep crawling main program
248 │ │ ├── keyword_manager.py # Keyword manager 241 │ │ ├── keyword_manager.py # Keyword manager
249 │ │ ├── platform_crawler.py # Platform crawler manager 242 │ │ ├── platform_crawler.py # Platform crawler manager
250 -│ │ └── MediaCrawler/ # Media crawler core (Weibo/TikTok/Xiaohongshu, etc.) 243 +│ │ └── MediaCrawler/ # Media crawler core
251 │ │ ├── main.py 244 │ │ ├── main.py
252 │ │ ├── config/ # Platform configurations 245 │ │ ├── config/ # Platform configurations
253 │ │ ├── media_platform/ # Platform crawler implementations 246 │ │ ├── media_platform/ # Platform crawler implementations
@@ -268,7 +261,7 @@ BettaFish/ @@ -268,7 +261,7 @@ BettaFish/
268 │ │ ├── train.py 261 │ │ ├── train.py
269 │ │ ├── predict.py 262 │ │ ├── predict.py
270 │ │ └── ... 263 │ │ └── ...
271 -│ ├── WeiboMultilingualSentiment/ # Multilingual sentiment analysis (recommended) 264 +│ ├── WeiboMultilingualSentiment/ # Multilingual sentiment analysis
272 │ │ ├── train.py 265 │ │ ├── train.py
273 │ │ ├── predict.py 266 │ │ ├── predict.py
274 │ │ └── ... 267 │ │ └── ...
@@ -308,13 +301,13 @@ BettaFish/ @@ -308,13 +301,13 @@ BettaFish/
308 │ ├── test_report_engine_sanitization.py # ReportEngine security tests 301 │ ├── test_report_engine_sanitization.py # ReportEngine security tests
309 │ └── ... 302 │ └── ...
310 ├── app.py # Flask main application entry point 303 ├── app.py # Flask main application entry point
311 -├── config.py # Global configuration file (unified LLM/DB config management) 304 +├── config.py # Global configuration file
312 ├── .env.example # Environment variable example file 305 ├── .env.example # Environment variable example file
313 ├── docker-compose.yml # Docker multi-service orchestration config 306 ├── docker-compose.yml # Docker multi-service orchestration config
314 ├── Dockerfile # Docker image build file 307 ├── Dockerfile # Docker image build file
315 ├── requirements.txt # Python dependency list 308 ├── requirements.txt # Python dependency list
316 ├── regenerate_latest_pdf.py # PDF regeneration utility script 309 ├── regenerate_latest_pdf.py # PDF regeneration utility script
317 -├── report_engine_only.py # Report Engine CLI version (no Web interface required) 310 +├── report_engine_only.py # Report Engine CLI version
318 ├── README.md # Chinese documentation 311 ├── README.md # Chinese documentation
319 ├── README-EN.md # English documentation 312 ├── README-EN.md # English documentation
320 ├── CONTRIBUTING.md # Chinese contribution guide 313 ├── CONTRIBUTING.md # Chinese contribution guide
@@ -432,19 +425,18 @@ DB_CHARSET=utf8mb4 @@ -432,19 +425,18 @@ DB_CHARSET=utf8mb4
432 DB_DIALECT=postgresql 425 DB_DIALECT=postgresql
433 # Database initialization is not required, as it will be checked automatically upon executing app.py 426 # Database initialization is not required, as it will be checked automatically upon executing app.py
434 427
435 -# LLM configuration 428 +# ====================== LLM Configuration ======================
436 # You can switch each Engine's LLM provider as long as it follows the OpenAI-compatible request format 429 # You can switch each Engine's LLM provider as long as it follows the OpenAI-compatible request format
  430 +# The configuration file provides recommended LLMs for each Agent. For initial deployment, please refer to the recommended settings first
437 431
438 # Insight Agent 432 # Insight Agent
439 INSIGHT_ENGINE_API_KEY= 433 INSIGHT_ENGINE_API_KEY=
440 -# Insight Agent LLM API BaseUrl, customize API provider  
441 INSIGHT_ENGINE_BASE_URL= 434 INSIGHT_ENGINE_BASE_URL=
442 -# Insight Agent LLM Model Name, e.g., kimi-k2-0711-preview  
443 INSIGHT_ENGINE_MODEL_NAME= 435 INSIGHT_ENGINE_MODEL_NAME=
  436 +
444 # Media Agent 437 # Media Agent
445 ... 438 ...
446 ``` 439 ```
447 -Recommended LLM API Provider: [aihubmix](https://aihubmix.com/?aff=8Ds9)  
448 440
449 ### 6. Launch System 441 ### 6. Launch System
450 442
@@ -471,8 +463,6 @@ python app.py @@ -471,8 +463,6 @@ python app.py
471 463
472 > Note 2: Data scraping needs to be performed as a separate operation. Please refer to the instructions in section 5.3. 464 > Note 2: Data scraping needs to be performed as a separate operation. Please refer to the instructions in section 5.3.
473 465
474 -> Note 3: If page display issues occur during remote server deployment, see [PR#45](https://github.com/666ghj/BettaFish/pull/45)  
475 -  
476 Visit http://localhost:5000 to use the complete system 466 Visit http://localhost:5000 to use the complete system
477 467
478 #### 6.2 Launch Individual Agents 468 #### 6.2 Launch Individual Agents
@@ -806,6 +796,13 @@ Thanks to these excellent contributors: @@ -806,6 +796,13 @@ Thanks to these excellent contributors:
806 796
807 [![Contributors](https://contrib.rocks/image?repo=666ghj/BettaFish)](https://github.com/666ghj/BettaFish/graphs/contributors) 797 [![Contributors](https://contrib.rocks/image?repo=666ghj/BettaFish)](https://github.com/666ghj/BettaFish/graphs/contributors)
808 798
  799 +## 🌟 Join Our Official Community
  800 +
  801 +<div align="center">
  802 + <img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&height=200&section=header&text=Welcome%20to%20Our%20QQ%20Group!&fontSize=40&fontAlignY=35&desc=Scan%20to%20Join%20Our%20Community&descAlignY=55" alt="Welcome to Our QQ Group!" style="width:60%; max-width:900px; display:block; margin:0 auto;">
  803 + <img src="static/image/QQ_Light_Horizenal.png" alt="BettaFish QQ Group QR Code" style="width:60%; max-width:360px; display:block; margin:20px auto 0;">
  804 +</div>
  805 +
809 ## 📈 Project Statistics 806 ## 📈 Project Statistics
810 807
811 <a href="https://www.star-history.com/#666ghj/BettaFish&type=date&legend=top-left"> 808 <a href="https://www.star-history.com/#666ghj/BettaFish&type=date&legend=top-left">
@@ -26,13 +26,6 @@ @@ -26,13 +26,6 @@
26 26
27 </div> 27 </div>
28 28
29 -## 🌟 加入官方交流群  
30 -  
31 -<div align="center">  
32 - <img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&height=200&section=header&text=欢迎加入我们的技术交流QQ群!&fontSize=40&fontAlignY=35&desc=扫描下方二维码加入群聊&descAlignY=55" alt="欢迎加入我们的技术交流QQ群!" style="width:60%; max-width:900px; display:block; margin:0 auto;">  
33 - <img src="static/image/QQ_Light_Horizenal.png" alt="BettaFish 技术交流群二维码" style="width:60%; max-width:360px; display:block; margin:20px auto 0;">  
34 -</div>  
35 -  
36 ## ⚡ 项目概述 29 ## ⚡ 项目概述
37 30
38 **微舆**” 是一个从0实现的创新型 多智能体 舆情分析系统,帮助大家破除信息茧房,还原舆情原貌,预测未来走向,辅助决策。用户只需像聊天一样提出分析需求,智能体开始全自动分析 国内外30+主流社媒 与 数百万条大众评论。 31 **微舆**” 是一个从0实现的创新型 多智能体 舆情分析系统,帮助大家破除信息茧房,还原舆情原貌,预测未来走向,辅助决策。用户只需像聊天一样提出分析需求,智能体开始全自动分析 国内外30+主流社媒 与 数百万条大众评论。
@@ -121,19 +114,11 @@ LLM模型API赞助:<a href="https://aihubmix.com/?aff=8Ds9" target="_blank"><i @@ -121,19 +114,11 @@ LLM模型API赞助:<a href="https://aihubmix.com/?aff=8Ds9" target="_blank"><i
121 | 4 | 策略制定 | 基于初步结果制定分块研究策略 | 各Agent内部决策模块 | - | 114 | 4 | 策略制定 | 基于初步结果制定分块研究策略 | 各Agent内部决策模块 | - |
122 | 5-N | **循环阶段** | **论坛协作 + 深度研究** | **ForumEngine + 所有Agent** | **多轮循环** | 115 | 5-N | **循环阶段** | **论坛协作 + 深度研究** | **ForumEngine + 所有Agent** | **多轮循环** |
123 | 5.1 | 深度研究 | 各Agent基于论坛主持人引导进行专项搜索 | 各Agent + 反思机制 + 论坛引导 | 每轮循环 | 116 | 5.1 | 深度研究 | 各Agent基于论坛主持人引导进行专项搜索 | 各Agent + 反思机制 + 论坛引导 | 每轮循环 |
124 -| 5.2 | 论坛协作 | ForumEngine监控Agent发言并生成主持人总结 | ForumEngine + LLM主持人 | 每轮循环 | 117 +| 5.2 | 论坛协作 | ForumEngine监控Agent发言并生成主持人引导 | ForumEngine + LLM主持人 | 每轮循环 |
125 | 5.3 | 交流融合 | 各Agent根据讨论调整研究方向 | 各Agent + forum_reader工具 | 每轮循环 | 118 | 5.3 | 交流融合 | 各Agent根据讨论调整研究方向 | 各Agent + forum_reader工具 | 每轮循环 |
126 | N+1 | 结果整合 | Report Agent收集所有分析结果和论坛内容 | Report Agent | - | 119 | N+1 | 结果整合 | Report Agent收集所有分析结果和论坛内容 | Report Agent | - |
127 -| N+2 | 报告生成 | 动态选择模板和样式,多轮生成最终报告 | Report Agent + 模板引擎 | - |  
128 -  
129 -### 🆕 Report Engine 新增能力  
130 -  
131 -- **IR → HTML/PDF 渲染链路**:新增 `ReportEngine/renderers/html_renderer.py` 与 `pdf_renderer.py`,内置思源宋体子集和MathJax/Chart.js/html2canvas等离线依赖,`report_engine_only.py` 支持纯命令行生成报告。  
132 -- **PDF 导出接口**:新增 `/api/report/export/pdf/<task_id>` 与 `/api/report/export/pdf-from-ir`,导出前自动检查 Pango 依赖并给出可读提示,前端一键触发即可获得矢量PDF。  
133 -- **Chart.js 安全校验**`utils/chart_validator.py` + LLM 修复链路确保图表数据合法,防止错误配置导致前端崩溃或XSS注入。  
134 -- **多源日志控制台**:前端控制台双缓冲虚拟列表 + SSE 历史补偿,后端提供 `/api/report/log` 与 `/api/report/log/clear` 便捷查看/清空日志。  
135 -- **数据清洗回归测试**`tests/test_report_engine_sanitization.py` 覆盖章节表格的容错修复,保证渲染端稳定。  
136 - 120 +| N+2 | IR中间表示 | 动态选择模板和样式,多轮生成元数据,装订为IR中间表示 | Report Agent + 模板引擎 | - |
  121 +| N+3 | 报告生成 | 分块进行质量检测,基于IR渲染成交互式 HTML 报告 | Report Agent + 装订引擎 | - |
137 122
138 ### 项目代码结构树 123 ### 项目代码结构树
139 124
@@ -223,8 +208,8 @@ BettaFish/ @@ -223,8 +208,8 @@ BettaFish/
223 │ ├── prompts/ # 提示词库与Schema说明 208 │ ├── prompts/ # 提示词库与Schema说明
224 │ │ └── prompts.py # 模板选择/布局/篇幅/章节提示词 209 │ │ └── prompts.py # 模板选择/布局/篇幅/章节提示词
225 │ ├── renderers/ # IR渲染器 210 │ ├── renderers/ # IR渲染器
226 -│ │ ├── html_renderer.py # Document IR → 交互式HTML  
227 -│ │ ├── pdf_renderer.py # HTML → PDF导出(WeasyPrint) 211 +│ │ ├── html_renderer.py # Document IR→交互式HTML
  212 +│ │ ├── pdf_renderer.py # HTML→PDF导出(WeasyPrint)
228 │ │ ├── pdf_layout_optimizer.py # PDF布局优化器 213 │ │ ├── pdf_layout_optimizer.py # PDF布局优化器
229 │ │ └── chart_to_svg.py # 图表转SVG工具 214 │ │ └── chart_to_svg.py # 图表转SVG工具
230 │ ├── state/ # 任务/元数据状态模型 215 │ ├── state/ # 任务/元数据状态模型
@@ -255,7 +240,7 @@ BettaFish/ @@ -255,7 +240,7 @@ BettaFish/
255 │ │ ├── main.py # 深度爬取主程序 240 │ │ ├── main.py # 深度爬取主程序
256 │ │ ├── keyword_manager.py # 关键词管理器 241 │ │ ├── keyword_manager.py # 关键词管理器
257 │ │ ├── platform_crawler.py # 平台爬虫管理 242 │ │ ├── platform_crawler.py # 平台爬虫管理
258 -│ │ └── MediaCrawler/ # 媒体爬虫核心(微博/抖音/小红书等) 243 +│ │ └── MediaCrawler/ # 社媒爬虫核心
259 │ │ ├── main.py 244 │ │ ├── main.py
260 │ │ ├── config/ # 各平台配置 245 │ │ ├── config/ # 各平台配置
261 │ │ ├── media_platform/ # 各平台爬虫实现 246 │ │ ├── media_platform/ # 各平台爬虫实现
@@ -276,7 +261,7 @@ BettaFish/ @@ -276,7 +261,7 @@ BettaFish/
276 │ │ ├── train.py 261 │ │ ├── train.py
277 │ │ ├── predict.py 262 │ │ ├── predict.py
278 │ │ └── ... 263 │ │ └── ...
279 -│ ├── WeiboMultilingualSentiment/ # 多语言情感分析(推荐使用) 264 +│ ├── WeiboMultilingualSentiment/ # 多语言情感分析
280 │ │ ├── train.py 265 │ │ ├── train.py
281 │ │ ├── predict.py 266 │ │ ├── predict.py
282 │ │ └── ... 267 │ │ └── ...
@@ -316,13 +301,13 @@ BettaFish/ @@ -316,13 +301,13 @@ BettaFish/
316 │ ├── test_report_engine_sanitization.py # ReportEngine安全性测试 301 │ ├── test_report_engine_sanitization.py # ReportEngine安全性测试
317 │ └── ... 302 │ └── ...
318 ├── app.py # Flask主应用入口 303 ├── app.py # Flask主应用入口
319 -├── config.py # 全局配置文件(统一管理所有LLM/DB配置) 304 +├── config.py # 全局配置文件
320 ├── .env.example # 环境变量示例文件 305 ├── .env.example # 环境变量示例文件
321 ├── docker-compose.yml # Docker多服务编排配置 306 ├── docker-compose.yml # Docker多服务编排配置
322 ├── Dockerfile # Docker镜像构建文件 307 ├── Dockerfile # Docker镜像构建文件
323 ├── requirements.txt # Python依赖包清单 308 ├── requirements.txt # Python依赖包清单
324 ├── regenerate_latest_pdf.py # PDF重新生成工具脚本 309 ├── regenerate_latest_pdf.py # PDF重新生成工具脚本
325 -├── report_engine_only.py # Report Engine命令行版本(无需Web界面) 310 +├── report_engine_only.py # Report Engine命令行版本
326 ├── README.md # 中文说明文档 311 ├── README.md # 中文说明文档
327 ├── README-EN.md # 英文说明文档 312 ├── README-EN.md # 英文说明文档
328 ├── CONTRIBUTING.md # 中文贡献指南 313 ├── CONTRIBUTING.md # 中文贡献指南
@@ -446,18 +431,16 @@ DB_DIALECT=postgresql @@ -446,18 +431,16 @@ DB_DIALECT=postgresql
446 431
447 # ====================== LLM配置 ====================== 432 # ====================== LLM配置 ======================
448 # 您可以更改每个部分LLM使用的API,只要兼容OpenAI请求格式都可以 433 # 您可以更改每个部分LLM使用的API,只要兼容OpenAI请求格式都可以
  434 +# 配置文件内部给了每一个Agent的推荐LLM,初次部署请先参考推荐设置
449 435
450 # Insight Agent 436 # Insight Agent
451 INSIGHT_ENGINE_API_KEY= 437 INSIGHT_ENGINE_API_KEY=
452 -# Insight Agent LLM接口BaseUrl,可自定义厂商API  
453 INSIGHT_ENGINE_BASE_URL= 438 INSIGHT_ENGINE_BASE_URL=
454 -# Insight Agent LLM模型名称,如kimi-k2-0711-preview  
455 INSIGHT_ENGINE_MODEL_NAME= 439 INSIGHT_ENGINE_MODEL_NAME=
456 440
457 # Media Agent 441 # Media Agent
458 ... 442 ...
459 ``` 443 ```
460 -推荐LLM API供应商:[推理时代](https://aihubmix.com/?aff=8Ds9)  
461 444
462 ### 6. 启动系统 445 ### 6. 启动系统
463 446
@@ -484,8 +467,6 @@ python app.py @@ -484,8 +467,6 @@ python app.py
484 467
485 > 注2:数据爬取需要单独操作,见6.3指引 468 > 注2:数据爬取需要单独操作,见6.3指引
486 469
487 -> 注3:如果服务器远程部署出现页面显示问题,见[PR#45](https://github.com/666ghj/BettaFish/pull/45)  
488 -  
489 访问 http://localhost:5000 即可使用完整系统 470 访问 http://localhost:5000 即可使用完整系统
490 471
491 #### 6.2 单独启动某个Agent 472 #### 6.2 单独启动某个Agent
@@ -817,6 +798,13 @@ class DeepSearchAgent: @@ -817,6 +798,13 @@ class DeepSearchAgent:
817 798
818 [![Contributors](https://contrib.rocks/image?repo=666ghj/BettaFish)](https://github.com/666ghj/BettaFish/graphs/contributors) 799 [![Contributors](https://contrib.rocks/image?repo=666ghj/BettaFish)](https://github.com/666ghj/BettaFish/graphs/contributors)
819 800
  801 +## 🌟 加入官方交流群
  802 +
  803 +<div align="center">
  804 + <img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&height=200&section=header&text=欢迎加入我们的技术交流QQ群!&fontSize=40&fontAlignY=35&desc=扫描下方二维码加入群聊&descAlignY=55" alt="欢迎加入我们的技术交流QQ群!" style="width:60%; max-width:900px; display:block; margin:0 auto;">
  805 + <img src="static/image/QQ_Light_Horizenal.png" alt="BettaFish 技术交流群二维码" style="width:60%; max-width:360px; display:block; margin:20px auto 0;">
  806 +</div>
  807 +
820 ## 📈 项目统计 808 ## 📈 项目统计
821 809
822 <a href="https://www.star-history.com/#666ghj/BettaFish&type=date&legend=top-left"> 810 <a href="https://www.star-history.com/#666ghj/BettaFish&type=date&legend=top-left">

463 KB | W: | H:

441 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin