返回 Skill 列表
extension
分类: 其它无需 API Key

舆情监测

一款覆盖 20 个主流平台的 AI 舆情监控技能,支持情感分析、风险预警、竞品对比、传播追踪与定时推送,让你对品牌/话题动态了如指掌。

person作者: user_59252579hubcommunity

🔍 Sentiment Monitor — 多平台舆情监控与分析

📁 SKILL DIRECTORY PATH

{skillDir}

🚨 MANDATORY FILES (READ FIRST)

  • references/platforms.md — 平台搜索策略(必读)
  • references/report_schema.md — 数据结构规范(必读)

触发条件

当用户需要:

  • 监控某关键词/品牌/公司/话题的舆情
  • 收集多平台新闻或社交媒体提及
  • 生成舆情分析报告
  • 了解某话题的公众评价和情感倾向
  • 设置定时/周期性舆情监控与推送通知(如"每天早上 7 点汇报 xxx 舆情")

工作流程

Step 1: 确认监控参数

向用户确认:

  • 关键词:监控的核心词(必须)
  • 时间范围必须由用户明确指定(如"最近 3 天"、"2024-01-01 至 2024-01-07"、"本周");若用户未指定则默认最近 7 天并告知用户
  • 平台范围:默认全平台(见 platforms.md)
  • 关注维度:正负面情感、风险点、传播趋势

⚠️ 时间范围是硬性约束

  • 搜索引擎的 after:/before: 参数不可靠,禁止使用——这类过滤在实际搜索工具中常常不生效,只会返回重复结果白白浪费轮次
  • 时间过滤必须在拿到搜索结果后人工判断:检查每条结果摘要或标题中的日期,超出范围的直接跳过不收录
  • 报告中每条数据必须标注发布日期,确认在范围内
  • 若某平台在该时间段确实无内容,如实标注"该平台此期间无相关内容",严禁用过期内容填充

Step 2: 多平台并行搜索(10-12 轮,4 个并行)

核心原则:精准覆盖、控制轮次、结果后过滤时间

⚠️ 搜索语句不加 after:/before: 参数(搜索引擎不支持,加了反而返回重复结果) 时间控制方式:搜索词中加入年月(如 2026年4月最新),拿到结果后逐条核查日期

使用 web_search每批 4 个并行,共 3 批,总计 12 轮

第一批(主流平台,4 个并行):

  • {关键词} site:weibo.com {年月} — 微博
  • {关键词} site:zhihu.com {年月} — 知乎
  • {关键词} site:bilibili.com {年月} — B站
  • {关键词} site:toutiao.com OR site:163.com {年月} — 头条+网易

第二批(新闻媒体 + 科技财经,4 个并行):

  • {关键词} site:news.qq.com OR site:thepaper.cn {年月} — 腾讯新闻+澎湃
  • {关键词} site:sina.com.cn OR site:sohu.com {年月} — 新浪+搜狐
  • {关键词} site:36kr.com OR site:huxiu.com OR site:ithome.com {年月} — 科技媒体
  • {关键词} site:people.com.cn OR site:xinhuanet.com OR site:caixin.com {年月} — 央媒+财新

第三批(社交内容 + 主题角度,4 个并行):

  • {关键词} site:xiaohongshu.com OR site:xhslink.com {年月} — 小红书
  • {关键词} site:weixin.qq.com OR site:baijiahao.baidu.com {年月} — 公众号+百家号
  • {关键词} 争议 负面 投诉 质疑 {年月} — 负面舆情专项
  • {关键词} 好评 推荐 KOL 测评 热搜 {年月} — 正面+热点专项

结果筛选(每批搜完立即处理):

  • 检查每条结果的日期(摘要中通常有"X天前"、"X月X日"等标注)
  • 在时间范围内 → 收录;超出范围 → 跳过,记录为"已过滤"
  • 目标:筛选后有效条目 50+ 条,覆盖 12+ 平台

Step 3: 详情抓取(重点内容)

对搜索结果中的高价值链接,使用 web_fetch 抓取正文详情:

  • 优先抓取:权威媒体报道、深度分析文章、官方声明
  • 抓取前先确认文章发布日期在时间范围内,超出则跳过
  • 每个主要平台至少深入抓取 1 篇
  • 总计抓取 10-15 篇详情(不必贪多,质量优先)

Step 4: 情感分析与结构化整理

对所有搜集到的信息进行分析:

情感分类标准:

  • 🟢 正面:赞扬、支持、推荐、数据亮眼
  • 🔴 负面:批评、质疑、投诉、差评
  • 🟡 中性:客观报道、数据陈述、无明显倾向
  • 🟣 混合:同一内容中正负面并存

风险评级标准:

  • ⚠️ 高风险:大规模负面舆论、官方关注、法律风险
  • 🔶 中风险:持续争议、口碑下滑趋势
  • ℹ️ 低风险:个别负面声音、可控范围

Step 5: 生成 HTML 可视化报告

使用 scripts/generate_report.py 生成报告。

数据准备: 将分析结果写入 JSON 文件,格式参考 references/report_schema.md

执行命令:

cd {skillDir} && python scripts/generate_report.py --input {数据JSON路径} --output {报告输出路径}

报告包含:

  • 📊 舆情概览:总条数、正/负/中性占比、平台分布
  • 📈 情感分布图表(饼图 + 柱状图)
  • 🏷️ 平台热度排名
  • 📋 详细舆情条目(含来源、时间、情感标签、摘要、原文链接)
  • ⚠️ 风险预警清单
  • 📝 综合分析结论与建议

