agentbay-monitor-skills

舆情监控技能,最终产出舆情报告。当用户问「某事件/话题舆情如何」「舆论怎么样」「做舆情分析」「运行舆情分析」或按关键词/平台爬取并生成舆情报告时,使用本技能。约定:凡舆情相关意图即执行全流程(爬取→情感分析→生成报告)。爬取由本技能完成;情感分析由主 Agent 按提示词自主判断;报告由 generate_report 生成。

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 "agentbay-monitor-skills" with this command: npx skills add agentbay-ai/agentbay-skills/agentbay-ai-agentbay-skills-agentbay-monitor-skills

AgentBay 舆情监控 Skill

⚠️ 舆情分析 = 全流程(必读)

用户说「运行舆情分析」「做舆情分析」「舆情分析 主题是 XXX」时,必须执行完整三步,不能只跑爬取就结束。

步骤动作说明
1. 爬取crawl.pycrawl_for_sentiment(...)得到 raw_output_path(爬取结果 JSON)
2. 情感分析scripts/sentiment/sentiment_instruction.md → 对爬取 JSON 逐条判定 → 写情感结果小 JSON → 运行 write_processed.py得到 processed JSON(如 output/processed.json
3. 生成报告report.py --input <processed 路径>generate_report(...)得到 Markdown/JSON(及可选 PDF)

禁止行为:只运行 crawl.py 后就说「爬取完成,情感分析由主 Agent 完成」并结束。这是错误用法——主 Agent 就是你自己,你必须继续完成步骤 2 和 3,直到产出最终报告文件。

何时使用

用户出现以下任一意图时,必须使用本技能并执行全流程(爬取→情感分析→生成报告):

  • 问「某事件/话题舆情如何」「XX 舆论怎么样」「想了解 XX 的舆情」
  • 「运行舆情分析」「做舆情分析」「舆情分析 主题是 XXX」
  • 舆情监控、情感分析、舆情报告、按关键词/平台爬取并生成报告(中英文场景均可)

意图为舆情相关即默认使用本技能,不可仅用联网搜索代替。

重要约定:凡提到「舆情分析」(或「运行舆情分析」「做舆情分析」等等价表述),即视为执行全流程——爬取 → 情感分析 → 生成报告。必须按该完整流程执行,不可只做爬取;最终产出须包含 Markdown/JSON(及可选 PDF)报告。

前置条件

工作目录为技能目录(本 SKILL 所在目录);已安装依赖;已配置 AGENTBAY_API_KEY

依赖

pip install wuying-agentbay-sdk pandas numpy pyyaml markdown

可选(PDF 报告):brew install cairo pango gdk-pixbufpip install weasyprint。不装则仅无 PDF,.md/.json 正常。

API Key

仅需配置 AGENTBAY_API_KEY。环境变量:export AGENTBAY_API_KEY=你的key(Windows PowerShell:$env:AGENTBAY_API_KEY="你的key")。或直接写文件:mkdir -p ~/.config/agentbay && echo -n '你的key' > ~/.config/agentbay/api_key。获取:https://agentbay.console.aliyun.com/service-management 。未配置时运行脚本会报错。其余参数由主 Agent 传参/命令行传入。

整体流程

舆情分析 = 全流程:爬取 → 情感分析 → 生成报告(见上文「⚠️ 舆情分析 = 全流程」)。用户要求「舆情分析」时,三步都必须执行,不能只做第 1 步。

  1. 爬取crawl.pycrawl_for_sentiment(...) → 得到 raw_output_path(爬取结果 JSON)。
  2. 情感分析:主 Agent 读提示词 scripts/sentiment/sentiment_instruction.md,对爬取 JSON 逐条判定情感,产出情感结果小 JSON;再运行 write_processed.py 合并得到 processed JSON(如 output/processed.json)。提示词可定制。
  3. 生成报告report.py --input <processed 路径>generate_report(processed_results, ...) → Markdown/JSON(及可选 PDF)。

运行方式

步骤 0:登录(仅非搜索引擎) xhs/weibo/douyin/zhihu 须先登录;百度、Bing 不需要。python scripts/login.py --platform xhs [--context-name sentiment-analysis] → 浏览器中登录后终端按 Enter,状态持久化。非搜索引擎爬取时 --context-name 须与登录一致。

步骤 1:爬取

python scripts/crawl.py --keywords "关键词1,关键词2" [--platform baidu] [--max-results N] [--output-dir output]

参数:-k 必需;-p 默认 baidu(可选 xhs/weibo/douyin/zhihu/bing);--max-results-o--report-title--context-name--crawl-timeout。百度/Bing 仅抓资讯列表页(不点进链接),百度用资讯 URL(tn=news)。

爬取超时(必读):执行环境(如 run_terminal_cmd)的超时须 ≥ 10 分钟(600 秒或 600000 毫秒),否则会中断。约 1 条/分钟,10 条约 10 分钟;建议超时略大于估算(如 15 分钟)。脚本内 --crawl-timeout 不传时会自动按条数计算,一般无需手传。

步骤 2:情感分析 主 Agent 读 scripts/sentiment/sentiment_instruction.md,对爬取 JSON 逐条判定情感并按规定格式写 processed JSON(无需在技能中配置 LLM)。

步骤 3:生成报告

python scripts/report.py --input <processed JSON 路径> [--output-dir output] [--title "报告标题"]

输出

爬取 → raw_output_pathcrawl_results。情感分析 → processed JSON(含 sentiment_statistics、每条 sentiment,格式见提示词)。报告 → markdown_pathjson_path、可选 pdf_path

Agent 调用要点

舆情分析必跑全流程:用户说「舆情分析」「运行舆情分析」或类似意图时,必须完成「爬取 → 情感分析 → 合并(write_processed.py)→ 生成报告」,产出最终报告文件。不可只运行爬取后就说「情感分析由主 Agent 完成」并结束——主 Agent 即当前 Agent,必须由你继续完成情感分析与报告。

  • 登录:非搜索引擎前先 login.py --platform <平台>;百度/Bing 免登录。
  • 爬取crawl.pycrawl_for_sentiment(...),默认平台 baidu;执行超时 ≥ 10 分钟(见上文「爬取超时」);非搜索引擎时 context_name 与登录一致。
  • 情感分析:读 scripts/sentiment/sentiment_instruction.md;对爬取 JSON(raw_output_path)逐条判定情感;写情感结果小 JSON(如 output/sentiment_only.json);运行 python scripts/sentiment/write_processed.py --raw <爬取JSON> --sentiment <情感结果JSON> --output output/processed.json
  • 报告report.py --input output/processed.jsongenerate_report(...)
  • 失败:未配置 Key、未登录或执行失败 → success: Falseerror

代码示例

import asyncio, sys, json
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parent / "scripts"))
from crawl import crawl_for_sentiment, generate_report

