Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Crucix — Seu agente de inteligência pessoal. Monitora o mundo a partir de múltiplas fontes de dados e notifica você quando algo muda. | Kitploit
Ferramentas/GitHubGitHub/calesthio/crucix
OSINT (Inteligência de Fontes Abertas)ReconhecimentoColeta de InformaçõesInteligência de AmeaçasAprendizado e EducaçãoRecursos Curados
GitHubcalesthio/crucix

Crucix

Seu agente de inteligência pessoal. Monitora o mundo a partir de múltiplas fontes de dados e notifica você quando algo muda.

Ver Repositório
11.3k1.8khá 3 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Site

Crucix

Seu próprio terminal de inteligência. 27 fontes. Um comando. Zero nuvem.

Visite o site ao vivo: crucix.live

Live Website Open Demo

Node.js 22+ License: AGPL v3 Dependencies Sources Docker

Entre na Rede Signal

Signal Wire Ops Room

Painel do Crucix

Mais capturas de tela
Sequência de inicializaçãoMapa mundial
InicializaçãoMapa

Site ao vivo: https://www.crucix.live/ Explore a demonstração pública primeiro, depois clone o repositório para executar o Crucix localmente.

O Crucix coleta detecção de incêndios por satélite, rastreamento de voos, monitoramento de radiação, rastreamento de constelações de satélites, indicadores econômicos, preços de mercado ao vivo, dados de conflitos, listas de sanções e sentimento social de 27 fontes de inteligência de código aberto — em paralelo, a cada 15 minutos — e renderiza tudo em um único painel estilo Jarvis independente.

Conecte-o a um LLM e ele se torna um assistente de inteligência bidirecional — enviando alertas multicamadas para Telegram e Discord quando algo significativo muda, respondendo a comandos como /brief e /sweep do seu telefone, e gerando ideias de negociação acionáveis baseadas em dados reais de múltiplos domínios. Seu próprio analista que observa o mundo enquanto você dorme.

Experimente a demonstração ao vivo primeiro em https://www.crucix.live/, depois clone o repositório quando quiser a pilha local completa.

Sem nuvem. Sem telemetria. Sem assinaturas. Apenas node server.mjs e você está rodando.

Aviso sobre Token / Ativo

[!WARNING] Crucix não lançou nenhum token, moeda, NFT, airdrop, pré-venda ou outro ativo baseado em blockchain oficial. Qualquer token ou ativo digital que use o nome, logotipo ou marca do Crucix não é afiliado ou endossado pelo Crucix. Não compre, promova, conecte uma carteira para reivindicá-lo, assine transações ou envie fundos com base em postagens de terceiros, DMs ou sites.


Por que isso existe

A maior parte da inteligência em tempo real do mundo — imagens de satélite, níveis de radiação, eventos de conflito, indicadores econômicos, rastreamento de voos, atividade marítima — está disponível publicamente. Está apenas espalhada por dezenas de APIs governamentais, instituições de pesquisa e feeds de dados abertos que ninguém tem tempo de verificar individualmente.

O Crucix reúne tudo em um só lugar. Não atrás de um paywall, não trancado em uma plataforma empresarial, não exigindo autorização de segurança. Apenas dados abertos, agregados e correlacionados em sua própria máquina, atualizados a cada 15 minutos.

Foi construído para qualquer pessoa que queira entender o que está realmente acontecendo no mundo agora — pesquisadores, jornalistas, traders, analistas de OSINT, ou apenas pessoas curiosas que acreditam que o acesso à informação não deve depender do seu orçamento.


