bettafish-opinion-analysis

BettaFish(微舆)多智能体舆情分析系统 - 基于 QueryAgent、MediaAgent、InsightAgent 三引擎并行架构,通过 ForumEngine 实现 Agent 间协作讨论,生成 Word/PDF + 高设计质量 HTML 双格式报告。 当用户需要以下分析时触发此 skill: - 分析某品牌/企业/产品的社交媒体声誉和口碑 - 追踪热点舆情事件(如某车企被抨击、某明星争议事件) - 挖掘特定社媒账号的内容和影响力数据 - 监测竞品舆情动态,进行多品牌对比 - 分析公众对某话题的情绪倾向和态度 - 生成舆情监测报告或危机预警分析 - 需要Word文档/PDF格式的正式报告 - 需要高设计质量的交互式HTML可视化报告 - 需要基于真实数据的深度舆情分析 此 skill 采用 QueryAgent + MediaAgent + InsightAgent 并行架构,通过 ForumEngine 实现 Agent 间讨论协作,执行 3 轮反思循环优化分析结果,最终输出: 1. **Word/PDF 文档** - 使用 docx/pdf subskill 生成,适合正式汇报、打印、存档 2. **高设计质量 HTML 报告** - 使用 frontend-design subskill,独特的编辑杂志风格,交互式可视化 **不使用任何数据库和模拟数据**,所有数据通过 WebSearch/WebFetch/Browser/Curl 实时获取。 即使遇到复杂的多步骤分析需求、需要整合多个数据源、或生成专业格式的舆情报告,也请务必使用此 skill。

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "bettafish-opinion-analysis" with this command: npx skills add xiaomacoltai/bettafish-skill/xiaomacoltai-bettafish-skill-bettafish-opinion-analysis

BettaFish 舆情分析系统

BettaFish(微舆)是一个无数据库依赖、无模拟数据的多智能体舆情分析系统,采用 QueryAgent + MediaAgent + InsightAgent 三引擎并行架构,通过 ForumEngine 实现 Agent 间协作讨论,执行 3 轮反思循环优化分析,最终同时生成 Word/PDF 文档和高质量 HTML 可视化报告

输出产物说明

本 Skill 同时生成三种格式的报告,每种格式都必须包含丰富的文本内容,而不仅仅是视觉效果:

报告内容结构要求

所有报告必须包含以下8个核心章节,每个章节都需要详细的文本分析和数据支撑

1. 执行摘要(核心发现 + 关键指标 + 主要结论)
2. 品牌声量与影响力分析(整体趋势 + 渠道分布 + 区域分析)
3. 关键事件深度回顾(时间线 + 多方观点 + 数据支撑)
4. 情感与认知分析(情感光谱 + 品牌联想 + 核心议题)
5. 用户画像分析(人群属性 + 触媒习惯)
6. 声誉风险与机遇洞察(负面议题 + 风险预警 + 正面机遇)
7. 结论与战略建议(SWOT分析 + 优化建议 + 监测重点)
8. 数据附录(指标汇总 + 来源清单)

内容丰富度标准

每个章节必须包含

  • 详细分析段落:至少3-5段深入分析文字,解释数据背后的洞察
  • 具体数据支撑:KPI指标、百分比、对比数据等
  • 多维度视角:Query/Media/Insight 三引擎的交叉分析
  • 案例说明:具体事件、引用、用户评论示例
  • 表格展示:事件时间线、数据对比、来源清单等
  • 引用块:关键结论、分析师总结、用户原话

禁止

  • ❌ 只有图表没有文字解释
  • ❌ 只有数据没有分析洞察
  • ❌ 只有标题没有详细内容
  • ❌ 使用占位符或模板文本

1. Word 文档 (.docx)

  • 用途: 正式汇报、打印存档、邮件附件、向上级提交
  • 特点:
    • 结构清晰、内容完整、格式规范
    • 图文并茂:图表配合详细文字说明
    • 标准公文格式,适合正式场合
  • 生成方式: 使用 docx subskill 通过 docx-js 生成

2. PDF 文档 (.pdf)

  • 用途: 正式汇报、跨平台分享、不可编辑存档
  • 特点: 版式固定、兼容性强、专业外观
  • 生成方式: 使用 pdf subskill 通过 reportlab 生成

3. HTML 交互式报告 (.html)

  • 用途: 演示展示、在线分享、交互探索
  • 特点: 独特的编辑杂志风格设计、丰富的交互可视化
  • 生成方式: 使用 frontend-design subskill 生成

