Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Crucix — あなた専用のインテリジェンスエージェント。複数のデータソースから世界を監視し、何か変化があれば通知します。 | Kitploit
ツール/GitHubGitHub/calesthio/crucix
OSINT (オープンソースインテリジェンス)偵察情報収集脅威インテリジェンス学習と教育厳選リソース
GitHubcalesthio/crucix

Crucix

あなた専用のインテリジェンスエージェント。複数のデータソースから世界を監視し、何か変化があれば通知します。

リポジトリを見る
11.3k1.8k583ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
ウェブサイト

Crucix

あなた自身のインテリジェンス端末。27の情報源。1つのコマンド。クラウド不要。

ライブサイトを見る: crucix.live

Live Website Open Demo

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

シグナルネットワークに参加

Signal Wire Ops Room

Crucix Dashboard

その他のスクリーンショット
ブートシーケンスワールドマップ
ブートマップ

ライブウェブサイト: https://www.crucix.live/ 先に公開デモを試してから、リポジトリをクローンしてCrucixをローカルで実行してください。

Crucixは、衛星火災検知、航空機追跡、放射線監視、衛星コンステレーション追跡、経済指標、ライブ市場価格、紛争データ、制裁リスト、ソーシャルセンチメントを、27のオープンソースインテリジェンスフィードから並列で15分ごとに取得し、すべてを単一の自己完結型Jarvis風ダッシュボードに表示します。

LLMに接続すると、双方向インテリジェンスアシスタントになります。重要な変化があったときにTelegramとDiscordへ多層アラートをプッシュし、スマホから/briefや/sweepなどのコマンドに応答し、実際のクロスドメインデータに基づいた実行可能なトレードアイデアを生成します。あなたが眠っている間も世界を見守る、あなただけのアナリストです。

まずhttps://www.crucix.live/でライブデモをお試しください。フルローカルスタックが必要になったらリポジトリをクローンしてください。

クラウドなし。テレメトリなし。サブスクリプションなし。node server.mjsを実行するだけですぐに動きます。

トークン / アセットに関する警告

[!WARNING] Crucixは、公式トークン、コイン、NFT、エアドロップ、プレセール、その他のブロックチェーンベースの資産を一切ローンチしていません。 Crucixの名前、ロゴ、ブランディングを使用したトークンやデジタル資産は、Crucixとは無関係であり、Crucixによる承認も受けていません。 第三者による投稿、DM、ウェブサイトに基づいて、購入、宣伝、受け取りのためのウォレット接続、トランザクションへの署名、送金をしないでください。


これが存在する理由

世界のリアルタイムインテリジェンスの大半—衛星画像、放射線量、紛争事象、経済指標、航空機追跡、海上活動—は公開されています。ただ、それらは何十もの政府API、研究機関、オープンデータフィードに散らばっており、誰も個別に確認する時間がありません。

Crucixはそれらすべてを1つの場所にまとめます。ペイウォールの背後でもなく、エンタープライズプラットフォームに閉じ込められることもなく、機密許可も不要です。オープンデータを、あなた自身のマシンで集約・クロス相関し、15分ごとに更新するだけです。

これは、今この瞬間に世界で実際に何が起きているのかを理解したいすべての人のために作られました—研究者、ジャーナリスト、トレーダー、OSINTアナリスト、あるいは情報へのアクセスが予算に左右されるべきではないと信じる好奇心旺盛な人々のために。


クイックスタート```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:~
> **`npm run dev` が黙って失敗する場合**(出力なしで終了する場合)は、代わりに Node を直接実行してください:
> ```bash
> node --trace-warnings server.mjs
> ```
> これにより、一部のシステム(特に Windows の PowerShell)でエラーを飲み込む可能性がある npm のスクリプトランナーを回避できます。正確な問題を診断するには `node diag.mjs` を実行することもできます — Node のバージョンを確認し、各モジュールのインポートを個別にテストし、ポートの利用可能性を検証します。詳細は [トラブルシューティング](#troubleshooting) を参照してください。

ダッシュボードは `http://localhost:3117` で自動的に開き、すぐに最初のインテリジェンススイープを開始します。この初期スイープは全 27 のソースを並列にクエリし、通常 30〜60 秒かかります — スイープが完了して最初のデータ更新がプッシュされるまで、ダッシュボードは空のまま表示されます。その後、SSE(Server-Sent Events)を介して 15 分ごとに自動更新されます。手動でのページ更新は不要です。