Início Rápido```bash

1. Clone the repo

git clone https://github.com/calesthio/Crucix.git cd Crucix

2. Install dependencies (just Express)

npm install

3. Copy env template and add your API keys (see below)

cp .env.example .env

4. Start the dashboard

npm run dev

root@kitploit:~
> **Se `npm run dev` falha silenciosamente** (sai sem saída), execute o Node diretamente:
> ```bash
> node --trace-warnings server.mjs
> ```
> Isso ignora o executor de scripts do npm, que pode engolir erros em alguns sistemas (particularmente PowerShell no Windows). Você também pode executar `node diag.mjs` para diagnosticar o problema exato — ele verifica sua versão do Node, testa cada importação de módulo individualmente e verifica a disponibilidade da porta. Veja [Solução de problemas](#troubleshooting) para mais informações.

O painel abre automaticamente em `http://localhost:3117` e imediatamente inicia sua primeira varredura de inteligência. Essa varredura inicial consulta todas as 27 fontes em paralelo e normalmente leva de 30 a 60 segundos — o painel aparecerá vazio até que a varredura termine e envie a primeira atualização de dados. Depois disso, ele atualiza automaticamente a cada 15 minutos via SSE (Eventos Enviados pelo Servidor). Nenhuma atualização manual da página é necessária.

**Requisitos:** Node.js 22+ (usa `fetch` nativo, `await` de nível superior, ESM)

### Docker```bash
git clone https://github.com/calesthio/Crucix.git
cd Crucix
cp .env.example .env    # add your API keys
docker compose up -d

Painel em http://localhost:3117. Os dados de varredura persistem em ./runs/ através de montagem de volume. Inclui um endpoint de verificação de integridade.


O Que Você Obtém

Painel ao Vivo

Um HUD autônomo no estilo Jarvis com:

  • Globo 3D WebGL (Globe.gl) com brilho atmosférico, campo de estrelas e rotação suave — além de um alternador clássico de mapa plano
  • 9 tipos de marcadores em ambas as visualizações: detecções de incêndio, tráfego aéreo, locais de radiação, pontos de estrangulamento marítimos, receptores SDR, eventos OSINT, alertas de saúde, notícias geolocalizadas, eventos de conflito
  • Arcos de corredor de voo 3D animados entre pontos de tráfego aéreo e centros globais
  • Filtros de região (Mundo, Américas, Europa, Oriente Médio, Ásia-Pacífico, África) — gira o globo ou amplia o mapa plano
  • Dados de mercado ao vivo — índices, criptomoedas, energia, commodities via Yahoo Finance (nenhuma chave de API necessária)
  • Medidores de risco — VIX, spread de alto rendimento, índice de pressão na cadeia de suprimentos
  • Feed OSINT — postagens em inglês de 17 canais de inteligência do Telegram (expansível)
  • Ticker de notícias — manchetes RSS + GDELT + postagens do Telegram mescladas, com rolagem automática
  • Delta de varredura — painel ao vivo mostrando o que mudou desde a última varredura (novos sinais, escaladas, desescaladas com gravidade)
  • Sinais entre fontes — inteligência correlacionada entre domínios de satélite, econômico, conflito e social
  • Vigilância nuclear — leituras de radiação em tempo real do Safecast + EPA RadNet
  • Vigilância espacial — rastreamento de satélites CelesTrak: lançamentos recentes, ISS, constelações militares, contagens Starlink/OneWeb
  • Ideias alavancáveis — ideias de negociação geradas por IA (com LLM) ou ideias correlacionadas a sinais (sem)

Modos de Desempenho

O botão VISUALS FULL / VISUALS LITE na barra superior apenas altera o comportamento de renderização - ele não remove fontes de dados nem reduz a cobertura da varredura.

Quando você alterna para VISUALS LITE, o painel:

  • Desativa efeitos de fundo decorativos, como sobreposições radiais/grid e scanlines
  • Remove efeitos caros de blur/backdrop-filter em painéis e sobreposições
  • Para animações não essenciais, como o piscar do anel do logotipo, anéis de conflito e efeitos de fluxo de corredor
  • Desativa a rotação automática do globo e desliga os traços animados dos arcos de voo
  • Converte o ticker de notícias horizontal e o stream OSINT em listas estáticas e roláveis, em vez de marquees animadas continuamente

Comportamento específico para dispositivos móveis:

  • Em dispositivos móveis, VISUALS LITE também força o painel para o modo de mapa plano se você estiver atualmente no globo
  • Carregamentos futuros em dispositivos móveis continuarão a iniciar no modo plano enquanto o modo de baixa performance estiver ativado

A preferência é salva no armazenamento local do navegador, para que a interface se lembre da sua última configuração.

Atualização Automática

O servidor executa um ciclo de varredura a cada 15 minutos (configurável). Cada ciclo:

  1. Consulta todas as 27 fontes em paralelo (~30s)
  2. Sintetiza os dados brutos no formato do painel
  3. Calcula o delta em relação à execução anterior (o que mudou, escalou, desescalou) — visível no painel Sweep Delta no painel
  4. Gera ideias de negociação LLM (se configurado)
  5. Avalia alertas de notícias de última hora — multicamadas (FLASH / PRIORITY / ROUTINE) com desduplicação semântica. Envia para Telegram e/ou Discord se configurado. Funciona com avaliação LLM ou recorre a alertas baseados em regras quando o LLM não está disponível.
  6. Envia atualização para todos os navegadores conectados via SSE

Bot do Telegram (Bidirecional)

Crucix também funciona como um bot interativo do Telegram. Além de enviar alertas, ele responde a comandos diretamente do seu chat:

Isso requer TELEGRAM_BOT_TOKEN e TELEGRAM_CHAT_ID no .env. O bot verifica mensagens a cada 5 segundos (configurável via TELEGRAM_POLL_INTERVAL).

Bot do Discord (Bidirecional)

Crucix também oferece suporte ao Discord como um bot completo com comandos de barra e alertas rich embed. Ele espelha as capacidades do bot do Telegram com formatação nativa do Discord.

ComandoO Que Faz
/statusSaúde do sistema, horário da última varredura, status das fontes, status do LLM

Os alertas são entregues como rich embeds com barras laterais codificadas por cores: vermelho para FLASH, amarelo para PRIORITY, azul para ROUTINE. Cada embed inclui detalhes do sinal, pontuações de confiança e correlações entre domínios.

Configuração requer: DISCORD_BOT_TOKEN, DISCORD_CHANNEL_ID e opcionalmente DISCORD_GUILD_ID para registro instantâneo de comandos de barra. Consulte Configuração de Chaves de API para detalhes.

Fallback via Webhook: Se você não quiser executar um bot completo, defina DISCORD_WEBHOOK_URL em vez disso. Isso permite alertas unidirecionais (sem comandos de barra) com zero dependências — nenhum discord.js necessário.

Dependência opcional: O bot completo requer discord.js. Instale-o com npm install discord.js. Se não estiver instalado, o Crucix automaticamente recai para o modo apenas webhook.

Camada LLM Opcional

Conecte qualquer um dos 8 provedores de LLM para análise aprimorada:

  • Ideias de negociação com IA — analista quantitativo produzindo 5-8 ideias acionáveis citando dados específicos
  • Avaliação de alertas mais inteligente — LLM classifica sinais em níveis FLASH/PRIORITY/ROUTINE com correlação entre domínios e pontuação de confiança
  • Provedores: Anthropic Claude, OpenAI, Google Gemini, OpenRouter (Unified API), OpenAI Codex (assinatura ChatGPT), MiniMax, Mistral, Grok
  • Fallback gracioso — quando o LLM não está disponível, um mecanismo baseado em regras assume a avaliação dos alertas. Falhas do LLM nunca travam o ciclo de varredura.

Configuração de Chaves de API