注意事项

  1. 时间过滤方式:禁止在搜索语句中使用 after:/before: 参数(不生效);改为搜索词加年月 + 拿到结果后逐条核查日期
  2. 搜索轮次控制:固定 3 批 × 4 个并行 = 12 轮,不随意增加,避免搜索工具响应堆积变慢
  3. 覆盖广度:12 轮搜索已能覆盖 15+ 个平台,通过 OR 组合查询提高效率
  4. 时间范围硬约束:超出范围的结果一律丢弃,不得填充报告
  5. 中文编码:JSON 数据用 Python dict + json.dump 方式生成,避免中文引号问题
  6. 去重:同一事件不同平台的报道保留最详细的 1-2 条
  7. 客观性:分析基于事实数据,避免主观臆断

定时舆情通知模式

触发识别

当用户消息包含时间频率 + 舆情相关表达时,进入定时通知模式。典型表达:

  • "每天早上 7 点给我汇报 xxx 的舆情"
  • "每天 9 点和 18 点监控 xxx"
  • "每周一汇报 xxx 品牌口碑"
  • "工作日下午 3 点推送 xxx 最新舆情"
  • "每小时监控一次 xxx 的负面信息"

定时模式工作流程

Step A: 解析定时参数

从用户消息中提取:

  • 关键词:监控的核心词(必须)
  • 执行频率:自然语言时间表达(如"每天7点"、"工作日9点和18点")
  • 关注重点:全面分析 / 仅负面预警 / 仅数据追踪(默认全面分析)
  • 通知方式:企微推送(默认开启)

向用户确认以上参数,明确无误后执行下一步。

Step B: 构建定时任务 Prompt

根据参数拼装执行 Prompt,模板如下:

请使用 sentiment-monitor Skill 对关键词"{关键词}"执行舆情监控分析:

时间范围:{时间范围,如"过去24小时"/"过去7天",严格不越界}

1. 加载 Skill: use_skill("sentiment-monitor")
2. 按照 SKILL.md 中的 Step 2~5 完整执行:
   - 多平台并行搜索(3批 × 4并行 = 12轮,搜索词加年月,结果后核查日期,覆盖 15+ 平台)
   - 严格过滤:所有收录数据须在时间范围内,超出范围的一律跳过
   - 详情抓取(10-15 篇,抓取前确认日期)
   - 情感分析与结构化整理
   - 生成 HTML 可视化报告
3. 完成后,生成一段 Markdown 格式的舆情摘要(不超过 4000 字节),包含:
   - 📊 数据概览:总条数、正/负/中性分布
   - 🔥 今日热点(前 3 条)
   - ⚠️ 风险预警(如有高/中风险项)
   - 📈 情感趋势判断
4. 通过企微推送 Markdown 摘要给用户
5. 同时将 HTML 完整报告作为文件推送

如用户指定"仅负面预警",调整 Prompt 为:

重点搜索 "{关键词} 争议 投诉 负面 质疑 差评 问题",仅分析和推送负面/风险信息。
如无负面舆情,推送一条"✅ {关键词} 当前无负面舆情"的通知即可。

Step C: 创建定时任务

使用 scheduled_task_create MCP 工具创建任务:

参数说明:
- name: "舆情监控-{关键词}"
- schedule: 将用户的时间表达转换为 cron 或直接传自然语言
  - "每天7点"        → "0 7 * * *" 或 "每天早上7点"
  - "每天9点和18点"  → 需创建 2 个任务,分别 "0 9 * * *" 和 "0 18 * * *"
  - "工作日下午3点"  → "0 15 * * 1-5"
  - "每小时"         → "0 * * * *"
  - "每周一9点"      → "0 9 * * 1"
- prompt: Step B 中构建的完整 Prompt
- notifyWecom: true
- enabled: true

多时间点处理:如用户说"每天 7 点和 19 点",需拆分为 2 个独立定时任务:

  • "舆情监控-{关键词}-早报" → 0 7 * * *
  • "舆情监控-{关键词}-晚报" → 0 19 * * *

Step D: 确认并反馈

创建成功后,向用户反馈:

✅ 定时舆情监控已设置!

📌 监控关键词:{关键词}
⏰ 执行频率:{频率描述}
📢 通知方式:企微推送(Markdown 摘要 + HTML 完整报告)
🔄 状态:已启用

每次执行时,我会:
1. 全网 15+ 平台采集最新舆情
2. 自动分析情感倾向与风险等级
3. 生成可视化报告并推送给你

如需调整,你可以说:
- "暂停 xxx 的舆情监控"
- "把 xxx 的监控改为每周一次"
- "删除 xxx 的舆情监控任务"

定时任务管理

用户后续可能的管理操作及对应处理:

| 用户指令 | 操作 | |---------|------| | "暂停/停止 xxx 监控" | 调用 scheduled_task_update 设置 enabled=false | | "恢复 xxx 监控" | 调用 scheduled_task_update 设置 enabled=true | | "删除 xxx 监控" | 调用 scheduled_task_delete | | "改为每周一执行" | 调用 scheduled_task_update 修改 schedule | | "加上 yyy 关键词一起监控" | 修改任务 prompt 中的关键词 | | "查看我的监控任务" | 调用 scheduled_task_list | | "立即执行一次" | 调用 scheduled_task_run |