报告模板系统

本 Skill 内置 6 种专业舆情分析报告模板,根据用户需求自动匹配最合适的模板结构。

模板类型与适用场景

模板名称适用场景核心特点
企业品牌声誉分析品牌月度/季度声誉监测品牌形象、用户认知、声誉风险
突发事件与危机公关危机事件应急分析事件溯源、传播分析、应对策略
社会公共热点事件社会热点追踪演变脉络、传播路径、多方观点
市场竞争格局分析竞品对比、市场份额SOV对比、口碑对比、营销策略
特定政策/行业动态政策解读、行业分析政策影响、行业反应、机遇挑战
日常/定期舆情监测周期性监测报告数据看板、趋势追踪、风险预警

模板选择逻辑

Step 1: 识别分析类型

根据用户查询自动判断适用的模板:

关键词匹配规则:
  企业品牌声誉分析:
    - "品牌声誉"
    - "品牌形象"
    - "品牌口碑"
    - "企业舆情"

  突发事件与危机公关:
    - "危机"
    - "突发事件"
    - "负面舆情"
    - "公关"
    - "回应"
    - "道歉"

  社会公共热点事件:
    - "热点事件"
    - "社会热议"
    - "舆论焦点"
    - "公众关注"

  市场竞争格局分析:
    - "竞品"
    - "对比"
    - "竞争"
    - "市场份额"
    - "vs"

  特定政策/行业动态:
    - "政策"
    - "行业"
    - "新规"
    - "监管"

  日常/定期舆情监测:
    - "定期"
    - "周报"
    - "月报"
    - "监测"
    - "追踪"

Step 2: 加载对应模板结构

根据识别结果,读取 assets/templates/ 目录下对应模板文件,获取详细的章节结构。

模板使用说明

默认行为

  • 如果用户查询未明确匹配任何模板类型,使用企业品牌声誉分析模板作为默认结构
  • 如果用户明确要求"竞品对比"、"危机分析"等,自动切换到对应模板

模板内容填充要求

  • 每个章节必须包含 3-5 段详细分析文字
  • 时间线章节必须包含 结构化表格
  • 对比分析必须包含 数据对比表格
  • 每个二级章节下必须有 具体案例和数据支撑

核心架构

用户查询输入
    ↓
[并行启动三 Agent]
├─ QueryAgent ──┐
├─ MediaAgent ──┼──→ ForumEngine (Agent 讨论协作)
└─ InsightAgent ─┘         ↓
                    [3轮反思循环优化]
                            ↓
                    [ReportEngine 报告生成]
                            ↓
        ├─ docx subskill → Word 文档
        ├─ pdf subskill → PDF 文档
        └─ frontend-design subskill → HTML 报告

Agent 职责分工

Agent职责数据获取方式LLM 推荐
QueryAgent网页搜索、新闻资讯、论坛讨论WebSearch + WebFetch + BrowserDeepSeek
MediaAgent短视频/图文内容分析下载视频 → video-frames 提取帧 → 分析Gemini-2.5-pro
InsightAgent情感分析、关键词提取、聚类分析WebSearch + Python 脚本分析Kimi-K2
ForumHost主持 Agent 讨论、引导研究方向LLM 生成Qwen-Plus

设计规范:编辑杂志风格

HTML 报告采用 Editorial/Magazine(编辑杂志)风格,遵循以下设计原则:

视觉风格

设计元素规范说明
整体风格编辑杂志风高端出版物质感,如《Monocle》《Wallpaper》
色彩方案深海军蓝 + 暖金色主色 #0a192f,强调色 #ffd700,营造专业权威感
字体搭配Playfair Display + Source Serif Pro衬线字体组合,传递优雅与可信度
布局特点不对称网格 + 慷慨留白打破常规对称,创造视觉张力
动效设计电影级滚动触发 + 微交互页面加载渐现、图表动画、悬停反馈

执行步骤

Step 1: 需求解析与模板选择

1.1 提取分析要素

分析目标: "品牌声誉/热点追踪/账号挖掘/竞品对比/危机公关/政策分析"
目标主体: "品牌名/事件名/话题关键词"
时间范围: "近7天/近30天/自定义"
输出格式: "Word + PDF + HTML"

1.2 智能模板选择

根据用户查询内容,自动匹配最合适的报告模板:

