sentiment-radar
Multi-platform sentiment monitoring and analysis for products/brands/topics. Collect public opinions from Chinese platforms (小红书/XHS via MediaCrawler) and English platforms (Twitter/Reddit via Xpoz MCP). Generate structured sentiment reports with product mention tracking, pricing complaints, comparison analysis, and actionable insights. Use when: (1) monitoring competitor sentiment, (2) tracking product launch reception, (3) analyzing user pain points across social media, (4) building market intelligence reports.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/danielwangyy/sentiment-radarSentiment Radar
Multi-platform social media sentiment collection and analysis.
Supported Platforms
| Platform | Method | Auth Required |
|---|---|---|
| 小红书 (XHS) | MediaCrawler (CDP browser) | QR code login |
Xpoz MCP (xpoz.getTwitterPostsByKeywords) | OAuth token | |
Xpoz MCP (xpoz.getRedditPostsByKeywords) | OAuth token |
Prerequisites
MediaCrawler (for 小红书)
If not installed:
git clone https://github.com/NanmiCoder/MediaCrawler ~/.openclaw/workspace/skills/media-crawler
cd ~/.openclaw/workspace/skills/media-crawler
uv sync
playwright install chromium
Config: config/base_config.py — set ENABLE_CDP_MODE = True, SAVE_DATA_OPTION = "json"
Xpoz MCP (for Twitter/Reddit)
Requires mcporter with Xpoz OAuth configured. Token at ~/.mcporter/xpoz/tokens.json.
Workflow
Step 1: Define targets
Identify products/brands and search keywords. Example:
Products: Plaud录音笔, 钉钉闪记, 飞书录音豆
Keywords (XHS): Plaud录音笔,钉钉闪记,飞书妙记,AI录音笔评测,录音豆
Keywords (Twitter): Plaud NotePin, DingTalk recorder, Lark voice
Step 2: Collect data
XHS collection
Run MediaCrawler with keywords. Use CDP mode (user's Chrome browser) for anti-detection.
The crawler needs QR code scan for login — run in background with exec(background=true).
cd skills/media-crawler
# Update keywords in config/base_config.py, then:
.venv/bin/python main.py --platform xhs --lt qrcode
Environment fixes for macOS:
export MPLBACKEND=Agg
export PATH="/usr/sbin:$PATH"
Data output: data/xhs/json/search_contents_YYYY-MM-DD.json and search_comments_YYYY-MM-DD.json
Twitter/Reddit collection
Use Xpoz MCP tools directly:
xpoz.getTwitterPostsByKeywords— returns posts with engagement metricsxpoz.getRedditPostsByKeywords— returns posts with comments
Step 3: Analyze
Run the analysis script on collected data:
python3 scripts/analyze.py \
--data ./data \
--products '{"Plaud": ["plaud","notepin"], "钉钉": ["钉钉","dingtalk","闪记"]}' \
--output report.md
The script performs:
- Keyword distribution analysis (notes per keyword, total likes/collects)
- Product mention frequency in comments
- Sentiment classification (positive/negative/concern/neutral)
- Top notes ranking by engagement
- Price/subscription complaint extraction
- Product comparison comment extraction
Step 4: Report
The analysis outputs:
- JSON results to stdout (for programmatic use)
- Markdown report to
--outputpath
Combine XHS + Twitter data into a comprehensive report. See references/report-template.md for structure.
Key Analysis Dimensions
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-danielwangyy-sentiment-radar": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
openclaw-state-backup
Create, inspect, and restore versioned OpenClaw state backups with rollback safety. Use when backing up or migrating OpenClaw memory, workspace state, gateway config, cron/session state, or when restoring a previously captured snapshot after breakage, config mistakes, host migration, or context-loss concerns.
jd-price-protect
Auto-apply JD.com (京东) price protection on all eligible orders. Connects to Chrome via OpenClaw Browser Relay CDP, navigates to JD price protection page, clicks all "申请价保" buttons, and reports refund results. Supports pagination and scheduled cron usage.