**要件:** Node.js 22+(ネイティブ `fetch`、トップレベル `await`、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

ダッシュボードは http://localhost:3117 にあります。スイープデータはボリュームマウントを介して ./runs/ に永続化されます。ヘルスチェックエンドポイントが含まれます。


入手できるもの

ライブダッシュボード

自己完結型のJarvisスタイルHUD:

  • 3D WebGLグローブ (Globe.gl) — 大気のグロー、星空、滑らかな回転に加え、クラシックな平面マップへの切り替えも可能
  • 両ビューに対応した9種のマーカー: 火災検知、航空交通、放射線サイト、海上のチョークポイント、SDRレシーバー、OSINTイベント、健康アラート、位置情報付きニュース、紛争イベント
  • 航空交通ホットスポットと世界のハブ間を結ぶアニメーション3D飛行回廊アーク
  • 地域フィルター (世界、南北アメリカ、ヨーロッパ、中東、アジア太平洋、アフリカ) — グローブを回転させるか、平面マップをズームします
  • ライブ市場データ — Yahoo Finance 経由の指数、仮想通貨、エネルギー、商品 (APIキー不要)
  • リスクゲージ — VIX、ハイイールドスプレッド、サプライチェーン圧力指数
  • OSINTフィード — 17のTelegramインテリジェンスチャンネルからの英語投稿 (展開可能)
  • ニュースティッカー — RSS + GDELT ヘッドライン + Telegram 投稿を統合し自動スクロール
  • スイープデルタ — 前回のスイープからの変化 (重要度付きの新しいシグナル、エスカレーション、デエスカレーション) を表示するライブパネル
  • クロスソースシグナル — 衛星、経済、紛争、ソーシャルの各領域にわたる相関インテリジェンス
  • 核監視 — Safecast + EPA RadNet のリアルタイム放射線測定値
  • 宇宙監視 — CelesTrak 衛星追跡: 最近の打ち上げ、ISS、軍事コンステレーション、Starlink/OneWebの数
  • 活用可能なアイデア — AI生成のトレードアイデア (LLM使用) またはシグナル相関のアイデア (LLMなし)

パフォーマンスモード

トップバーの VISUALS FULL / VISUALS LITE ボタンはレンダリング動作のみを変更します。データソースの削除やスイープ範囲の縮小は行いません。

VISUALS LITE に切り替えると、ダッシュボードは次のようになります:

  • 放射状/グリッドオーバーレイやスキャンラインなどの装飾的な背景エフェクトを無効化
  • パネルとオーバーレイの負荷の高いぼかし/backdrop-filterエフェクトを削除
  • ロゴリングの点滅、紛争リング、コリドーフローエフェクトなどの非必須アニメーションを停止
  • グローブの自動回転を無効にし、アニメーションする飛行アークの破線をオフ
  • 横方向のニュースティッカーとOSINTストリームを、連続的にアニメーションするマーキーではなく、静的でスクロール可能なリストに変換

モバイル固有の動作:

  • モバイルでは、現在グローブを表示している場合、VISUALS LITE はダッシュボードを平面マップモードに強制します
  • 低パフォーマンスモードが有効な間、今後のモバイル読み込みは引き続き平面表示で開始されます

この設定はブラウザのローカルストレージに保存されるため、UIは最後に選択した設定を記憶します。

自動更新

サーバーは15分ごとにスイープサイクルを実行します (設定可能)。各サイクル:

  1. 全27ソースを並列でクエリ (~30秒)
  2. 生データをダッシュボード形式に合成
  3. 前回の実行からの差分 (変化、エスカレーション、デエスカレーション) を計算 — ダッシュボードの Sweep Delta パネルに表示
  4. LLMトレードアイデアを生成 (設定されている場合)
  5. 速報アラートを評価 — セマンティック重複排除付きのマルチティア (FLASH / PRIORITY / ROUTINE)。設定されていれば Telegram や Discord に送信。LLM評価を使用するか、LLMが利用できない場合はルールベースのアラート判定にフォールバック
  6. SSEを介して接続中のすべてのブラウザに更新をプッシュ

Telegramボット (双方向)

Crucixは対話型Telegramボットとしても機能します。アラートの送信に加えて、チャットから直接コマンドに応答します:

これには .env 内の TELEGRAM_BOT_TOKEN と TELEGRAM_CHAT_ID が必要です。ボットは5秒ごとにメッセージをポーリングします (TELEGRAM_POLL_INTERVAL で設定可能)。

Discordボット (双方向)

Crucixは、スラッシュコマンドとリッチ埋め込みアラートを備えたフル機能のボットとしてDiscordもサポートしています。Telegramボットの機能をDiscordネイティブのフォーマットで再現します。

コマンド機能
/statusシステムヘルス、最終スイープ時刻、ソースステータス、LLMステータス
/sweep手動スイープサイクルのトリガー
/brief

アラートは、色分けされたサイドバー付きのリッチ埋め込みで配信されます: FLASH は赤、PRIORITY は黄、ROUTINE は青。各埋め込みには、シグナルの詳細、信頼度スコア、クロスドメイン相関が含まれます。

セットアップに必要なもの: DISCORD_BOT_TOKEN、DISCORD_CHANNEL_ID、およびスラッシュコマンドの即時登録には任意で DISCORD_GUILD_ID。詳細は APIキーの設定 を参照してください。

Webhookフォールバック: フルボットを実行したくない場合は、代わりに DISCORD_WEBHOOK_URL を設定します。これにより、依存関係ゼロで一方向アラート (スラッシュコマンドなし) が有効になります — discord.js は不要です。

任意の依存関係: フルボットには discord.js が必要です。npm install discord.js でインストールしてください。インストールされていない場合、Crucixは自動的にWebhookのみのモードにフォールバックします。

オプションのLLMレイヤー

拡張分析のために8つのLLMプロバイダーのいずれかに接続します:

  • AIトレードアイデア — 特定のデータを引用して5〜8件の実行可能なアイデアを生成する定量アナリスト
  • よりスマートなアラート評価 — LLMがシグナルをFLASH/PRIORITY/ROUTINEのティアに分類し、クロスドメイン相関と信頼度スコアリングを実施
  • プロバイダー: Anthropic Claude、OpenAI、Google Gemini、OpenRouter (Unified API)、OpenAI Codex (ChatGPTサブスクリプション)、MiniMax、Mistral、Grok
  • グレースフルフォールバック — LLMが利用できない場合、ルールベースエンジンがアラート評価を引き継ぎます。LLMの障害でスイープサイクルがクラッシュすることはありません。

APIキーの設定

プロジェクトのルートで .env.example を .env にコピーしてください:```bash cp .env.example .env

root@kitploit:~
### 最良の結果に必要なもの(すべて無料)

| キー | 提供元 | 入手方法 |
|-----|--------|------------|
| `FRED_API_KEY` | Federal Reserve Economic Data | [fred.stlouisfed.org](https://fred.stlouisfed.org/docs/api/api_key.html) — 即時、無料 |
| `FIRMS_MAP_KEY` | NASA FIRMS(衛星火災データ) | [firms.modaps.eosdis.nasa.gov](https://firms.modaps.eosdis.nasa.gov/api/area/) — 即時、無料 |
| `EIA_API_KEY` | US Energy Information Administration | [api.eia.gov](https://www.eia.gov/opendata/register.php) — 即時、無料 |

この3つで、最も価値の高い経済・衛星データを利用できます。それぞれ登録に約60秒かかります。

### オプション(追加のソースを有効化)

| キー | 提供元 | 入手方法 |
|-----|--------|------------|
| `ACLED_EMAIL` + `ACLED_PASSWORD` | 武力紛争イベントデータ | [acleddata.com/register](https://acleddata.com/register/) — 無料、OAuth2 |
| `AISSTREAM_API_KEY` | 海事AIS船舶追跡 | [aisstream.io](https://aisstream.io/) — 無料 |
| `ADSB_API_KEY` | フィルタなしのフライト追跡 | [RapidAPI](https://rapidapi.com/adsbexchange/api/adsbexchange-com1) — 約 $10/月 |

### LLM プロバイダー(任意、AI 強化アイデア用)

`LLM_PROVIDER` を次のいずれかに設定します: `anthropic`, `openai`, `gemini`, `codex`, `openrouter`, `minimax`, `mistral`, `grok`

| プロバイダー | 必要なキー | デフォルトモデル |
|----------|-------------|---------------|
| `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` | なし(`~/.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 |

Codex の場合、`npx @openai/codex login` を実行して、ChatGPT サブスクリプションで認証します。

### Telegram ボット+アラート(任意)

| キー | 入手方法 |
|-----|------------|
| `TELEGRAM_BOT_TOKEN` | Telegram の [@BotFather](https://t.me/BotFather) 経由で作成 |
| `TELEGRAM_CHAT_ID` | [@userinfobot](https://t.me/userinfobot) 経由で取得 |
| `TELEGRAM_CHANNELS` | *(任意)* 内蔵17チャンネルに加えて監視する、カンマ区切りの追加チャンネルID |
| `TELEGRAM_POLL_INTERVAL` | *(任意)* ボットコマンドのポーリング間隔(ミリ秒、デフォルト: 5000) |

### Discord ボット+アラート(任意)

| キー | 入手方法 |
|-----|------------|
| `DISCORD_BOT_TOKEN` | [Discord Developer Portal](https://discord.com/developers/applications) → Bot → Token で作成 |
| `DISCORD_CHANNEL_ID` | Discord でチャンネルを右クリック(開発者モードON)→ チャンネルIDをコピー |
| `DISCORD_GUILD_ID` | *(任意)* サーバーを右クリック → サーバーIDをコピー。スラッシュコマンドを即時登録できます(それ以外はグローバルコマンドで最大1時間かかります) |
| `DISCORD_WEBHOOK_URL` | *(任意)* チャンネル設定 → 連携 → Webhooks → New Webhook → URLをコピー。ボットなしのアラート専用モードに使用します |

**Discord ボットのセットアップ:**
1. [Discord Developer Portal](https://discord.com/developers/applications) にアクセスし、新しいアプリケーションを作成します
2. **Bot** → **Reset Token** をクリック → トークンを `DISCORD_BOT_TOKEN` にコピーします
3. **Privileged Gateway Intents** で **Message Content Intent** を有効にします
4. **OAuth2** → **URL Generator** に移動 → `bot` + `applications.commands` スコープを選択 → `Send Messages` + `Embed Links` 権限を選択します
5. 生成されたURLをコピーしてブラウザで開き、ボットをサーバーに招待します
6. 依存関係をインストール: `npm install discord.js`

アラートは、Telegram と Discord の両方で LLM の有無にかかわらず機能します。LLM を設定すると、シグナル評価はよりリッチでコンテキストを考慮したものになります。LLM がない場合、決定論的ルールエンジンが、重大度、クロスドメイン相関、シグナル数に基づいてシグナルを評価します。

### キーなしの場合

Crucix は API キーがゼロでも動作します。18以上のソースは認証をまったく必要としません。キーが必要なソースは構造化エラーを返し、スイープの残りは通常どおり続行されます。

---

## アーキテクチャ```
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)

設計原則

  • Pure ESM — すべてのファイルが .mjs であり、明示的なインポートを使用
  • 最小限の依存関係 — Express が唯一のランタイム依存関係。discord.js はオプション(Discord ボット用)。LLM プロバイダーは SDK ではなく生の fetch() を使用。
  • 並列実行 — Promise.allSettled() が全27ソースを同時に起動
  • グレースフルデグラデーション — キーがない場合でもクラッシュではなくエラーを生成。LLM の障害でスイープが停止することはない。
  • 各ソースはスタンドアロン — node apis/sources/gdelt.mjs を実行して任意のソースを個別にテスト可能
  • 自己完結型ダッシュボード — HTML ファイルはサーバーの有無にかかわらず動作

データソース (27)

ティア 1: コア OSINT・地政学 (11)

ティア 2: 経済・金融 (7)

ティア 3: 気象、環境、テクノロジー、ソーシャル、SIGINT (7)

ティア 4: 宇宙・衛星 (1)

ソース追跡内容認証
CelesTrak衛星打ち上げ、ISS追跡、軍事コンステレーション、Starlink/OneWeb数なし

ティア 5: ライブ市場データ (1)

ソース追跡内容認証
Yahoo Financeリアルタイム価格:SPY、QQQ、BTC、金、WTI、VIX + その他9銘柄なし

npm スクリプト


設定

すべての設定は .env にあり、適切なデフォルト値が設定されています:

Deltaエンジンのしきい値(スイープ間の変化に対するシステムの感度)は、crucix.config.mjs の delta.thresholds セクションでカスタマイズできます。デフォルト値は、意味のある変動を捉えつつノイズを除去するように調整されています。


API エンドポイント

npm run dev を実行中の場合:

エンドポイント説明
GET /Jarvis HUD ダッシュボード
GET /api/data現在の統合インテリジェンスデータ(JSON)
GET /api/health

トラブルシューティング

npm run dev が何も出力せずに終了する(出力もエラーもない)

これは、npmのスクリプトランナーがエラーを飲み込む可能性がある既知の問題で、特にWindows PowerShellで発生します。次の順序でお試しください:

1. Nodeを直接実行する(npmをバイパス)```bash node --trace-warnings server.mjs

root@kitploit:~
これは `npm run dev` と機能的に同一ですが、完全なエラー出力が得られます。

**2. 診断スクリプトを実行する:**```bash
node diag.mjs

This tests every import one by one, checks your Node.js version, and verifies port 3117 is available. It will tell you exactly what's failing.

3. Check if port 3117 is already in use:

A previous Crucix instance may still be running in the background.```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:~
Please provide the Markdown content to translate.```bash
# macOS / Linux
lsof -ti:3117 | xargs kill

それから、もう一度起動してみてください。また、.env ファイルで PORT=3118 を設定することでポートを変更することもできます。

4. Node.js のバージョンを確認する:```bash node --version

root@kitploit:~
Crucix には Node.js 22 以降が必要です。古いバージョンをお使いの場合は、[nodejs.org](https://nodejs.org/) から最新の LTS をダウンロードしてください。

### 初回起動後にダッシュボードのパネルが空になる

これは正常です — 最初のスイープは全 27 ソースへのクエリに 30〜60 秒かかります。スイープが完了すると、ダッシュボードには自動的にデータが表示されます。スイープの進行ログはターミナルで確認してください。

### 一部のソースでエラーが表示される

これは想定された動作です。API キーが必要なソースは、キーが設定されていない場合に構造化エラーを返します。残りのスイープは通常どおり続行されます。ダッシュボードの Source Integrity セクション(またはサーバーログ)で、どのソースが失敗したか、その理由を確認してください。追加すべき最も影響力のある無料キーは、`FRED_API_KEY`、`FIRMS_MAP_KEY`、`EIA_API_KEY` の 3 つです。

OpenSky は、パブリックホットスポットへのクエリが過剰に行われると `HTTP 429` を返すこともあります。Crucix はその制限を回避しようとはしません。代わりに、ソースの健全性にスロットル/エラーを表示し、スロットルがかかったスイープでもダッシュボードのフライトレイヤーが突然空白にならないよう、`runs/` 内の最新の空でない航空交通スナップショットを保持します。

### Telegram ボットがコマンドに応答しない

`TELEGRAM_BOT_TOKEN` と `TELEGRAM_CHAT_ID` の両方が `.env` に設定されていることを確認してください。ボットは設定されたチャット ID からのメッセージにのみ応答します(セキュリティ対策)。起動時にサーバーログで `[Crucix] Telegram alerts enabled` と `[Crucix] Bot command polling started` が表示されるはずです。表示されない場合は、`curl https://api.telegram.org/bot<YOUR_TOKEN>/getMe` でトークンを再確認してください。

### Discord ボットがスラッシュコマンドに応答しない

以下を順番に確認してください:
1. `DISCORD_BOT_TOKEN` と `DISCORD_CHANNEL_ID` が `.env` に設定されていることを確認してください
2. `discord.js` がインストールされているか確認してください: `npm ls discord.js`。ない場合は `npm install discord.js` を実行してください
3. スラッシュコマンドが表示されない場合は、`DISCORD_GUILD_ID` を設定してください — これがないと、グローバルコマンドの伝播に最大 1 時間かかることがあります。ギルド固有のコマンドは即座に登録されます。
4. ボットが `bot` + `applications.commands` スコープで招待され、ターゲットチャンネルで `Send Messages` + `Embed Links` 権限を持っていることを確認してください
5. 起動時にサーバーログで `[Discord] Bot logged in as ...` を確認してください。`[Discord] discord.js not installed` が表示された場合は、インストールして再起動してください
6. **Webhook のみのフォールバック:** スラッシュコマンドなしでアラートだけが必要な場合は、ボットトークンの代わりに `DISCORD_WEBHOOK_URL` を設定してください。`discord.js` は不要です

---

## スクリーンショット

`docs/` フォルダには、この README で参照されているダッシュボードのスクリーンショットが含まれています:

| ファイル | 説明 |
|------|-------------|
| `docs/dashboard.png` | ダッシュボード全体 — この README の上部にあるヒーロー画像 |
| `docs/boot.png` | 映画のような起動シーケンスのアニメーション |
| `docs/map.png` | マーカータイプとフライトアークを備えた D3 世界地図 |
| `docs/globe.png` | 大気グローとマーカーを備えた 3D WebGL 地球儀ビュー |

更新するには: ダッシュボードを実行し、スイープの完了を待ってから、ブラウザの DevTools(`F12` → `Ctrl+Shift+P` → "Capture full size screenshot")または GIF 用の [LICEcap](https://www.cockos.com/licecap/) などのツールを使用してください。

---

## コントリビューション

バグを発見しましたか? 28 番目のソースを追加したいですか? PR 歓迎です。各ソースは `apis/sources/` 内の独立したモジュールです — 構造化データを返す `briefing()` 関数をエクスポートし、`apis/briefing.mjs` のオーケストレーターに追加するだけです。

これが役に立つと思ったら、スターを付けてもらえると他の人も見つけやすくなります。

コントリビューションガイドライン、レビューの期待値、ソース追加のルールについては、`CONTRIBUTING.md` を参照してください。セキュリティ報告については、`SECURITY.md` を参照してください。

## 連絡先

パートナーシップ、統合、その他の issue 以外のお問い合わせは、`[email protected]` までご連絡ください。

バグや機能リクエストについては、ディスカッションが可視化され、対応可能な状態を保つため、GitHub Issues をご利用ください。

---

## スター履歴

<a href="https://www.star-history.com/?repos=calesthio%2FCrucix&type=date&legend=top-left">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/image?repos=calesthio/Crucix&type=date&theme=dark&legend=top-left" />
    <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/image?repos=calesthio/Crucix&type=date&legend=top-left" />
    <img alt="Star History Chart" src="https://assets.kitploit.com/production/public/readmes/41561/7cd00fa07216305d19bb2b6ece0de2b2dd36eeb2786d065aef0359159e4598a8/43d9ce4f0049392bf903058716bccb8009e9bdf415dc7e9e892487d4c1f75365-display-v1.webp" />
  </picture>
</a>

---

## ライセンス

AGPL-3.0
ツールをダウンロード
3Dグローブビュー
グローブ
コマンド機能
/statusシステムヘルス、最終スイープ時刻、ソースステータス、LLMステータス
/sweep手動スイープサイクルのトリガー
/brief最新インテリジェンスのコンパクトなテキスト要約 (方向性、主要メトリクス、主要OSINT)
/portfolioポートフォリオのステータス (Alpaca接続時)
/alertsティア付きの最近のアラート履歴
/mute / /mute 2hアラートを1時間 (またはカスタム期間) 停止
/unmuteアラートを再開
/help利用可能な全コマンドを表示
最新インテリジェンスのコンパクトなテキスト要約
/portfolioポートフォリオのステータス (Alpaca接続時)
ソース追跡内容認証
GDELT世界のニュースイベント、紛争マッピング(100以上の言語)なし
OpenSky6つのホットスポット地域にわたるリアルタイム ADS-B フライト追跡なし
NASA FIRMS衛星による火災/熱異常の検出(3時間遅延)無料キー
Maritime/AIS船舶追跡、ダークシップ(位置情報非開示船)、制裁回避無料キー
Safecast6つの原子力施設周辺の市民科学による放射線モニタリングなし
ACLED武力衝突イベント:戦闘、爆発、抗議無料(OAuth2)
ReliefWeb国連の人道危機追跡なし
WHO疾病の発生と健康危機なし
OFAC米国財務省の制裁(SDNリスト)なし
OpenSanctions集約されたグローバル制裁(30以上のソース)一部
ADS-B Exchange軍事便を含むフィルタリングなしのフライト追跡有料
ソース追跡内容認証
FRED22の主要指標:イールドカーブ、CPI、VIX、フェデラルファンド金利、M2無料キー
US Treasury国債、利回り、財政データなし
BLSCPI、失業率、非農業部門雇用者数、PPIなし
EIAWTI/ブレント原油、天然ガス、在庫無料キー
GSCPINY連銀グローバルサプライチェーン圧力指数なし
USAspending連邦支出と防衛契約なし
UN Comtrade主要国間の戦略的商品貿易フローなし
ソース追跡内容認証
NOAA/NWS米国のアクティブな気象警報なし
EPA RadNet米国政府の放射線モニタリングなし
USPTO Patents7つの戦略的テクノロジー分野における特許出願なし
Bluesky地政学・市場トピックに関するソーシャルセンチメントなし
Reddit主要subredditからのソーシャルセンチメントOAuth
Telegram17の厳選されたOSINT/紛争/金融チャンネル(Webスクレイピング、設定で拡張可能)なし
KiwiSDRグローバルHF無線受信機ネットワーク(約600台の受信機)なし
スクリプトコマンド説明
npm run devnode --trace-warnings server.mjs自動更新付きダッシュボードを起動
npm run sweepnode apis/briefing.mjs単一スイープを実行し、JSONを標準出力に出力
npm run injectnode dashboard/inject.mjs最新データを静的HTMLに注入
npm run brief:savenode apis/save-briefing.mjsスイープを実行 + タイムスタンプ付きJSONを保存
npm run diagnode diag.mjs診断を実行(Nodeバージョン、インポート、ポートチェック)
変数デフォルト説明
PORT3117ダッシュボードサーバーのポート
REFRESH_INTERVAL_MINUTES15自動更新間隔
LLM_PROVIDERdisabledanthropic、openai、gemini、codex、openrouter、minimax、mistral、または grok
LLM_API_KEY—APIキー(codexでは不要)
LLM_MODELプロバイダーごとのデフォルトモデル選択を上書き
TELEGRAM_BOT_TOKENdisabledTelegramアラートとボットコマンド用
TELEGRAM_CHAT_ID—あなたのTelegramチャットID
TELEGRAM_CHANNELS—監視する追加チャンネルID(カンマ区切り)
TELEGRAM_POLL_INTERVAL5000ボットコマンドのポーリング間隔(ms)
DISCORD_BOT_TOKENdisabledDiscordアラートとスラッシュコマンド用
DISCORD_CHANNEL_ID—アラート用Discordチャンネル
DISCORD_GUILD_ID—サーバーID(スラッシュコマンドの即時登録)
DISCORD_WEBHOOK_URL—Webhook URL(アラートのみのフォールバック、ボット不要)
サーバーステータス、稼働時間、ソース数、LLMステータス
GET /eventsライブプッシュ更新用のSSEストリーム