Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Crucix — 您的个人情报代理。从多个数据源监测世界动态,并在发生变化时通知您。 | Kitploit
工具/GitHubGitHub/calesthio/crucix
OSINT (开源情报)侦察信息收集威胁情报学习与教育精选资源
GitHubcalesthio/crucix

Crucix

您的个人情报代理。从多个数据源监测世界动态,并在发生变化时通知您。

查看仓库
11.3k1.8k3个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

Crucix

属于你自己的情报终端。27 个数据源。一条命令。零云端。

访问在线站点:crucix.live

Live Website Open Demo

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

进入信号网络

Signal Wire Ops Room

Crucix 仪表盘

更多截图
启动序列世界地图
启动地图

在线网站: 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 认可。 请勿根据第三方帖子、私信或网站购买、推广该代币,连接钱包领取,签署交易或转账。


为什么会有这个项目

世界上大部分实时情报——卫星图像、辐射水平、冲突事件、经济指标、航班追踪、海上活动——都是公开可获取的。它们只是分散在数十个政府 API、研究机构和开放数据源中,没有人有时间逐一查看。

Crucix 将这一切汇聚到一处。不设付费墙,不锁定在企业平台,也无需安全许可。只是开放数据,在你的机器上聚合与交叉关联,每 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
> ```
> 这会绕过 npm 的脚本运行器,它在某些系统(尤其是 Windows 上的 PowerShell)上可能会吞掉错误。你也可以运行 `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 卫星追踪:近期发射、国际空间站、军用星座、Starlink/OneWeb 数量
  • 可执行思路 — AI 生成的交易思路(接入 LLM 时)或信号关联思路(未接入时)

性能模式

顶栏中的 VISUALS FULL / VISUALS LITE 按钮仅改变渲染行为 — 它不会移除数据源或减少扫描覆盖范围。

当切换到 VISUALS LITE 时,仪表板将:

  • 禁用装饰性背景效果,如径向/网格叠加层和扫描线
  • 移除面板和叠加层上开销较大的模糊/backdrop-filter 效果
  • 停止非必要动画,如 Logo 圆环闪烁、冲突光环和走廊流动效果
  • 禁用地球仪自动旋转,并关闭飞行弧线动画虚线
  • 将横向新闻滚动条和 OSINT 信息流转换为静态可滚动列表,而非持续动画的跑马灯

移动端特定行为:

  • 在移动端,VISUALS LITE 还会强制仪表板进入平面地图模式(如果你当前正使用地球仪视图)
  • 启用低性能模式后,未来移动端加载将继续以平面视图启动

该偏好设置保存在浏览器本地存储中,因此界面会记住你的上次设置。

自动刷新

服务器每 15 分钟运行一次扫描周期(可配置)。每个周期:

  1. 并行查询全部 27 个数据源(约 30 秒)
  2. 将原始数据合成为仪表板格式
  3. 计算与上次运行的增量(哪些变化、升级、降级)— 显示在仪表板的扫描增量面板中
  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,作为功能完整的机器人,提供斜杠命令和富嵌入警报。它以 Discord 原生格式镜像了 Telegram 机器人的各项功能。

命令功能
/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(统一 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) — 即时,免费 |

