crucix-intelligence-dashboard

crucix-intelligence-dashboard — an installable skill for AI agents.

By reason-machines · 1,368 installs

npx skills add reason-machines/trending-skills --skill crucix-intelligence-dashboard

Source repository · Upstream listing

Crucix Intelligence Dashboard Skill by [ara.so](https://ara.so) — Daily 2026 Skills collection. Crucix is a self hosted intelligence terminal that pulls from 27 open source data feeds (satellite fire detection, flight tracking, radiation monitoring, conflict data, market prices, maritime AIS, economic indicators, and more) every 15 minutes, renders everything on a WebGL globe dashboard, and optionally pushes alerts to Telegram/Discord with LLM enhanced analysis. Installation Docker: Requirements: Node.js 22+ (uses native fetch , top level await , ESM modules) If npm run dev exits silently: Environment Configuration ( .env ) Key Commands Command Description npm run dev Start dashboard with auto reload node server.mjs Start directly (bypasses npm script runner) node diag.mjs Diagnose setup issues docker compose up d Run in background with Docker npx @openai/codex login Authenticate Codex LLM via ChatGPT subscription Telegram Bot Commands Once TELEGRAM BOT TOKEN and TELEGRAM CHAT ID are set, the bot responds to: Command What It Does /status System health, last sweep time, source/LLM status /sweep Trigger a manual intelligence sweep immediately /brief Compact text summary: direction, key metrics, top OSINT /portfolio Portfolio status (requires Alpaca keys) /alerts Recent alert history with tier labels /mute / /mute 2h Silence alerts for 1h or custom duration /unmute Resume alerts /help List all commands Discord Bot Commands Install discord.js for full bot mode; otherwise Crucix auto falls back to webhook only: Slash commands available: /status , /sweep , /brief , /portfolio Alert embeds are color coded: 🔴 red = FLASH, 🟡 yellow = PRIORITY, 🔵 blue = ROUTINE. Webhook only mode (no discord.js , no slash commands): LLM Provider Setup Anthropic Claude OpenAI Google Gemini OpenAI Codex (ChatGPT subscription — no API key needed) LLM failures are non fatal — Crucix automatically falls back to rule based alert evaluation without crashing the sweep cycle. Architecture & Data Flow Each 15 minute sweep cycle: 1. Parallel fetch — all 27 sources queried simultaneously (~30–60s) 2. Synthesis — raw data normalized into dashboard format 3. Delta computation — what changed, escalated, or de escalated vs. previous run 4. LLM analysis — 5–8 trade ideas generated (or rule based fallback) 5. Alert evaluation — FLASH / PRIORITY / ROUTINE tiering with semantic dedup 6. Push — SSE update to all connected browsers + Telegram/Discord if configured 7. Persistence — sweep written to ./runs/ directory Dashboard Features 3D WebGL globe (Globe.gl) with atmosphere, star field, rotation + flat map toggle 9 marker types : fires, aircraft, radiation, maritime chokepoints, SDR receivers, OSINT events, health alerts, geolocated news, conflict events Animated 3D flight arcs between air traffic hotspots Region filters : World, Americas, Europe, Middle East, Asia Pacific, Africa Live markets : indexes, crypto, energy, commodities (Yahoo Finance, no key needed) Risk gauges : VIX, high yield spread, supply chain pressure index OSINT feed : 17 built in Telegram intelligence channels Sweep Delta panel : live diff of what changed this cycle Nuclear watch : Safecast + EPA RadNet radiation readings Space watch : CelesTrak satellite tracking — ISS, Starlink, military constellations Common Patterns Minimal Setup (no API keys) Maximum Free Coverage Telegram Alerts Only (no LLM) Full Stack with LLM + Both Bots Adding Extra Telegram OSINT Channels Troubleshooting Dashboard empty after startup: Normal — the first sweep takes 30–60 seconds to query all 27 sources. Wait for it to complete before expecting data. npm run dev exits silently (especially Windows PowerShell): Port already in use: Telegram bot not receiving commands: Verify TELEGRAM BOT TOKEN and TELEGRAM CHAT ID are both set Confirm the chat ID is your personal chat, not a group (use @userinfobot) Default poll interval is 5000ms — set TELEGRAM POLL INTERVAL=2000 for faster response Discord slash commands not appearing: Set DISCORD GUILD ID for instant registration (vs. up to 1 hour for global) Ensure the bot invite URL includes both bot and applications.commands scopes Check Message Content Intent is enabled in the Developer Portal LLM errors crashing sweeps: They won't — LLM failures are caught and the sweep continues with rule based fallback. Check logs for the specific provider error (invalid key, rate limit, etc.). ACLED conflict data missing: ACLED uses OAuth2 with email/password — both ACLED EMAIL and ACLED PASSWORD must be set together. Sweep data persistence: All runs are saved to ./runs/ . In Docker, this is volume mounted so data survives container restarts.