WebSensor
Detect What Changed. Know Why It Matters. — https://www.websensor.io
WebSensor is a global sensor network for the changing Web. It continuously monitors official public sources (newsrooms, status pages, changelogs, regulators, registries, APIs), preserves every observation, detects raw changes, filters noise, interprets meaningful changes into events, links them to entities, scores their importance and confidence, clusters related events and publishes them live over WebSocket.
Sources → Sensors/Connectors → Fetch (conditional) → Snapshot (immutable) → Diff → Heuristics
→ Interpretation (Claude, budgeted) → Entities → Novelty/Clustering → Importance → Event
→ Redis stream → WebSocket gateway → www.websensor.io- 200 organizations, ~290 curated sensors at launch (
config/sources.yaml), plus validated discovery. - Connector families: HTTP (HTML/JSON/HEAD), RSS/Atom/JSON Feed, sitemaps, Statuspage, GitHub, JSON APIs (CISA KEV, NVD, Federal Register, USGS, HIBP, Google Cloud incidents…), Scrapfly fallback.
- Every event is auditable: event → change → snapshot A/B → fetch run → sensor → source, with raw evidence.
- Observed vs inferred is always labelled; silent (unannounced) changes are flagged.
Quick start
createdb websensor && cp .env.example .env && pnpm install
npx tsx apps/engine/src/cli.ts sync # load the registry
pnpm dev:api & pnpm dev:web & pnpm dev:engine
open http://localhost:8260Docs: CLAUDE.md (repo guide), docs/ARCHITECTURE.md, docs/connectors/*.md, deploy/README.md,
API docs at /api on the site. Public API: GET /api/v1/events, /api/v1/entities/{id},
/api/v1/sources/{id}, /api/v1/domains/{domain}/timeline, /api/v1/changes/{id}, wss://…/api/v1/live,
/api/v1/feed.rss.