def select_report_template(user_query):
    """
    根据用户查询选择报告模板
    返回: (template_name, template_path)
    """
    query = user_query.lower()

    # 模板匹配规则
    template_keywords = {
        "突发事件与危机公关": ["危机", "突发事件", "负面舆情", "公关", "回应", "道歉", "事故"],
        "社会公共热点事件": ["热点事件", "社会热议", "舆论焦点", "公众关注", "热议话题"],
        "市场竞争格局分析": ["竞品", "对比", "竞争", "市场份额", "vs", "比较"],
        "特定政策或行业动态": ["政策", "行业", "新规", "监管", "法规", "指导意见"],
        "日常或定期舆情监测": ["定期", "周报", "月报", "监测", "追踪", "日报"],
        "企业品牌声誉分析": ["品牌声誉", "品牌形象", "品牌口碑", "企业舆情", "声誉"]
    }

    # 匹配逻辑
    for template_name, keywords in template_keywords.items():
        if any(kw in query for kw in keywords):
            return template_name, f"assets/templates/{template_name}报告模板.md"

    # 默认使用品牌声誉模板
    return "企业品牌声誉分析", "assets/templates/企业品牌声誉分析报告模板.md"

模板选择示例:

用户查询自动选择模板
"分析某咖啡连锁品牌社交媒体口碑"企业品牌声誉分析
"某音乐节安全事故危机分析"突发事件与危机公关
"对比可口可乐和百事可乐的舆情表现"市场竞争格局分析
"追踪环保新规对饮料行业影响"特定政策或行业动态
"本周我司品牌舆情监测"日常或定期舆情监测

1.3 加载模板结构

读取选定的模板文件,获取详细的章节结构:

# 读取模板文件
template_content = read_file(selected_template_path)

# 解析章节结构
report_structure = parse_template_structure(template_content)

# 输出示例:
# {
#   "模板名称": "企业品牌声誉分析",
#   "章节": [
#     {"1.0": "摘要与核心发现", "子章节": ["1.1", "1.2", "1.3"]},
#     {"2.0": "品牌声量与影响力分析", "子章节": ["2.1", "2.2", "2.3"]},
#     ...
#   ]
# }

1.4 关键词优化

基于选定的模板类型,生成针对性的搜索关键词:

模板类型: "企业品牌声誉分析"
基础关键词: "某咖啡连锁品牌"
优化后关键词:
  QueryAgent:
    - "某咖啡品牌 用户评价 口碑"
    - "某咖啡品牌 产品 质量"
    - "某咖啡品牌 体验 评测"
  MediaAgent:
    - "某咖啡品牌 抖音 视频"
    - "某咖啡品牌 小红书 种草"
  InsightAgent:
    - "某咖啡品牌 情感分析"
    - "某咖啡品牌 舆情"

Step 2: 并行启动三 Agent(ForumEngine 协作)

所有 Agent 同时启动,独立执行,通过 ForumEngine 共享发现:

QueryAgent 执行流程:

  1. 使用 WebSearch 搜索新闻/论坛/博客
  2. 使用 Browser 访问关键页面获取详细内容
  3. 使用 WebFetch 获取页面结构化数据
  4. 提取关键信息,生成初步摘要
  5. 发布发现到 ForumEngine

MediaAgent 执行流程:

  1. 使用 WebSearch 搜索短视频/图文内容链接
  2. 下载相关视频文件到本地
  3. 使用 video-frames subskill 提取关键帧
  4. 分析视频帧内容(画面、文字、场景)
  5. 发布发现到 ForumEngine

InsightAgent 执行流程:

  1. 使用 WebSearch 获取补充数据
  2. 执行情感分析(基于规则引擎)
  3. 提取关键词和热点话题
  4. 使用 search_clustering.py 对搜索结果聚类采样
  5. 发布发现到 ForumEngine

Step 3: ForumEngine Agent 讨论(3轮反思循环)

ForumEngine 机制

  • 每个 Agent 将发现以结构化格式提交到论坛
  • ForumHost(主持人)每收集到 3 条 Agent 发言后生成引导
  • 主持人提出新的研究问题和方向
  • Agent 根据引导进行下一轮搜索和分析

3轮反思循环

第1轮:初步搜索 → Agent 发言 → 主持人引导
第2轮:深度搜索 → Agent 补充 → 主持人总结
第3轮:验证搜索 → Agent 确认 → 最终结论