Copie .env.example para .env na raiz do projeto:```bash cp .env.example .env

root@kitploit:~
### Necessário para Melhores Resultados (todos gratuitos)

| Chave | Fonte | Como Obter |
|-----|--------|------------|
| `FRED_API_KEY` | Federal Reserve Economic Data | [fred.stlouisfed.org](https://fred.stlouisfed.org/docs/api/api_key.html) — instantâneo, gratuito |
| `FIRMS_MAP_KEY` | NASA FIRMS (dados de satélite de incêndios) | [firms.modaps.eosdis.nasa.gov](https://firms.modaps.eosdis.nasa.gov/api/area/) — instantâneo, gratuito |
| `EIA_API_KEY` | US Energy Information Administration | [api.eia.gov](https://www.eia.gov/opendata/register.php) — instantâneo, gratuito |

Estas três desbloqueiam os dados económicos e de satélite mais valiosos. Cada uma leva cerca de 60 segundos para registar.

### Opcional (ativar fontes adicionais)

| Chave | Fonte | Como Obter |
|-----|--------|------------|
| `ACLED_EMAIL` + `ACLED_PASSWORD` | Dados de eventos de conflito armado | [acleddata.com/register](https://acleddata.com/register/) — gratuito, OAuth2 |
| `AISSTREAM_API_KEY` | Rastreamento marítimo AIS de embarcações | [aisstream.io](https://aisstream.io/) — gratuito |
| `ADSB_API_KEY` | Rastreamento de voos sem filtro | [RapidAPI](https://rapidapi.com/adsbexchange/api/adsbexchange-com1) — ~$10/mês |

### Provedor de LLM (opcional, para ideias melhoradas por IA)

Defina `LLM_PROVIDER` para um de: `anthropic`, `openai`, `gemini`, `codex`, `openrouter`, `minimax`, `mistral`, `grok`

| Provedor | Chave Necessária | Modelo Padrão |
|----------|-------------|---------------|
| `anthropic` | `LLM_API_KEY` | claude-sonnet-4-6 |
| `openai` | `LLM_API_KEY` | gpt-5.4 |
| `gemini` | `LLM_API_KEY` | gemini-3.1-pro |
| `openrouter` | `LLM_API_KEY` | openrouter/auto |
| `codex` | Nenhuma (usa `~/.codex/auth.json`) | gpt-5.3-codex |
| `minimax` | `LLM_API_KEY` | MiniMax-M2.5 |
| `mistral` | `LLM_API_KEY` | mistral-large-latest |
| `grok` | `LLM_API_KEY` | grok-4-latest |

Para Codex, execute `npx @openai/codex login` para autenticar através da sua subscrição ChatGPT.

### Bot do Telegram + Alertas (opcional)

| Chave | Como Obter |
|-----|------------|
| `TELEGRAM_BOT_TOKEN` | Crie via [@BotFather](https://t.me/BotFather) no Telegram |
| `TELEGRAM_CHAT_ID` | Obtenha via [@userinfobot](https://t.me/userinfobot) |
| `TELEGRAM_CHANNELS` | *(Opcional)* IDs de canais extra separados por vírgula para monitorizar além dos 17 canais incorporados |
| `TELEGRAM_POLL_INTERVAL` | *(Opcional)* Intervalo de polling de comandos do bot em ms (padrão: 5000) |

### Bot do Discord + Alertas (opcional)

| Chave | Como Obter |
|-----|------------|
| `DISCORD_BOT_TOKEN` | Crie no [Portal de Desenvolvedor do Discord](https://discord.com/developers/applications) → Bot → Token |
| `DISCORD_CHANNEL_ID` | Clique com o botão direito no canal do Discord (Modo de Desenvolvedor ativado) → Copiar ID do Canal |
| `DISCORD_GUILD_ID` | *(Opcional)* Clique com o botão direito no servidor → Copiar ID do Servidor. Permite o registo instantâneo de comandos slash (caso contrário, leva até 1 hora para comandos globais) |
| `DISCORD_WEBHOOK_URL` | *(Opcional)* Definições do Canal → Integrações → Webhooks → Novo Webhook → Copiar URL. Use isto para modo apenas de alertas sem um bot |

**Configuração do bot do Discord:**
1. Vá para [Portal de Desenvolvedor do Discord](https://discord.com/developers/applications) e crie uma nova aplicação
2. Vá para **Bot** → clique em **Redefinir Token** → copie o token para `DISCORD_BOT_TOKEN`
3. Em **Intenções de Gateway Privilegiadas**, ative **Intenção de Conteúdo de Mensagem**
4. Vá para **OAuth2** → **Gerador de URL** → selecione os escopos `bot` + `applications.commands` → selecione as permissões `Send Messages` + `Embed Links`
5. Copie o URL gerado e abra-o no seu navegador para convidar o bot para o seu servidor
6. Instale a dependência: `npm install discord.js`

Os alertas funcionam com ou sem um LLM tanto no Telegram como no Discord. Com um LLM configurado, a avaliação de sinais é mais rica e mais consciente do contexto. Sem um, um motor de regras determinístico avalia os sinais com base na gravidade, correlação entre domínios e contagens de sinais.

### Sem Qualquer Chave

Crucix ainda funciona com zero chaves de API. 18+ fontes não requerem qualquer autenticação. As fontes que precisam de chaves retornam erros estruturados e o resto da varredura continua normalmente.

---

## Arquitetura```
crucix/
├── server.mjs                 # Express dev server (SSE, auto-refresh, LLM, bot commands)
├── crucix.config.mjs          # Configuration with env var overrides + delta thresholds
├── diag.mjs                   # Diagnostic script — run if server fails to start
├── .env.example               # All documented env vars
├── package.json               # Runtime: express | Optional: discord.js
├── docs/                      # Screenshots for README
│
├── apis/
│   ├── briefing.mjs           # Master orchestrator — runs all 27 sources in parallel
│   ├── save-briefing.mjs      # CLI: save timestamped + latest.json
│   ├── BRIEFING_PROMPT.md     # Intelligence synthesis protocol
│   ├── BRIEFING_TEMPLATE.md   # Briefing output structure
│   ├── utils/
│   │   ├── fetch.mjs          # safeFetch() — timeout, retries, abort, auto-JSON
│   │   └── env.mjs            # .env loader (no dotenv dependency)
│   └── sources/               # 27 self-contained source modules
│       ├── gdelt.mjs          # Each exports briefing() → structured data
│       ├── fred.mjs           # Can run standalone: node apis/sources/fred.mjs
│       ├── space.mjs          # CelesTrak satellite tracking
│       ├── yfinance.mjs       # Yahoo Finance — free live market data
│       └── ...                # 23 more
│
├── dashboard/
│   ├── inject.mjs             # Data synthesis + standalone HTML injection
│   └── public/
│       └── jarvis.html        # Self-contained Jarvis HUD
│
├── lib/
│   ├── llm/                   # LLM abstraction (8 providers, raw fetch, no SDKs)
│   │   ├── provider.mjs       # Base class
│   │   ├── anthropic.mjs      # Claude
│   │   ├── openai.mjs         # GPT
│   │   ├── gemini.mjs         # Gemini
│   │   ├── grok.mjs           # Grok
│   │   ├── openrouter.mjs     # OpenRouter (Unified API)
│   │   ├── codex.mjs          # Codex (ChatGPT subscription)
│   │   ├── minimax.mjs        # MiniMax (M2.5, 204K context)
│   │   ├── mistral.mjs        # Mistral AI
│   │   ├── ideas.mjs          # LLM-powered trade idea generation
│   │   └── index.mjs          # Factory: createLLMProvider()
│   ├── delta/                 # Change tracking between sweeps
│   │   ├── engine.mjs         # Delta computation — semantic dedup, configurable thresholds, severity scoring
│   │   ├── memory.mjs         # Hot memory (3 runs, atomic writes) + cold storage (daily archives)
│   │   └── index.mjs          # Re-exports
│   └── alerts/
│       ├── telegram.mjs       # Multi-tier alerts (FLASH/PRIORITY/ROUTINE) + two-way bot commands
│       └── discord.mjs        # Discord bot (slash commands, rich embeds) + webhook fallback
│
└── runs/                      # Runtime data (gitignored)
    ├── latest.json            # Most recent sweep output
    └── memory/                # Delta memory (hot.json + cold/YYYY-MM-DD.json)

