Sentiment Radar
by @danielwangyy
Multi-platform sentiment monitoring and analysis for products/brands/topics. Collect public opinions from Chinese platforms (小红书/XHS via MediaCrawler) and En...
clawhub install sentiment-radar📖 About This Skill
name: sentiment-radar description: "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."
Sentiment Radar
Multi-platform social media sentiment collection and analysis.
Supported Platforms
| Platform | Method | Auth Required |
|---|---|---|
| 小红书 (XHS) | MediaCrawler (CDP browser) | QR code login |
| Twitter | Xpoz MCP (xpoz.getTwitterPostsByKeywords) | OAuth token |
| Reddit | 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 commentsStep 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:
Step 4: Report
The analysis outputs:
1. JSON results to stdout (for programmatic use)
2. Markdown report to --output path
Combine XHS + Twitter data into a comprehensive report. See references/report-template.md for structure.
Key Analysis Dimensions
1. Sentiment split — positive vs negative vs concern ratio 2. Product mentions — which products get discussed most 3. Pricing complaints — subscription fatigue, value perception 4. Comparison comments — head-to-head user opinions 5. User pain points — feature requests, complaints, unmet needs 6. Engagement metrics — likes, collects, shares as popularity signals
Notes
parse_count() in analyze.py handles this⚙️ Configuration
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.📋 Tips & Best Practices
parse_count() in analyze.py handles this