async def main():
    result = await crawl_for_sentiment(platform="baidu", keywords=["产品名"], max_results_per_keyword=10, output_dir="output")
    if not result.get("success"): return
    raw_path = result.get("raw_output_path")
    # 主 Agent:读 sentiment_instruction.md → 对 raw_path 做情感分析 → 写 output/processed.json(或先用 write_processed.py 合并)
    processed_path = Path("output") / "processed.json"
    with open(processed_path, "r", encoding="utf-8") as f:
        report = generate_report(json.load(f), output_dir="output", title="舆情报告")
    print("报告:", report.get("markdown_path"))
asyncio.run(main())

常见问题

  • 只跑了爬取怎么办:若已运行 crawl.py 得到 raw_output_path,必须继续做情感分析(读 sentiment_instruction.md、写情感结果 JSON、运行 write_processed.py)再运行 report.py --input <processed路径>,直到产出报告。
  • processed JSON:title/content 常含未转义双引号,手写易导致 report.py JSON 解析失败。主 Agent 只产出「情感结果」小 JSON,再运行 python scripts/sentiment/write_processed.py --raw <爬取JSON> --sentiment <情感结果JSON> --output <processed路径>。详见 sentiment_instruction.md 第 4 节。
  • 登录失效:重跑 python scripts/login.py --platform <平台> [--context-name ...]
  • 爬取超时:执行环境超时须 ≥ 10 分钟(见上文);需更长时显式传 --crawl-timeout(秒)。

文件结构

SKILL.md · scripts/crawl.py(爬取/报告入口)、report.pylogin.pycrawler/sentiment/sentiment_instruction.mdwrite_processed.py)、reporter/ · output/

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.

Automation

stock-watcher

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

weibo-hot-search

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

web-scraper

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

boss-job-search

No summary provided by upstream source.

Repository SourceNeeds Review