地震監控 是做什麼的?
腳本 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 <地點>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 或以上時發送 PushNotification。- 如果該行包含
(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 使用此技能。