Princípios de Design

  • ESM puro — cada arquivo é .mjs com imports explícitos
  • Dependências mínimas — Express é a única dependência de tempo de execução. discord.js é opcional (para bot do Discord). Provedores de LLM usam fetch() bruto, sem SDKs.
  • Execução paralela — Promise.allSettled() dispara todas as 27 fontes simultaneamente
  • Degradação gradual — chaves ausentes produzem erros, não travamentos. Falhas de LLM não matam varreduras.
  • Cada fonte é independente — execute node apis/sources/gdelt.mjs para testar qualquer fonte individualmente
  • Painel autocontido — o arquivo HTML funciona com ou sem o servidor

Fontes de Dados (27)

Nível 1: OSINT Central e Geopolítico (11)

Nível 2: Econômico e Financeiro (7)

Nível 3: Clima, Meio Ambiente, Tecnologia, Social, SIGINT (7)

Nível 4: Espaço e Satélites (1)

FonteO que RastreiaAutenticação
CelesTrakLançamentos de satélites, rastreamento da ISS, constelações militares, contagens de Starlink/OneWebNenhum

Nível 5: Dados de Mercado ao Vivo (1)

FonteO que RastreiaAutenticação
Yahoo FinancePreços em tempo real: SPY, QQQ, BTC, Ouro, WTI, VIX + mais 9Nenhum

Scripts npm


Configuração

Todas as configurações estão em .env com padrões sensatos:

Os limiares do mecanismo delta (quão sensível o sistema é a mudanças entre varreduras) podem ser personalizados em crucix.config.mjs na seção delta.thresholds. Os padrões são ajustados para filtrar ruídos enquanto capturam movimentos significativos.


Endpoints da API

Ao executar npm run dev:

EndpointDescrição
GET /Painel Jarvis HUD
GET /api/data

Solução de Problemas

npm run dev sai silenciosamente (sem saída, sem erro)

Este é um problema conhecido onde o executor de script do npm pode engolir erros, particularmente no Windows PowerShell. Tente estas opções em ordem:

1. Execute o Node diretamente (ignorando o npm):```bash node --trace-warnings server.mjs

root@kitploit:~
Isto é funcionalmente idêntico a `npm run dev`, mas fornece a saída completa de erros.

**2. Execute o script de diagnóstico:**```bash
node diag.mjs

Isso testa cada importação uma a uma, verifica sua versão do Node.js e confirma se a porta 3117 está disponível. Ele informará exatamente o que está falhando.

3. Verifique se a porta 3117 já está em uso:

Uma instância anterior do Crucix pode ainda estar em execução em segundo plano.```powershell

Windows PowerShell

netstat -ano | findstr 3117 taskkill /F /PID <the_PID_from_above>

Or kill all Node processes

taskkill /F /IM node.exe

root@kitploit:~
Um arquivo de configuração base é criado na primeira execução, por exemplo:

```bash
cat dir/snickerdoodle-dog.yaml
``````bash
# macOS / Linux
lsof -ti:3117 | xargs kill

Em seguida, tente iniciar novamente. Você também pode alterar a porta definindo PORT=3118 no seu arquivo .env.

4. Verifique a versão do Node.js:```bash node --version

root@kitploit:~
O Crucix requer Node.js 22 ou posterior. Se você tiver uma versão mais antiga, baixe a LTS mais recente em [nodejs.org](https://nodejs.org/).

### O painel mostra painéis vazios após a primeira inicialização

Isso é normal — a primeira varredura leva de 30 a 60 segundos para consultar todas as 27 fontes. O painel será preenchido automaticamente assim que a varredura for concluída. Verifique o terminal para logs de progresso da varredura.

### Algumas fontes exibem erros

Comportamento esperado. Fontes que exigem chaves de API retornarão erros estruturados se a chave não estiver definida. O restante da varredura continua normalmente. Verifique a seção de Integridade da Fonte no painel (ou os logs do servidor) para ver quais fontes falharam e por quê. As 3 chaves gratuitas mais impactantes a adicionar são `FRED_API_KEY`, `FIRMS_MAP_KEY` e `EIA_API_KEY`.

O OpenSky também pode retornar `HTTP 429` quando seus hotspots públicos são consultados de forma muito agressiva. O Crucix não tenta evadir esse limite. Em vez disso, ele exibe a limitação/erro na saúde da fonte e preserva a captura de tráfego aéreo não vazia mais recente de `runs/` para que a camada de voo do painel não fique repentinamente em branco em uma varredura limitada.

### O bot do Telegram não responde a comandos

Certifique-se de que tanto `TELEGRAM_BOT_TOKEN` quanto `TELEGRAM_CHAT_ID` estejam definidos em `.env`. O bot só responde a mensagens do ID de chat configurado (medida de segurança). Você deve ver `[Crucix] Telegram alerts enabled` e `[Crucix] Bot command polling started` nos logs do servidor na inicialização. Caso contrário, verifique novamente seu token com `curl https://api.telegram.org/bot<YOUR_TOKEN>/getMe`.

