Topic Monitor
Monitor what matters. Get notified when it happens.
Topic Monitor transforms your assistant from reactive to proactive by continuously monitoring topics you care about and intelligently alerting you only when something truly matters.
Core Capabilities
- Topic Configuration - Define subjects with custom parameters
- Scheduled Monitoring - Automated searches at configurable intervals
- AI Importance Scoring - Smart filtering: immediate alert vs digest vs ignore
- Contextual Summaries - Not just links—meaningful summaries with context
- Weekly Digest - Low-priority findings compiled into readable reports
- Memory Integration - References your past conversations and interests
First Run
When you first use Topic Monitor, run the interactive setup wizard:
The wizard will guide you through:
- Topics - What subjects do you want to monitor?
- Search queries - How to search for each topic
- Keywords - What terms indicate relevance
- Frequency - How often to check (hourly/daily/weekly)
- Importance threshold - When to send alerts (low/medium/high)
- Weekly digest - Compile non-urgent findings into a summary
The wizard creates config.json with your preferences. You can always edit it later or use manage_topics.py to add/remove topics.
Example session:
Quick Start
Already know what you're doing? Here's the manual approach:
Topic Configuration
Each topic has:
- name - Display name (e.g., "AI Model Releases")
- query - Search query (e.g., "new AI model release announcement")
- keywords - Relevance filters (["GPT", "Claude", "Llama", "release"])
- frequency -
hourly,daily,weekly - importance_threshold -
high(alert immediately),medium(alert if important),low(digest only) - channels - Where to send alerts (["telegram", "discord"])
- context - Why you care (for AI contextual summaries)
Example config.json
Scripts
manage_topics.py
Manage research topics:
monitor.py
Main monitoring script (run via cron):
How it works:
- Reads topics due for checking (based on frequency)
- Searches using web-search-plus or built-in web_search
- Scores each result with AI importance scorer
- High-importance → immediate alert
- Medium-importance → saved for digest
- Low-importance → ignored
- Updates state to prevent duplicate alerts
digest.py
Generate weekly digest:
Output format:
setup_cron.py
Configure automated monitoring:
Creates cron entries:
AI Importance Scoring
The scorer uses multiple signals to decide alert priority:
Scoring Signals
HIGH priority (immediate alert):
- Major breaking news (detected via freshness + keyword density)
- Price changes >10% (for finance topics)
- Product releases matching your exact keywords
- Security vulnerabilities in tools you use
- Direct answers to specific questions you asked
MEDIUM priority (digest-worthy):
- Related news but not urgent
- Minor updates to tracked products
- Interesting developments in your topics
- Tutorial/guide releases
- Community discussions with high engagement
LOW priority (ignore):
- Duplicate news (already alerted)
- Tangentially related content
- Low-quality sources
- Outdated information
- Spam/promotional content
Learning Mode
When enabled (learning_enabled: true), the system:
- Tracks which alerts you interact with
- Adjusts scoring weights based on your behavior
- Suggests topic refinements
- Auto-adjusts importance thresholds
Learning data stored in .learning_data.json (privacy-safe, never shared).
Memory Integration
Topic Monitor connects to your conversation history:
Example alert:
🔔 Dirac Live Update
Version 3.8 released with the room correction improvements you asked about last week.
Context: You mentioned struggling with bass response in your studio. This update includes new low-frequency optimization.
[Link] | [Full details]
How it works:
- Reads references/memory_hints.md (create this file)
- Scans recent conversation logs (if available)
- Matches findings to past context
- Generates personalized summaries
memory_hints.md (optional)
Help the AI connect dots:
Alert Channels
Telegram
Requires OpenClaw message tool:
Discord
Webhook-based:
SMTP or API:
Advanced Features
Alert Conditions
Fine-tune when to alert:
Regex Patterns
Match specific patterns:
Rate Limiting
Prevent alert fatigue:
State Management
.research_state.json
Tracks:
- Last check time per topic
- Alerted URLs (deduplication)
- Importance scores history
- Learning data (if enabled)
Example:
.findings/ directory
Stores digest-worthy findings:
Best Practices
- Start conservative - Set
importance_threshold: mediuminitially, adjust based on alert quality - Use context field - Helps AI generate better summaries
- Refine keywords - Add negative keywords to filter noise:
"keywords": ["AI", "-clickbait", "-spam"] - Enable learning - Improves over time based on your behavior
- Review digest weekly - Don't ignore the digest—it surfaces patterns
- Combine with personal-analytics - Get topic recommendations based on your chat patterns
Integration with Other Skills
web-search-plus
Automatically uses intelligent routing:
- Product/price topics → Serper
- Research topics → Tavily
- Company/startup discovery → Exa
personal-analytics
Suggests topics based on conversation patterns:
"You've asked about Rust 12 times this month. Want me to monitor 'Rust language updates'?"
Privacy & Security
- All data local - No external services except search APIs
- State files gitignored - Safe to use in version-controlled workspace
- Memory hints optional - You control what context is shared
- Learning data stays local - Never sent to APIs
Troubleshooting
No alerts being sent:
- Check cron is running:
crontab -l - Verify channel config (Telegram chat ID, Discord webhook)
- Run with
--dry-run --verboseto see scoring
Too many alerts:
- Increase
importance_threshold - Add rate limiting
- Refine keywords (add negative filters)
- Enable learning mode
Missing important news:
- Decrease
importance_threshold - Increase check frequency
- Broaden keywords
- Check
.research_state.jsonfor deduplication issues
Digest not generating:
- Verify
.findings/directory exists and has content - Check digest cron schedule
- Run manually:
python3 scripts/digest.py --preview
Example Workflows
Track Product Release
Monitor Competitor
Research Topic
Credits
Built for ClawHub. Uses web-search-plus skill for intelligent search routing.

