地震监测
脚本 scripts/sismos.py(仅使用标准 Python,3.9+)查询地震源并计算用户位置的距离、方向和估计烈度(麦卡利)。
在回复之前:不能做什么
没有任何系统可以预测地震,即使是 GlobalQuake 也不行。该技能的作用是在地震已被检测到后尽快通知。如果用户要求“告诉我什么时候会地震”,请用一句话说明并提议进行监测。使用 USGS 和 EMSC 时,通知会在震后 1 到 20 分钟内到达。只有使用 GlobalQuake 才能在数秒内到达。紧急情况下,智利的官方来源是 SENAPRED 的 SAE 和 CSN(sismologia.cl)。
位置和阈值
默认值:科皮亚波(-27.3668,-70.3314),半径 500 公里,全球范围内 M≥6.0,忽略 M<3.0。
如果用户提到其他城市或坐标,请使用 --lat --lon --lugar 传递它们(使用你已知的城市坐标)。也可以使用环境变量 SISMOS_LAT、SISMOS_LON、SISMOS_LUGAR、SISMOS_RADIO_KM、SISMOS_MAG_GLOBAL、SISMOS_MAG_MIN 进行设置。
在下面的命令中,SKILL_DIR 是该技能的基础目录(加载时显示):如果是为用户安装的,则为 ~/.claude/skills/sismos;如果在项目中,则为 .claude/skills/sismos。请将其替换为实际路径。
单次查询:“有地震吗?”
python3 SKILL_DIR/scripts/sismos.py ahora --horas 24
如果需要处理数据,请使用 --json。为用户总结:最相关的地震(按估计烈度从高到低排序),包括震级、距离、方向、智利时间和烈度。如果没有地震,请说明。如果脚本输出 ERROR fuente ...,请告知该源失败。如果退出码为 2,则两个源都失败:不要说“没有地震”。
持续监测:“如果有地震请通知我”
- 使用 Monitor 工具(而不是 Bash)启动监视器:
command:python3 -u SKILL_DIR/scripts/sismos.py vigilar(如果合适,附加--lat/--lon/--lugar)description:sismos cerca de <lugar>( 附近的地震)timeout_ms:1800000(最大值)
- 用一行文字向用户确认你正在监测什么(地点、半径、震级),并说明通知会有源的延迟。
- 监视器的每一行都是一个事件:
VIGILANDO ...→ 启动成功,无需多说。SISMO nivel=ALERTA ...→ 首先使用 PushNotification 工具发送通知(status: "proactive",一行不超过 200 个字符,例如地震 M5.4,科皮亚波以西 42 公里,烈度 V。时间 18:03)。如果该工具未加载,请使用 ToolSearch(select:PushNotification)加载。然后立即在聊天中通知,首先说明关键信息:震级、距离、估计烈度和时间。如果烈度为 V 或更高,额外添加 2-3 行防护措施(蹲下、掩护、抓牢;远离窗户;如果你在海岸且震动强烈或持久,请疏散到高地,无需等待官方警报)并建议查看 SENAPRED 和 SHOA。SISMO nivel=INFO ...→ 在聊天中简要通知(用户位置远处或弱震)。仅当震级为 6.0 或以上时才发送推送通知。- 如果该行包含
(actualización)→ 震级已修正或级别已提升。通知变更。 - 如果该行包含
SIN_CONFIRMAR→ 初步检测(GlobalQuake)。请说明。 ESTADO fuente=X CAIDA→ 告知用户该源无响应,监测可能无法检测到地震。如果是RECUPERADA,用一行通知已恢复。
- 监视器在 30 分钟后过期:当收到过期通知时,重新启动它,使用相同的命令且无需询问,除非用户要求停止。脚本会记住已通知的事件(
~/.cache/claude-skill-sismos/estado.json),因此重新启动时不会重复通知。 - 如果用户要求停止,请使用 TaskStop 停止监视器。
要测试通知功能而无需等待真实地震:
python3 SKILL_DIR/scripts/sismos.py prueba 会以相同格式打印一个模拟地震。
GlobalQuake(秒级检测)
GlobalQuake 的开源代码已从 1.0.0 版本开始停止维护(在 globalquake.net 上作为专有项目继续)。GlobalQuake Server 0.11 提供 FDSNWS-event API,默认关闭:
- 在其设置中:
autoStartFDSNWSEventServer=true(端口FDSNWSEventPort,默认 8080)。 - 导出
SISMOS_GQ_URL=http://localhost:8080(或传递--gq-url)。监视器每 5 秒查询一次,并继续同时查询 USGS/EMSC。其地震显示为fuentes=globalquake SIN_CONFIRMAR,直到某个目录确认它们。GlobalQuake 是实验性的:通知时请说明。
替代方案:此仓库的后端 sismo-rt/(EMSC 实时 WebSocket + GlobalQuake),使用 SISMOS_RT_URL=http://localhost:8000(或 --rt-url)。监视器监听其 SSE 流,如果断开,则仅回退到查询 USGS/EMSC。详细信息请参阅 sismo-rt/docs/GLOBALQUAKE.md。
所需网络
主机:earthquake.usgs.gov 和 www.seismicportal.eu(以及如果使用的 GlobalQuake 或 sismo-rt 主机)。如果两者都因 403 错误或云会话中的隧道错误而失败,则环境网络策略正在阻止它们。告知用户,并建议在环境配置中允许它们,或从其计算机上的 Claude Code 使用该技能。