自给自足 Skill:不依赖项目 app.py。Agent 通过 scripts/monitor.py 管理域名、执行检查、读取变化并反馈用户。
pip install -r scripts/requirements.txt(在 skill 根目录或 scripts/ 下执行均可)
domains 数组 python scripts/monitor.py add example.com python scripts/monitor.py run
changes 为非空时表示需要明确告知用户的变化 summary 为人类可读摘要(可同时念给用户) baselined),不产生告警changes:列出域名、变更类型(whois_change = 注册状态,dns_change = DNS 解析)、前后状态 重复执行 monitor.py run;历史保存在 memory/state.json
# 典型命令(路径相对于 skill 根目录 domain-monitor/)
python scripts/monitor.py add suspicious.example
python scripts/monitor.py run
python scripts/monitor.py list
python scripts/monitor.py check example.com
| 能力 | 说明 |
|---|---|
| ------ | ------ |
| WHOIS 注册 | registered / unregistered / unknown,API 失败重试 3 次 |
| DNS 解析 | A、AAAA、CNAME、MX、TXT;可选 dns_server |
| 记忆对比 | memory/state.json 存上次状态,每次 run 对比 |
| 变更告警 | 仅当上次状态不是 unknown 且发生变化时记入 changes |
| 白名单 | config.json → whitelist |
| 24h 去重 | 同域名同类型告警在 suppress_hours 内不重复推送 |
| 可选推送 | config.json → notify(Webhook / Syslog / Email) |
| 路径 | 作用 |
|---|---|
| ------ | ------ |
| config.json | 监控域名列表与选项 |
| memory/state.json | 运行时生成的历史记忆(勿提交 git) |
| scripts/monitor.py | 主入口 |
| scripts/domain_core.py | 核心逻辑库 |
| scripts/check_domain.py | 单次探测(不读写记忆) |
| reference.md | 配置与输出字段说明 |
whois_change:注册状态变化(如 unregistered → registered)dns_change:解析记录变化(含 no_records ↔ 有记录)memory/state.json 除非用户要求重置基线 run add 再 run,并把 summary 转述给用户共 1 个版本