这三个密钥可解锁最有价值的经济与卫星数据。每个密钥注册大约只需 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 开发者门户](https://discord.com/developers/applications) → Bot → Token 创建 |
| `DISCORD_CHANNEL_ID` | 在 Discord 中右键点击频道(开启开发者模式)→ 复制频道 ID |
| `DISCORD_GUILD_ID` | *(可选)* 右键点击服务器 → 复制服务器 ID。可即时注册斜杠命令(否则全局命令最长需要 1 小时才能生效) |
| `DISCORD_WEBHOOK_URL` | *(可选)* 频道设置 → 集成 → Webhooks → 新建 Webhook → 复制 URL。在没有机器人的情况下,使用此 URL 实现仅警报模式 |

**Discord 机器人设置:**
1. 前往 [Discord 开发者门户](https://discord.com/developers/applications) 并创建新应用
2. 进入 **Bot** → 点击 **重置令牌** → 将令牌复制到 `DISCORD_BOT_TOKEN`
3. 在 **特权网关意图** 下,启用 **消息内容意图**
4. 转到 **OAuth2** → **URL 生成器** → 选择 `bot` + `applications.commands` 作用域 → 选择 **发送消息** + **嵌入链接** 权限
5. 复制生成的 URL 并在浏览器中打开,以邀请机器人加入你的服务器
6. 安装依赖项:`npm install discord.js`

无论是否配置 LLM,Telegram 和 Discord 上的警报均可正常工作。配置 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)

设计原则

  • 纯 ESM — 每个文件都是 .mjs 并带有显式导入
  • 最小依赖 — Express 是唯一的运行时依赖。discord.js 为可选(用于 Discord 机器人)。LLM 提供商使用原生 fetch(),无需 SDK。
  • 并行执行 — Promise.allSettled() 同时触发全部 27 个数据源
  • 优雅降级 — 缺失密钥会产生错误而不会崩溃。LLM 故障不会终止扫描。
  • 每个数据源独立运行 — 运行 node apis/sources/gdelt.mjs 可独立测试任意数据源
  • 自包含仪表盘 — HTML 文件无论是否启动服务器均可使用

数据源(27)

第一层:核心 OSINT 与地缘政治(11)

第二层:经济与金融(7)

第三层:天气、环境、科技、社交、SIGINT(7)

第四层:太空与卫星(1)

数据源追踪内容认证
CelesTrak卫星发射、ISS 追踪、军用星座、Starlink/OneWeb 数量无

第五层:实时市场数据(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服务器状态、运行时间、数据源数量、LLM 状态

故障排除

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

这会逐一测试每个导入,检查你的 Node.js 版本,并验证 3117 端口是否可用。它会精确地告诉你哪里出了问题。

3. 检查 3117 端口是否已被占用:

之前的 Crucix 实例可能仍在后台运行。```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:~
**Argo CD 安装版本,例如 v2.10.7**
* 在每个节点上执行的命令,用于安装 K3s Argo 配置面板
* 在每个节点上执行的命令,节点将转变为不同的节点
* - 针对控制平面节点的命令: `kubectl taint node <nodeName> node-role.kubernetes.io/control-plane:NoSchedule-`

**Argo CD 配置:**
* argo-cd 命名空间事件
* argocd-application-controller 部署日志
* argocd-applicationset-controller 部署日志
* argocd-dex-server 部署日志
* argocd-notifications-controller 部署日志
* argocd-redis 部署日志
* argocd-repo-server 部署日志
* argocd-server 部署日志
* argocd-cmd-params-cm 配置映射
* argocd-gpg-keys-cm 配置映射
* argocd-notifications-cm 配置映射
* argocd-rbac-cm 配置映射
* argocd-secret 密钥
* argocd-ssh-known-hosts-cm 配置映射
* argocd-tls-certs-cm 配置映射

**GitLab 配置:**
* `gitlab-agent` Pod 名称
* `gitlab-agent` 命名空间
* GitLab 仓库 URL
* gitlab 命名空间的 `gitlab-agent` Pod 日志
* gitlab 命名空间的 `gitlab-agent` Pod 日志(之前的)```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 版本。

### 首次启动后仪表盘显示空白面板

这是正常现象 — 首次扫描需要 30–60 秒来查询全部 27 个数据源。扫描完成后,仪表盘将自动填充数据。请查看终端中的扫描进度日志。

### 某些数据源显示错误

这是预期行为。需要 API 密钥的数据源在密钥未设置时会返回结构化错误,其余扫描会正常继续。请查看仪表盘的 Source Integrity 部分(或服务器日志),以了解哪些数据源失败及原因。最值得添加的 3 个免费密钥是 `FRED_API_KEY`、`FIRMS_MAP_KEY` 和 `EIA_API_KEY`。

当 OpenSky 的公共热点被过于频繁地查询时,它也可能返回 `HTTP 429`。Crucix 不会试图规避该限制;相反,它会在源健康状态中显示节流/错误信息,并保留 `runs/` 中最新的非空空中交通快照,这样在扫描被节流时,仪表盘的航班图层不会突然变空白。

### Telegram 机器人不响应命令

请确保已在 `.env` 中设置 `TELEGRAM_BOT_TOKEN` 和 `TELEGRAM_CHAT_ID`。机器人只响应来自已配置聊天 ID 的消息(安全措施)。启动时,您应该在服务器日志中看到 `[Crucix] Telegram alerts enabled` 和 `[Crucix] Bot command polling started`。如果没有,请使用 `curl https://api.telegram.org/bot<YOUR_TOKEN>/getMe` 仔细检查您的令牌。

### Discord 机器人不响应斜杠命令

请按以下顺序检查:
1. 确保已在 `.env` 中设置 `DISCORD_BOT_TOKEN` 和 `DISCORD_CHANNEL_ID`
2. 确认已安装 `discord.js`:`npm ls discord.js`。如果缺失,请运行 `npm install discord.js`
3. 如果斜杠命令未出现,请设置 `DISCORD_GUILD_ID` — 不设置时,全局命令可能需要长达 1 小时才能传播。服务器专属命令会立即注册
4. 确认机器人是以 `bot` + `applications.commands` 范围被邀请的,并且在目标频道中拥有“发送消息”+“嵌入链接”权限
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 地球视图 |

要更新它们:运行仪表盘,等待一次扫描完成,然后使用浏览器的开发者工具(`F12` → `Ctrl+Shift+P` → “捕获完整尺寸的屏幕截图”)或 [LICEcap](https://www.cockos.com/licecap/) 之类的工具来制作 GIF。

---

## 贡献

发现了一个 Bug?想添加第 28 个数据源?欢迎提交 PR。每个数据源都是 `apis/sources/` 中的一个独立模块 — 只需导出一个返回结构化数据的 `briefing()` 函数,并将其添加到 `apis/briefing.mjs` 中的编排器即可。

如果您觉得这个项目有用,点个 Star 也能帮助其他人发现它。

有关贡献指南、审查要求和数据源添加规则,请参阅 `CONTRIBUTING.md`。有关安全报告,请参阅 `SECURITY.md`。

## 联系方式

有关合作、集成或其他非问题类咨询,您可以通过 `[email protected]` 联系我。

对于 Bug 和功能请求,请使用 GitHub Issues,以便讨论保持可见且可操作。

---

## Star 历史

<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/placeholders/f0fc86cfe65f76d40e15aaec61704ec8220a56dc89d4be03c46f67cb31b9fa8c.svg" />
  </picture>
</a>

---

## 许可证

AGPL-3.0
下载工具
3D 地球视图
地球
命令功能
/status系统健康状态、上次扫描时间、数据源状态、LLM 状态
/sweep触发手动扫描周期
/brief最新情报的紧凑文本摘要(方向、关键指标、顶级 OSINT)
/portfolio投资组合状态(如已连接 Alpaca)
/alerts带层级的近期警报历史
/mute / /mute 2h静默警报 1 小时(或自定义时长)
/unmute恢复警报
/help显示所有可用命令
/portfolio
投资组合状态(如已连接 Alpaca)
数据源追踪内容认证
GDELT全球新闻事件、冲突地图(100+ 种语言)无
OpenSky覆盖 6 个热点地区的实时 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/布伦特原油、天然气、库存免费密钥
GSCPI纽约联储全球供应链压力指数无
USAspending联邦支出与国防合同无
UN Comtrade大国之间的战略性大宗商品贸易流向无
数据源追踪内容认证
NOAA/NWS美国实时天气警报无
EPA RadNet美国政府辐射监测无
USPTO Patents7 个战略技术领域的专利申请无
Bluesky地缘政治/市场话题的社会情绪无
Reddit来自关键 subreddit 的社会情绪OAuth
Telegram17 个精选的 OSINT/冲突/财经频道(网页抓取,可通过配置扩展)无
KiwiSDR全球高频无线电接收机网络(约 600 台接收机)无
脚本命令描述
npm run devnode --trace-warnings server.mjs启动仪表盘并自动刷新
npm run sweepnode apis/briefing.mjs执行单次扫描,将 JSON 输出到 stdout
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_PROVIDER禁用anthropic, openai, gemini, codex, openrouter, minimax, mistral 或 grok
LLM_API_KEY—API 密钥(codex 无需)
LLM_MODEL各提供商的默认值覆盖模型选择
TELEGRAM_BOT_TOKEN禁用用于 Telegram 警报与机器人命令
TELEGRAM_CHAT_ID—你的 Telegram 聊天 ID
TELEGRAM_CHANNELS—额外监控的频道 ID(以逗号分隔)
TELEGRAM_POLL_INTERVAL5000机器人命令轮询间隔(毫秒)
DISCORD_BOT_TOKEN禁用用于 Discord 警报与斜杠命令
DISCORD_CHANNEL_ID—用于警报的 Discord 频道
DISCORD_GUILD_ID—服务器 ID(即时注册斜杠命令)
DISCORD_WEBHOOK_URL—Webhook URL(仅警报回退,无需机器人)
GET /events用于实时推送更新的 SSE 流