A webpage monitor that tracks changes to websites and generates Markdown reports for AI agents to read.
All data lives under DATA_DIR defined in constants.py:
/Users/xiumingz/Library/Mobile Documents/com~apple~CloudDocs/ai/webpage-monitor/
DATA_DIR/roster.json— URLs to monitorDATA_DIR/reports/— Markdown reports (e.g.2026-03-15_15-48-52.md)DATA_DIR/snapshots/— latest HTML snapshot per URL (for diffing)
uv syncConfigure URLs to monitor in DATA_DIR/roster.json:
{
"https://example.com/": {},
"https://example.com/page": {
"ignore_prefix": ["<script>", "<!-- dynamic -->"]
}
}cd /Users/xiumingz/repos/webpage-monitor
uv run main.py checkThis snapshots all URLs in roster.json, diffs against previous snapshots, and saves a Markdown report. The report filename is timestamped, e.g. 2026-03-15_15-48-52.md.
uv run main.py reportPrints the most recent report to stdout.
- Run
uv run main.py checkfrom/Users/xiumingz/repos/webpage-monitor/to generate a new report. - The report is saved as a
.mdfile underDATA_DIR/reports/(seeconstants.py). Filename:YYYY-MM-DD_HH-MM-SS.md. - Read the report file directly, or run
uv run main.py reportto get the latest one on stdout. - Edit
DATA_DIR/roster.jsonto add/remove monitored URLs.
uv run main.py monitor --check-every 43200Runs in a loop, checks every N seconds, and saves a report on each check.