agentbay-monitor-skills
About
This skill performs full-process public opinion monitoring: crawling data, conducting sentiment analysis, and generating a report. It triggers automatically when users request舆情分析 (public opinion analysis) or ask about舆论 (public sentiment) on a topic. The workflow is strictly defined—crawling is handled internally, while the main Agent performs sentiment analysis using provided prompts, culminating in report generation.
Quick Install
Claude Code
Recommendednpx skills add agentbay-ai/agentbay-skills -a claude-code/plugin add https://github.com/agentbay-ai/agentbay-skillsgit clone https://github.com/agentbay-ai/agentbay-skills.git ~/.claude/skills/agentbay-monitor-skillsCopy and paste this command in Claude Code to install this skill
Documentation
AgentBay 舆情监控 Skill
⚠️ 舆情分析 = 全流程(必读)
用户说「运行舆情分析」「做舆情分析」「舆情分析 主题是 XXX」时,必须执行完整三步,不能只跑爬取就结束。
| 步骤 | 动作 | 说明 |
|---|---|---|
| 1. 爬取 | crawl.py 或 crawl_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-pixbuf 后 pip 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 步。
- 爬取:
crawl.py或crawl_for_sentiment(...)→ 得到raw_output_path(爬取结果 JSON)。 - 情感分析:主 Agent 读提示词
scripts/sentiment/sentiment_instruction.md,对爬取 JSON 逐条判定情感,产出情感结果小 JSON;再运行write_processed.py合并得到 processed JSON(如output/processed.json)。提示词可定制。 - 生成报告:
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_path、crawl_results。情感分析 → processed JSON(含 sentiment_statistics、每条 sentiment,格式见提示词)。报告 → markdown_path、json_path、可选 pdf_path。
Agent 调用要点
舆情分析必跑全流程:用户说「舆情分析」「运行舆情分析」或类似意图时,必须完成「爬取 → 情感分析 → 合并(write_processed.py)→ 生成报告」,产出最终报告文件。不可只运行爬取后就说「情感分析由主 Agent 完成」并结束——主 Agent 即当前 Agent,必须由你继续完成情感分析与报告。
- 登录:非搜索引擎前先
login.py --platform <平台>;百度/Bing 免登录。 - 爬取:
crawl.py或crawl_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.json或generate_report(...)。 - 失败:未配置 Key、未登录或执行失败 →
success: False、error。
代码示例
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.pyJSON 解析失败。主 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.py、login.py、crawler/、sentiment/(sentiment_instruction.md、write_processed.py)、reporter/ · output/
GitHub Repository
Related Skills
content-collections
MetaThis skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.
polymarket
MetaThis skill enables developers to build applications with the Polymarket prediction markets platform, including API integration for trading and market data. It also provides real-time data streaming via WebSocket to monitor live trades and market activity. Use it for implementing trading strategies or creating tools that process live market updates.
creating-opencode-plugins
MetaThis skill helps developers create OpenCode plugins that hook into 25+ event types like commands, files, and LSP operations. It provides the plugin structure, event API specifications, and implementation patterns for JavaScript/TypeScript modules. Use it when you need to intercept, monitor, or extend the OpenCode AI assistant's lifecycle with custom event-driven logic.
sglang
MetaSGLang is a high-performance LLM serving framework that specializes in fast, structured generation for JSON, regex, and agentic workflows using its RadixAttention prefix caching. It delivers significantly faster inference, especially for tasks with repeated prefixes, making it ideal for complex, structured outputs and multi-turn conversations. Choose SGLang over alternatives like vLLM when you need constrained decoding or are building applications with extensive prefix sharing.
