Skip to content

yhyatt/MarketMonitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Market Monitor

🧠 Market Monitor

Premium AI Market Intelligence for OpenClaw Agents

Weekly digest of high-signal AI papers, GitHub momentum, and HuggingFace releases.
Scored by LLM. Delivered via Telegram + email. Built for AI strategists.

arXiv Β· HuggingFace Β· GitHub Trending Β· AlphaSignal
Two-stage filter: keyword pre-screen + Claude Haiku relevance scoring
Author reputation boost Β· Borderline strategic check Β· Full synthesis

License: MIT Python Tests

OpenClaw 🦞 β€’ What It Does β€’ Quick Start β€’ Configuration β€’ Filter Tuning β€’ Architecture β€’ Cron Setup


🦞 OpenClaw Friendly

Market Monitor is an OpenClaw skill. Install it and your agent handles the weekly scan automatically:

https://github.com/yhyatt/MarketMonitor  # coming soon

Or run manually:

python3 -m market_monitor run --telegram YOUR_CHAT_ID --email [email protected]

✨ What It Does

πŸ“‘ Four Sources

  • arXiv β€” cs.AI, cs.LG, cs.CL, cs.MA (200 papers/week)
  • HuggingFace β€” Daily papers + trending models by 7-day likes
  • GitHub Trending β€” Weekly star velocity for tracked AI repos + live trending scrape
  • AlphaSignal β€” Parses your AlphaSignal email digest from Gmail as a cross-check

🎯 Two-Stage Filter

  • Stage 1: Keyword pre-filter (50+ positive signals, 8 negative signals)
  • Stage 2: Claude Haiku LLM scoring (0–10) with structured JSON output
  • Author boost: +1 for known high-signal researchers (Karpathy, Khattab, AgΓΌera y Arcas, etc.)
  • Borderline check: Items scoring 6–7 get a focused strategic second-pass (~150 tokens)

πŸš€ Smart Delivery

  • Telegram: Compact digest, auto-splits at 4,000 chars
  • Email: Rich HTML, mobile-responsive, sections per source
  • Synthesis: One LLM call generates "Why this week matters" paragraph with enterprise framing

πŸ’Ύ Persistent Store

  • memory/market/papers.jsonl β€” arXiv papers with scores + signals
  • memory/market/hf_releases.jsonl β€” HuggingFace items
  • memory/market/github_signals.jsonl β€” GitHub velocity signals
  • Deduplication across runs β€” never surfaces the same item twice

πŸš€ Quick Start

1. Clone & install

git clone https://github.com/yhyatt/MarketMonitor.git
cd MarketMonitor
pip install -r requirements.txt

2. Set environment variables

export ANTHROPIC_API_TOKEN=sk-ant-...      # Required: LLM scoring
export GOG_KEYRING_PASSWORD=your-password  # Required: Gmail delivery
export GITHUB_TOKEN=ghp_...               # Optional: higher rate limits (60β†’5000/hr)

3. Subscribe to AlphaSignal (free)

Go to alphasignal.ai and subscribe. Create a Gmail label called Digest_sources and apply it to AlphaSignal emails. The collector picks them up automatically.

4. Run

# Full pipeline: scan + digest
python3 -m market_monitor run --telegram YOUR_CHAT_ID --email [email protected]

# Just scan (no delivery)
python3 -m market_monitor scan

# Just deliver (from stored items)
python3 -m market_monitor digest --telegram YOUR_CHAT_ID --email [email protected]

# Status
python3 -m market_monitor status

# Dry run
python3 -m market_monitor test

βš™οΈ Configuration

Environment Variable Required Description
ANTHROPIC_API_TOKEN βœ… Yes Anthropic API key for Claude Haiku scoring
GOG_KEYRING_PASSWORD βœ… Yes Password for gog Gmail CLI keyring
GITHUB_TOKEN Optional GitHub Personal Access Token (raises rate limit from 60β†’5,000/hr)