Step 4: 数据整合与知识图谱构建

  1. 收集三 Agent 和 ForumEngine 的所有发现
  2. 使用 graph_generator.py 构建知识图谱
  3. 生成 D3.js 力导向图数据

Step 5: 双格式报告生成(基于选定模板)

⚠️ 关键:严格按照 Step 1 选定的模板结构生成报告

5.1 读取模板结构

# 获取 Step 1 选定的模板
template_structure = load_template(selected_template_path)

# 按模板章节结构遍历生成内容
for chapter in template_structure.chapters:
    for subsection in chapter.subsections:
        # 根据子章节类型生成对应内容
        content = generate_content_by_type(subsection.title, agent_findings)

5.2 内容生成规范

每个章节必须包含

  • 详细分析段落:3-5段深入分析文字
  • 数据表格:时间线、对比表等
  • 高亮框:重要发现
  • 引用块:分析师总结
  • 三引擎交叉分析:Query/Media/Insight视角

内容类型判断

  • 标题含"时间线" → 生成结构化时间线表格
  • 标题含"对比" → 生成数据对比表格
  • 其他 → 生成3-5段分析段落

5.3 同时生成三种格式

A. Word文档(使用docx subskill)

  • 结构:封面 + 目录 + 8章正文 + 附录
  • 字体:正文宋体、标题黑体
  • 格式:1.5倍行距、首行缩进2字符
  • 使用docx-js通过JavaScript生成

B. PDF文档(使用pdf subskill)

  • 版式固定、中文字体支持
  • 使用reportlab通过Python生成
  • 必须注册中文字体(SimSun/SimHei)

