Skip to main content

hermes-osint-map

❖ Communityv0.2.0

A live situational-awareness globe in Hermes Desktop: earthquakes (USGS), disaster alerts (GDACS), natural events (NASA EONET), US severe weather (NWS), military and nearby aircraft (adsb.lol), satellites propagated live from CelesTrak elements, GDELT news incidents, official traffic cameras (Transport for London, Singapore LTA) and shipping chokepoints on a dithered 3D globe, with satellite orbits, aircraft tracks and live camera stills, country dossiers (World Bank facts, events, headlines), NOAA space weather, markets, a feed of events, headlines and alerts, and a passive recon toolkit (DNS, RDAP, TLS, security headers, CT subdomains, CVE with CISA KEV, IP, GitHub, MAC). Five agent tools (osint_situation, osint_events, osint_country, osint_recon, osint_news) answer from the same sources in any chat, and the page's Brief me, Ask Hermes and dossier buttons open a chat that uses them. No keys needed; an optional TWELVEDATA_API_KEY (plugin setting, read through Hermes's secret scope) adds equities and commodities. Unofficial; not affiliated with any data provider.

Open in Hermes Desktop
hermes plugins install hermes-osint-map

Screenshots

What it adds

Tools 5

osint_situationosint_eventsosint_countryosint_reconosint_news

README

From the reviewed commit 51343fd ↗; it updates when the author re-pins.

Hermes OSINT Map

The world's live signals on one globe, and an agent that can brief you on them.

Earthquakes, disaster alerts, natural events, severe weather, aircraft, satellites, news-derived incidents, traffic cameras and shipping chokepoints on a dithered 3D globe inside Hermes Desktop. Country dossiers, a passive recon toolkit, and briefings Hermes writes from the same public sources.

POWERED BY HERMES AGENT  ·  COMMUNITY PLUGIN  ·  VERSION 0.2.0

What it does  ·  Install it  ·  Where your data goes

A marble Hermes watches a dithered globe of event markers, an orbiting satellite and a dossier window

Powered by Hermes

Hermes OSINT Map is a community plugin for Hermes Agent with two halves in one package:

  • A Desktop page. A full-screen globe, built on the Desktop plugin SDK, with a sidebar entry and palette commands.
  • Five agent tools. They answer from the same sources in any chat: the CLI, Hermes Desktop, the messaging gateway, cron jobs and subagents.

Every source is public and needs no account. The page's "Brief me", "Ask Hermes" and dossier buttons open a chat with a structured request, and Hermes answers with these tools.

OSINT Map in Hermes Desktop

One globe, every signal

Layer Shape Source Refresh
Earthquakes ● circle USGS (M2.5+ last day, M4.5+ last week) 1 min
Disaster alerts ◆ diamond GDACS 10 min
Natural events ▲ triangle NASA EONET (observed in the last 30 days) 10 min
Severe weather (US) ■ square National Weather Service 5 min
News incidents ⬢ hexagon GDELT events, last 3 hours 15 min
Aircraft ➤ dart adsb.lol: military worldwide, all traffic near the view when zoomed in 15 s
Satellites ✚ plus CelesTrak elements, positions computed live (SGP4) 1 s
Traffic cameras ▢ frame Transport for London JamCams and Singapore LTA (data.gov.sg), official open data stills every minute
Chokepoints ○ ring Curated straits and canals static
Follow what movesClick a satellite to draw its next orbit, an aircraft to see the track it flew while you watched, or a traffic camera for its latest still. Drill into a countryA dossier with World Bank facts, everything on the map there, and recent headlines.
Read the roomNOAA space weather, markets, a layer-health panel, and a feed of events, world headlines and alerts. Look things upDNS, RDAP/WHOIS, TLS certificates, security headers, CT subdomains, CVEs with CISA KEV status, IP, GitHub and MAC lookups.
Satellite tracking Country dossier
The ISS with its orbit Japan's dossier with nearby traffic
Aircraft Recon
A flight over Europe A CVE lookup

Tools for the agent

Tool Answers
osint_situation what's happening right now across every layer, plus Kp and top headlines
osint_events events by layer, country, or a point and radius
osint_country a country's facts, current events and headlines
osint_recon any recon lookup
osint_news headline search

Small decisions, already made

  • Layers never depend on colour alone: each has its own shape, and every colour comes from your Hermes theme.
  • Older events fade into the background instead of vanishing, and new ones pulse once as they arrive.
  • Each source is fetched once per refresh for every window and agent call, through a shared cache.
  • A source that fails keeps serving its last good data, marked stale, and is left alone for a while before the next try.
  • adsb.lol requests are spaced out and retried once after a rate limit.
  • Headline search matches every word in any order.
  • Traffic cameras come only from official open-data feeds. They cluster into one marker per city until you zoom in, and a camera's still is fetched by its id from the operator's own image host, never from an address the page supplies.
  • Recon lookups that connect to a host refuse private, loopback, link-local and other internal addresses, before and after redirects.
  • News incidents are machine-coded from news coverage. The page and the tools say so; they show where reporting is, not verified events.
  • The page stops all polling and rendering when you leave it or the window is hidden. It respects reduced motion and works in split tiles.