Gmail setup (for email delivery)

This skill uses gog for Gmail. Make sure gog is authenticated with send scope:

GOG_KEYRING_PASSWORD=your-password gog auth add [email protected]

πŸ” Filter Tuning

The two-stage filter is tuned for an AI strategist audience. Adjust in market_monitor/filters/:

High-interest topics (score 8–10)

  • Agentic AI, multi-agent systems, orchestration
  • Auto-research: autonomous scientific discovery, deep research agents
  • Open-source LLMs and frameworks (LLaMA, Mistral, Gemma, DeepSeek, vllm, dspy)
  • Paradigm shifts, foundation model positioning
  • Human-AI collaboration, enterprise deployment architecture

Deprioritized (score lower unless major)

  • Security vulnerabilities β€” only systemic/novel threats score 8+
  • Narrow benchmarks, incremental improvements
  • Domain-specific NLP (medical, geographic, etc.)

Author reputation boost

Researchers on the HIGH_SIGNAL_RESEARCHERS list in scorer.py get +1 to their score, pushing borderline papers (6β†’7) over the inclusion threshold. Add or remove names to tune.

Borderline strategic check

Items scoring 6–7 after the main scoring pass get a focused second-pass prompt (~150 tokens) asking: "Is there a concrete strategic implication for enterprise AI adoption, market positioning, or paradigm shift?" This can bump a 6β†’7 (include) or drop a 7β†’6 (exclude).


πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                        COLLECTORS                                β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚  arXiv   β”‚  β”‚ HuggingFace  β”‚  β”‚   GitHub   β”‚  β”‚AlphaSignalβ”‚ β”‚
β”‚  β”‚  API     β”‚  β”‚ API + likes7dβ”‚  β”‚  Trending  β”‚  β”‚  Gmail    β”‚ β”‚
β”‚  β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚               β”‚                 β”‚              β”‚
        β–Ό               β–Ό                 β–Ό              β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                         FILTERS                                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚ Keyword Filter │─▢│   LLM Scorer     │─▢│  Deduplicator   β”‚  β”‚
β”‚  β”‚ (stage 1)      β”‚  β”‚  + author boost  β”‚  β”‚                 β”‚  β”‚
β”‚  β”‚                β”‚  β”‚  + strategic     β”‚  β”‚                 β”‚  β”‚
β”‚  β”‚                β”‚  β”‚    check (6-7)   β”‚  β”‚                 β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚
        β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                          STORE                                   β”‚
β”‚  papers.jsonl  Β·  hf_releases.jsonl  Β·  github_signals.jsonl    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚
        β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                         DIGEST                                   β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  Synthesizer β”‚  β”‚    Formatter    β”‚  β”‚     Delivery       β”‚  β”‚
β”‚  β”‚ (why this    β”‚  β”‚ Telegram + HTML β”‚  β”‚ Telegram Β· Email   β”‚  β”‚
β”‚  β”‚  week mattersβ”‚  β”‚                 β”‚  β”‚                    β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

⏰ Cron Setup

OpenClaw cron (recommended)

python3 -m market_monitor run --telegram 5553808416 --email [email protected]

Schedule: Sundays 19:00 local time. The isolated agent runs in a clean context.

System cron

0 19 * * 0 cd /path/to/workspace && ANTHROPIC_API_TOKEN=sk-ant-... GOG_KEYRING_PASSWORD=... python3 -m market_monitor run --telegram YOUR_CHAT_ID --email [email protected]

πŸ§ͺ Tests

pip install pytest pytest-mock
python3 -m pytest tests/ -v

100 tests, 0 external API calls required (all mocked).


πŸ“„ License

MIT β€” see LICENSE


Built with 🦞 OpenClaw

About

🧠 Premium AI market intelligence β€” weekly digest of high-signal papers, GitHub momentum, and HuggingFace releases. Scored by LLM, delivered via Telegram + email.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages