web-monitor

TotalClaw 作者 totalclaw

监控网页内容更改并获取警报。跟踪 URL、检测更新、查看差异。当被要求观看网站、跟踪页面上的更改、监视新帖子/内容、设置页面更改警报或检查网站是否已更新时使用。支持 CSS 选择器进行有针对性的监控。

安装 / 下载方式

TotalClaw CLI推荐
totalclaw install totalclaw:totalclaw~rogue-agent1-web-monitor
cURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~rogue-agent1-web-monitor/file -o rogue-agent1-web-monitor.md
## 概述(中文)

监控网页内容更改并获取警报。跟踪 URL、检测更新、查看差异。当被要求观看网站、跟踪页面上的更改、监视新帖子/内容、设置页面更改警报或检查网站是否已更新时使用。支持 CSS 选择器进行有针对性的监控。

## 原文

# Web Monitor

Track web pages for changes. Stores snapshots, computes diffs, supports CSS selectors.

## Quick Start

```bash
# Add a URL to watch
uv run --with beautifulsoup4 python scripts/monitor.py add "https://example.com" --name "Example"

# Add with CSS selector (monitor specific section)
uv run --with beautifulsoup4 python scripts/monitor.py add "https://example.com/pricing" -n "Pricing" -s ".pricing-table"

# Check all watched URLs for changes
uv run --with beautifulsoup4 python scripts/monitor.py check

# Check one specific URL
uv run --with beautifulsoup4 python scripts/monitor.py check "Example"

# List watched URLs
uv run --with beautifulsoup4 python scripts/monitor.py list

# View last diff
uv run --with beautifulsoup4 python scripts/monitor.py diff "Example"

# View current snapshot
uv run --with beautifulsoup4 python scripts/monitor.py snapshot "Example" --lines 50

# Remove
uv run --with beautifulsoup4 python scripts/monitor.py remove "Example"
```

## Commands

| Command | Args | Description |
|---------|------|-------------|
| `add` | `<url> [-n name] [-s selector]` | Add URL to watch, take initial snapshot |
| `remove` | `<url-or-name>` | Stop watching a URL |
| `list` | `[-f json]` | List all watched URLs with stats |
| `check` | `[url-or-name] [-f json]` | Check for changes (all or one) |
| `diff` | `<url-or-name>` | Show last recorded diff |
| `snapshot` | `<url-or-name> [-l lines]` | Show current snapshot |

## Output Symbols

- 🔔 CHANGED — page content changed (shows diff preview)
- ✅ No changes
- 📸 Initial snapshot taken
- ❌ Error fetching

## Data

Stored in `~/.web-monitor/` (override with `WEB_MONITOR_DIR` env var):
- `watches.json` — watch list config
- `snapshots/` — stored page content + diffs

## Tips

- Use `--selector` to monitor specific elements (prices, article lists, etc.)
- Use `--format json` for programmatic checking (heartbeat integration)
- CSS selectors require beautifulsoup4 (included via `--with` flag)
- Text is normalized to reduce noise from timestamps, whitespace, ads