### O bot do Discord não responde a comandos de barra

Verifique nesta ordem:
1. Certifique-se de que `DISCORD_BOT_TOKEN` e `DISCORD_CHANNEL_ID` estão definidos em `.env`
2. Verifique se `discord.js` está instalado: `npm ls discord.js`. Se estiver faltando, execute `npm install discord.js`
3. Se os comandos de barra não aparecerem, defina `DISCORD_GUILD_ID` — sem ele, comandos globais podem levar até 1 hora para propagar. Comandos específicos de servidor são registrados instantaneamente
4. Confirme que o bot foi convidado com os escopos `bot` + `applications.commands` e tem permissões `Send Messages` + `Embed Links` no canal alvo
5. Verifique os logs do servidor para `[Discord] Bot logged in as ...` na inicialização. Se você vir `[Discord] discord.js not installed`, instale-o e reinicie
6. **Fallback apenas com webhook:** Se você deseja apenas alertas sem comandos de barra, defina `DISCORD_WEBHOOK_URL` em vez do token do bot. Não é necessário `discord.js`.

---

## Capturas de tela

A pasta `docs/` contém capturas de tela do painel referenciadas por este README:

| Arquivo | Descrição |
|---------|-----------|
| `docs/dashboard.png` | Painel completo — imagem principal no topo deste README |
| `docs/boot.png` | Animação cinematográfica da sequência de inicialização |
| `docs/map.png` | Mapa mundial D3 com tipos de marcadores e arcos de voo |
| `docs/globe.png` | Visão 3D do globo WebGL com brilho atmosférico e marcadores |