Make it yours

Install

hermes plugins install Adolanium/hermes-osint-map

Then, in Hermes Desktop, open Capabilities → Plugins → OSINT Map and turn on both Agent in Hermes (the backend and tools) and Desktop (the page). Open OSINT Map from the sidebar or the ⌘K/Ctrl+K palette.

Hermes OSINT Map needs Hermes Agent 0.22.2 or later.

Add markets (optional)

The markets panel shows crypto out of the box. Add a free Twelve Data key as TWELVEDATA_API_KEY in the plugin's settings to add defense stocks, energy, metals and the S&P 500. The plugin reads it only through Hermes's secret scope, so each profile keeps its own key.

Keys

1–9 toggle layers, / opens recon, R resets the view, A toggles spin, D toggles dithering, arrows rotate, +/- zoom, Esc closes a panel.

Test

python -m pytest            # parsers, caches, recon guard, routes, tools (no network)
python scripts/smoke.py     # every route against the real sources
cd desktop-src && npm ci && npm test && npm run build

Check the plugin the same way the catalog does:

hermes plugins validate . --install-deps

Privacy you can explain in one breath

Hermes gateway  →  public data sources (fixed hosts, cached)  →  the globe, panels and tools
                →  recon: the one host or name you look up    →  the result card
  • What leaves your machine. Requests to the public sources below, identified as hermes-osint-map. Recon lookups send the domain, IP, CVE, GitHub name or MAC prefix you enter to the matching public service. TLS and header lookups connect to the host you name.
  • Who it talks to. USGS, NASA EONET, GDACS, the National Weather Service, GDELT, adsb.lol, CelesTrak, NOAA SWPC, Transport for London (api.tfl.gov.uk and its JamCams image bucket), data.gov.sg (Singapore traffic images), the World Bank, the BBC/Al Jazeera/DW/Guardian/France 24 RSS feeds, CoinGecko, and Twelve Data if you add a key. Recon uses Google Public DNS, rdap.org, crt.sh, CIRCL CVE, CISA KEV, ipwho.is, GitHub and MacVendors. Only the first three octets of a MAC address are sent.
  • Your key. The optional Twelve Data key is sent to Twelve Data in a request header, never in a URL, and never logged or echoed in errors.
  • Nothing else. No files written, no shell commands, no background processes, no telemetry. The page remembers your layer choices in Hermes Desktop's plugin storage.

Compatibility

Hermes Agent Python Status
0.22.5 3.14 Tested by hand in Hermes Desktop (0.1.0) and in a browser preview of the page (0.2.0)
0.22.2 (minimum) 3.11+ SDK surface checked

The plugin depends only on httpx and fastapi, which Hermes already ships.

Limits

  • Aircraft come from volunteer ADS-B receivers: coverage is thin over oceans and some regions, and military traffic only shows when it broadcasts.
  • Severe weather covers the United States only (NWS). Alerts without a mapped area are skipped.
  • Traffic cameras cover London and Singapore for now. Both publish stills, not live video, refreshed every minute or so.
  • GDELT incidents are machine-coded from news. Locations are often a city or country centroid, and labels like "Fight" describe the coverage, not a verified event.
  • crt.sh, behind subdomain lookups, is often slow or down. Those lookups then fail with a clear error.
  • Without a Twelve Data key, the markets panel shows crypto only.

Data and credits

Earthquakes: USGS (public domain). Natural events: NASA EONET (public domain). Disaster alerts: GDACS. Severe weather: National Weather Service (public domain). Incidents: The GDELT Project. Aircraft: adsb.lol (ODbL). Satellites: CelesTrak. Traffic cameras: Powered by TfL Open Data (contains OS data © Crown copyright and database rights); Singapore traffic images from data.gov.sg under the Singapore Open Data Licence v1.0. Space weather: NOAA SWPC (public domain). Country facts: World Bank (CC BY 4.0). Headlines: links and titles from public RSS feeds. Borders: Natural Earth (public domain). Rendering: three.js (MIT); orbits: satellite.js (MIT).

License

MIT.

Community project

Hermes OSINT Map is an independent community plugin. It is not affiliated with, endorsed by, sponsored by, or officially associated with Nous Research, the Hermes Agent project, or any of the data providers listed above. Hermes, Hermes Agent and Nous Research are names and marks belonging to their respective owners.

Disclosure

← Back to the catalog · catalog built Oct 24, 2026