Standalone export of a tweaked WorldOSINT / World Monitor instance focused on local headless agent use.
This repository exposes the same dashboard and data stack, but the key workflow documented here is the headless API and WebSocket bridge for agents, cron jobs, and local automation.
- 50+ headless OSINT modules exposed through
/api/headless - local CLI access for JSON snapshots
- a WebSocket polling bridge for alerts and agent subscriptions
- modules spanning RSS/news, conflict, protests, maritime, flights, geolocation, Polymarket intel, cyber, infrastructure, and more
Representative modules:
news_rssconflict_acledunrest_eventsmaritime_snapshotmilitary_flightsintelligence_risk_scoresmilitary_usnipolymarket_intelgeo_filterssatellite_snapshot
npm install
npm run devLocal app base:
http://127.0.0.1:3000
List modules:
curl "http://127.0.0.1:3000/api/headless?module=list&format=json"Fetch an explicit subset:
curl "http://127.0.0.1:3000/api/headless?modules=news_rss,intelligence_risk_scores,military_usni&format=json"Fetch everything:
curl "http://127.0.0.1:3000/api/headless?module=all&format=both"Important response note:
modulesis an object keyed by module id, not an array- access data like
modules.news_rss.dataormodules.conflict_acled.data
Use the bundled local CLI wrapper:
npm run headless:cli -- --base http://127.0.0.1:3000 --module list --format json --allow-local 1
npm run headless:cli -- --base http://127.0.0.1:3000 --modules news_rss,intelligence_risk_scores,military_usni --format json --allow-local 1Run the local polling bridge exactly like this:
npm run headless:ws -- --base http://127.0.0.1:3000 --port 8787 --interval 60000 --allow-local 1Expected output:
> world-monitor@2.5.20 headless:ws
> node scripts/headless-ws.mjs --base http://127.0.0.1:3000 --port 8787 --interval 60000 --allow-local 1
[headless-ws] listening on ws://localhost:8787 (base=http://127.0.0.1:3000)
Notes:
--allow-local 1is required when the base URL is localhost- bridge health endpoint:
http://127.0.0.1:8787/health - default remote base can also be set with
HEADLESS_BASE_URL
- Start the app with
npm run dev - Query
module=listto discover available module ids - Fetch targeted snapshots with
/api/headless?modules=... - Start
headless:wsif you want recurring polling or alerting - Feed the JSON outputs into Hermes, MiroFish, or another local orchestration layer
npm run headless:cli -- --base http://127.0.0.1:3000 --module all --format both --allow-local 1
npm run headless:ws -- --base http://127.0.0.1:3000 --port 8787 --interval 20000 --allow-local 1
node scripts/headless-module-scan.mjs.envand local secrets are intentionally excluded from this reponode_modules/is not committed- license remains AGPL-3.0
This standalone export is based on the broader World Monitor / WorldOSINT codebase, with local headless usage documented for agent workflows.