Para atualizá-las: execute o painel, aguarde a conclusão de uma varredura, use as Ferramentas do Desenvolvedor do seu navegador (`F12` → `Ctrl+Shift+P` → "Capturar captura de tela de tamanho completo") ou uma ferramenta como [LICEcap](https://www.cockos.com/licecap/) para GIFs.

---

## Contribuindo

Encontrou um bug? Quer adicionar uma 28ª fonte? PRs são bem-vindos. Cada fonte é um módulo independente em `apis/sources/` — basta exportar uma função `briefing()` que retorna dados estruturados e adicioná-la ao orquestrador em `apis/briefing.mjs`.

Se você acha isso útil, uma estrela ajuda outros a encontrá-lo também.

Para diretrizes de contribuição, expectativas de revisão e regras de adição de fontes, veja `CONTRIBUTING.md`. Para relatórios de segurança, veja `SECURITY.md`.

## Contato

Para parcerias, integrações ou outras consultas que não sejam problemas, você pode me contatar em `[email protected]`.

Para bugs e solicitações de funcionalidades, use GitHub Issues para que a discussão permaneça visível e acionável.

---

## Histórico de Estrelas

<a href="https://www.star-history.com/#/calesthio/Crucix&Date">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=calesthio/Crucix&type=date&theme=dark" />
    <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=calesthio/Crucix&type=date" />
    <img alt="Gráfico do Histórico de Estrelas" src="https://api.star-history.com/svg?repos=calesthio/Crucix&amp;type=date" />
  </picture>
</a>

---

## Licença

AGPL-3.0
Baixar ferramenta
Visão do globo 3D
Globo
ComandoO Que Faz
/statusSaúde do sistema, horário da última varredura, status das fontes, status do LLM
/sweepAcionar um ciclo de varredura manual
/briefResumo textual compacto da inteligência mais recente (direção, métricas principais, OSINT principal)
/portfolioStatus do portfólio (se Alpaca estiver conectado)
/alertsHistórico de alertas recentes com níveis
/mute / /mute 2hSilenciar alertas por 1h (ou duração personalizada)
/unmuteRetomar alertas
/helpMostrar todos os comandos disponíveis
/sweepAcionar um ciclo de varredura manual
/briefResumo textual compacto da inteligência mais recente
/portfolioStatus do portfólio (se Alpaca estiver conectado)
FonteO que RastreiaAutenticação
GDELTEventos globais de notícias, mapeamento de conflitos (100+ idiomas)Nenhum
OpenSkyRastreamento de voos ADS-B em tempo real em 6 regiões críticasNenhum
NASA FIRMSDetecção de incêndios/anomalias térmicas por satélite (latência de 3h)Chave gratuita
Marítimo/AISRastreamento de embarcações, navios clandestinos, evasão de sançõesChave gratuita
SafecastMonitoramento de radiação por ciência cidadã perto de 6 sítios nuclearesNenhum
ACLEDEventos de conflito armado: batalhas, explosões, protestosGratuito (OAuth2)
ReliefWebRastreamento de crises humanitárias da ONUNenhum
WHOSurtos de doenças e emergências de saúdeNenhum
OFACSanções do Tesouro dos EUA (lista SDN)Nenhum
OpenSanctionsSanções globais agregadas (30+ fontes)Parcial
ADS-B ExchangeRastreamento de voos sem filtro, incluindo militaresPago
FonteO que RastreiaAutenticação
FRED22 indicadores-chave: curva de juros, IPC, VIX, fundos federais, M2Chave gratuita
Tesouro dos EUADívida nacional, rendimentos, dados fiscaisNenhum
BLSIPC, desemprego, folhas de pagamento não agrícolas, PPINenhum
EIAPetróleo WTI/Brent, gás natural, estoquesChave gratuita
GSCPIÍndice de Pressão da Cadeia de Suprimentos Global do NY FedNenhum
USAspendingGastos federais e contratos de defesaNenhum
UN ComtradeFluxos comerciais de commodities estratégicas entre grandes potênciasNenhum
FonteO que RastreiaAutenticação
NOAA/NWSAlertas meteorológicos ativos nos EUANenhum
EPA RadNetMonitoramento de radiação do governo dos EUANenhum
USPTO PatentesDepósitos de patentes em 7 áreas tecnológicas estratégicasNenhum
BlueskySentimento social sobre tópicos geopolíticos/de mercadoNenhum
RedditSentimento social de subreddits-chaveOAuth
Telegram17 canais selecionados de OSINT/conflito/finanças (raspagem web, expansível via config)Nenhum
KiwiSDRRede global de receptores de rádio HF (~600 receptores)Nenhum
ScriptComandoDescrição
npm run devnode --trace-warnings server.mjsIniciar painel com atualização automática
npm run sweepnode apis/briefing.mjsExecutar uma varredura única, saída JSON para stdout
npm run injectnode dashboard/inject.mjsInjetar dados mais recentes no HTML estático
npm run brief:savenode apis/save-briefing.mjsExecutar varredura + salvar JSON com timestamp
npm run diagnode diag.mjsExecutar diagnóstico (versão do Node, importações, verificação de porta)
VariávelPadrãoDescrição
PORT3117Porta do servidor do painel
REFRESH_INTERVAL_MINUTES15Intervalo de atualização automática
LLM_PROVIDERdesabilitadoanthropic, openai, gemini, codex, openrouter, minimax, mistral ou grok
LLM_API_KEY—Chave de API (não necessária para codex)
LLM_MODELpadrão por provedorSubstituir seleção de modelo
TELEGRAM_BOT_TOKENdesabilitadoPara alertas do Telegram + comandos do bot
TELEGRAM_CHAT_ID—Seu ID de chat do Telegram
TELEGRAM_CHANNELS—IDs de canais extras para monitorar (separados por vírgula)
TELEGRAM_POLL_INTERVAL5000Intervalo de consulta de comandos do bot (ms)
DISCORD_BOT_TOKENdesabilitadoPara alertas do Discord + comandos slash
DISCORD_CHANNEL_ID—Canal do Discord para alertas
DISCORD_GUILD_ID—ID do servidor (registro instantâneo de comandos slash)
DISCORD_WEBHOOK_URL—URL do webhook (fallback apenas para alertas, sem necessidade de bot)
Dados de inteligência sintetizados atuais (JSON)
GET /api/healthStatus do servidor, tempo de atividade, contagem de fontes, status do LLM
GET /eventsStream SSE para atualizações push em tempo real