C. HTML报告(使用frontend-design subskill)

  • 编辑杂志风格设计
  • 深海军蓝(#0a192f)背景 + 金色(#ffd700)强调
  • Playfair Display + Source Serif Pro字体
  • 包含ECharts图表和D3.js知识图谱
  • 分页导航 + 键盘操作支持

5.4 报告质量检查

  • 三Agent并行执行完成
  • ForumEngine完成3轮讨论
  • 所有数据来自真实WebSearch
  • 同时生成Word、PDF、HTML三种格式
  • 每个章节包含3-5段详细分析文字
  • 包含数据表格和图表
  • HTML报告有章节导航

数据采集规范

QueryAgent 数据获取

使用智能体自带工具,禁止模拟数据:

1. WebSearch("某咖啡连锁品牌 口碑评价")
2. WebSearch("site:weibo.com 某咖啡品牌")
3. Browser 访问关键页面获取详细内容
4. WebFetch 获取页面结构化数据
5. Curl 命令行获取 API 数据或特殊页面

Curl 使用示例:

# API 数据获取
curl -s "https://api.social-media.com/posts?q=某咖啡品牌"

# 带 Headers 的页面请求
curl -s -H "User-Agent: Mozilla/5.0" \
  -H "Accept: application/json" \
  "https://www.example.com/api/data"

# 获取并重定向输出到 Python 处理
curl -s "https://api.example.com/data" | python -c "import sys,json; print(json.load(sys.stdin))"

MediaAgent 视频分析

真实视频分析流程:

1. WebSearch 搜索视频链接(抖音、B站、小红书)
2. 下载视频到本地临时目录
3. 使用 video-frames subskill 提取关键帧:

   {baseDir}/scripts/frame.sh /tmp/video.mp4 --time 00:00:05 --out /tmp/frame_5s.jpg

4. 分析视频帧内容(画面元素、文字、场景)
5. 结合视频描述文字进行综合分析

InsightAgent 数据分析

使用 Python 脚本进行分析:

# 情感分析
from scripts.sentiment_analyzer import SentimentAnalyzer
analyzer = SentimentAnalyzer()
results = analyzer.analyze_batch(texts)

# 搜索结果聚类采样
from scripts.search_clustering import cluster_search_results
clusters = cluster_search_results(search_results, n_clusters=5)

内置工具使用

1. 搜索结果聚类采样(search_clustering.py)

from scripts.search_clustering import cluster_search_results, sample_from_clusters

# 对搜索结果进行 KMeans 聚类
clusters = cluster_search_results(
    results=search_results,
    n_clusters=5,
    samples_per_cluster=3
)

# 返回每个聚类的代表性样本
representative_samples = sample_from_clusters(clusters)

2. 情感分析(sentiment_analyzer.py)

from scripts.sentiment_analyzer import SentimentAnalyzer, analyze_sentiment_distribution

analyzer = SentimentAnalyzer()
result = analyzer.analyze("这个产品真的很棒!")
# 返回: label, confidence, positive_score, negative_score, fine_emotions, aspects

3. 知识图谱构建(graph_generator.py)

from scripts.graph_generator import KnowledgeGraphBuilder

builder = KnowledgeGraphBuilder(topic="某咖啡连锁品牌")
builder.build_from_analysis_result(
    query_results=query_data,
    media_results=media_data,
    insight_results=insight_data
)
graph_data = builder.to_dict()

ForumEngine 协作协议

Agent 发言格式

{
  "agent": "QueryAgent",
  "round": 1,
  "findings": {
    "key_points": ["发现1", "发现2"],
    "sources": [{"title": "...", "url": "..."}],
    "confidence": 0.85
  },
  "questions": ["需要进一步验证的问题"]
}

主持人引导格式

{
  "host": "ForumHost",
  "round": 1,
  "summary": "本轮讨论总结",
  "directions": ["下一步研究方向1", "方向2"],
  "questions": ["需要回答的关键问题"]
}

质量检查清单

生成报告前检查:

  • 三 Agent 并行执行完成
  • ForumEngine 完成 3 轮讨论
  • 所有数据来自真实 WebSearch,无模拟数据
  • 视频分析使用 video-frames 提取帧
  • 搜索结果经过聚类采样处理
  • 同时生成 Word、PDF、HTML 三种格式
  • Word 使用 docx subskill 生成,格式规范
  • PDF 使用 pdf subskill 生成
  • HTML 使用 frontend-design subskill,编辑杂志风格
  • 情感分布饼图使用艺术化设计
  • 趋势图有电影级动画效果
  • 知识图谱可交互(D3.js 力导向图)
  • 支持 PDF 导出功能
  • 不使用任何数据库和深度学习模型

Subskills 调用方式

video-frames

# 提取视频帧
{baseDir}/subskills/video-frames/scripts/frame.sh /path/to/video.mp4 --time 00:00:10 --out /tmp/frame.jpg

docx

// 生成 Word 文档
const { Document, Packer } = require('docx');
// ... 详见 docx subskill 文档

frontend-design

使用 frontend-design subskill 生成 HTML 报告
- 深海军蓝 (#0a192f) 背景
- 金色 (#ffd700) 强调
- Playfair Display 字体
- 电影级动画效果

pdf

from reportlab.lib.pagesizes import letter
from reportlab.platypus import SimpleDocTemplate
# ... 详见 pdf subskill 文档

版本历史

  • v1.0.0 - 初始版本
    • 实现 QueryAgent + MediaAgent + InsightAgent 三引擎并行架构
    • 实现 ForumEngine Agent 间协作讨论
    • 实现 3 轮反思循环优化
    • 集成 video-frames、docx、frontend-design、pdf subskills
    • 同时输出 Word、PDF、HTML 三种格式
    • 无数据库依赖,无模拟数据
    • 搜索结果聚类采样

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

math-modeling

No summary provided by upstream source.

Repository SourceNeeds Review
Research

claw2ui

Generate interactive web pages (dashboards, charts, tables, reports) and serve them via public URL. Use this skill when the user explicitly asks for data visualization, dashboards, analytics reports, comparison tables, status pages, or web-based content. Also triggers for: "draw me a chart", "make a dashboard", "show me a table", "generate a report", "visualize this data", "render this as a page", "publish a page", "claw2ui". If the response would benefit from charts, sortable tables, or rich layout, **suggest** using Claw2UI and wait for user confirmation before publishing. Chinese triggers: "做个仪表盘", "画个图表", "做个报表", "生成一个页面", "做个dashboard", "数据可视化", "做个网页", "展示数据", "做个表格", "做个图", "发布一个页面", "做个看板". Additional English triggers: "create a webpage", "show analytics", "build a status page", "make a chart", "data overview", "show me stats", "create a board", "render a page", "comparison chart", "trend analysis", "pie chart", "bar chart", "line chart", "KPI dashboard", "metrics overview", "weekly report", "monthly report".

Archived SourceRecently Updated
Research

X/Twitter Research

# X/Twitter Research Skill

Archived SourceRecently Updated
Research

council

Convene the Council of High Intelligence — multi-persona deliberation with historical thinkers for deeper analysis of complex problems.

Archived SourceRecently Updated