6 Commits
Author SHA1 Message Date
kriptoburak 72ac447393 Add Xquik Twitter search provider 2026-05-17 03:54:38 +03:00
jacob-bd 8c6c54ccd1 Add agent-browser fallback tier to article enrichment
When the simple HTTP fetch returns empty (JS-rendered pages, Cloudflare
Turnstile protection), fall back to agent-browser headless Chromium to
extract paragraph text. Tested on TechCrunch, The Verge, VentureBeat —
all return full article content where the simple fetcher got nothing.

Paywall domains (Bloomberg, NYT, WSJ, FT) remain in SKIP_DOMAINS and
are bypassed entirely — bot detection blocks even real browsers there.

Fetch tiers:
1. CF Markdown / simple HTTP (parallel, fast)
2. agent-browser Chromium (sequential, last resort for empty results)
3. Skip (paywalled/non-article domains)
2026-03-05 14:43:32 -05:00
jacob-bd 30406e9894 Fix: exit with 0 picks when all candidates are pre-filtered
When the dedup pre-filter removes all valid candidates (e.g. a
force-run on a candidates file that was already processed), the LLM
was receiving an empty article list and hallucinating picks from the
recent_posts context injected into the prompt. This caused exact
duplicate stories to be re-sent.

Now llm_editor.py exits immediately with 0 picks when
total_candidates == 0 after pre-filtering, preventing the LLM from
ever being called with no real candidates.
2026-03-05 11:38:44 -05:00
jacob-bd 43544d2918 v2: SQLite cross-scan dedup, LLM failover chain, AI keyword pre-filter
Major dedup overhaul — persistent SQLite database (dedup_db.py) stores
normalized URLs and titles across all scans, replacing text-file-only
matching that missed query-param variants and same-event rewrites.

LLM editor now uses a 3-tier failover chain (Gemini Flash Lite → Grok
via OpenRouter → Gemini Flash Preview) instead of single-provider with
raw-fallback. Providers alternate to avoid double failure on outages.

Inline AI keyword filter in the orchestrator blocks non-AI articles at
the RSS extraction stage. Editorial rules updated from "must produce 5"
to "up to 7, quality over quantity."

Includes 68 unit tests, updated README, changelog, and migration guide.
2026-03-04 15:42:43 -05:00
jacob-bd d7db73cf2d Fix bird CLI link — point to bird.fast instead of dead GitHub URL 2026-03-03 21:32:48 -05:00
jacob-bd 4fd25f4afb Initial release: OpenClaw automated news scanning pipeline
11 scripts + editorial profile template for a complete AI-powered
news scanning workflow. 5 data sources (RSS, Reddit, Twitter, GitHub,
Tavily), quality scoring, article enrichment, and Gemini Flash
editorial curation. ~$5/month to run.
2026-03-03 12:37:37 -05:00