firecrawl/firecrawl
Firecrawl ships as a Docker Compose stack (API + worker + Redis + headless browser), which drops cleanly onto the existing Proxmox homelab alongside CT 102/103/104, and it can sit behind the same Cloudflare tunnel pattern already used to expose homelab services. The self-hosted, AGPL path matches the operator's stated preference for free-tier and self-hosted tools over paid APIs.
It extends two active projects (field-notes enrichment, bud attachment/URL extraction) rather than starting something new, which fits the 'improve what exists' pattern. But it is a resource-heavy service (headless Chromium, Redis, worker process) for a solo, budget-conscious operator building systems meant to run mostly unattended, and today field-notes' only source is GitHub trending, where repo metadata already covers most of what CCR needs.
Would let field-notes' enrichment CCR read full page content from a scan item's linked URL instead of relying on repo metadata alone, and would let bud extract structured content from URLs referenced in emails (receipts, product pages) rather than parsing email text only.
Content-fetch quality is a real ceiling on enrichment depth across both field-notes and bud, but right now field-notes' only active source is GitHub trending, where the repo README and metadata already give CCR enough signal - so the marginal value of full-page scraping is speculative until a non-GitHub source or a document-heavy bud case actually exists.
In field-notes, a new fetch_content() call in the enrichment service (Python/FastAPI) run before the CCR prompt is built, feeding extracted Markdown into the existing BriefingBody generation; the operator would see richer 'Technical Overview' sections for non-GitHub items. In bud, a similar step ahead of the Claude classifier for URLs found in email bodies. A minimal v1 touches only the enrichment request builder in each project - no schema changes.