| 功能 | 说明 |
|---|---|
| ------ | ------ |
| ⏰ 定时检测 | 每20分钟自动执行一次 |
| 🔍 变化检测 | 将HTML和图片转为MD5比对 |
| 📧 邮件告警 | 检测到变化时发送Email通知 |
| ⚙️ 网站管理 | 用户可通过对话增删改查监控网站 |
当用户发出以下类型的指令时,直接操作 references/config.json 中的 websites 字段:
触发词:「添加监控」「新增网站」「加入监控」「监控这个网站」「add」等
操作步骤:
references/config.jsonwebsites 数组追加新条目:```json
{"name": "<网站名>", "url": "<完整URL>", "enabled": true}
```
name:用户提供的名称,或从URL中提取域名作为默认名url:必须以 http:// 或 https:// 开头config.json触发词:「删除监控」「移除网站」「取消监控」「停止监控」「remove」「delete」等
操作步骤:
references/config.jsonname 或 url 中包含用户指定的关键词匹配websites 数组中删除匹配项config.json触发词:「启用」「禁用」「暂停监控」「恢复监控」「enable」「disable」等
操作步骤:
references/config.jsonenabled 字段(true/false)config.json触发词:「查看监控」「当前监控」「监控列表」「有哪些网站」「list」等
操作步骤:
references/config.jsonwebsites 数组内容:| 序号 | 名称 | URL | 状态 |
|---|---|---|---|
| ------ | ------ | ----- | ------ |
| 1 | example-site | https://example.com | ✅ 启用 |
触发词:「添加邮箱」「删除邮箱」「告警邮箱」「通知邮箱」等
操作步骤:
references/config.jsonalert_emails 数组(添加/删除指定邮箱)config.json(以下为默认配置,用户可随时修改)
配置文件路径:~/.workbuddy/skills/web-check/references/config.json
{
"smtp": {
"host": "smtp服务器",
"port": 465,
"use_ssl": true,
"verify_ssl": false,
"sender": "发件人邮箱",
"password": "密码"
},
"websites": [
{"name": "网站名称", "url": "https://example.com", "enabled": true}
],
"alert_emails": ["收件人1@example.com"],
"check_interval_minutes": 20,
"timeout_seconds": 30
}
字段说明:
1. 读取配置文件
2. 遍历所有 enabled=true 的网站
3. 获取网页HTML内容
4. 提取页面中图片URL
5. 下载图片并计算MD5
6. 组合HTML+图片生成整体hash
7. 与历史记录比对
8. 有变化 → 发送邮件告警
9. 保存当前hash到历史记录
logs/data/*.json~/.workbuddy/binaries/python/envs/default/Scripts/python.exe ~/.workbuddy/skills/web-check/scripts/check.py
check.py - 主检测脚本,包含爬取、hash计算、比对、告警功能config.json - 配置文件,包含网站列表、告警邮箱等data/*.json - 历史hash记录YYYY-MM-DD.log - 执行日志共 2 个版本