命令行工具
calesthio/Crucix avatar
calesthio/Crucix

Crucix:把 27 个开源情报源装进一个本地仪表盘,但别指望它替你思考

您的个人情报代理。从多个数据源观察世界,并在发生变化时向您发出通知。

11,704 个 Star1,826 个 ForkJavaScriptAGPL-3.0

秒懂

它是什么?
Crucix 是一个用 Node.js 写的本地情报聚合终端,每 15 分钟并行抓取 27 个公开数据源,并通过 SSE 推送到浏览器。它适合喜欢自己掌控数据的人,但它的 AI 能力依赖你自带的 LLM API,且项目仍处于早期阶段。
适合谁用?
Crucix 适合愿意花时间配置 API 密钥、能接受每 15 分钟延迟、并且想在自己机器上运行情报面板的研究者、记者或 OSINT 爱好者。它不适合需要实时告警或零配置的人,也不适合没有 Node.js 22+ 环境、不愿碰命令行、或者对 AGPL-3.0 传染性敏感的商业团队。
能商用吗?
可以,但条件严格。AGPL-3.0 是网络 copyleft 许可证:如果别人通过网络使用你修改过的版本(例如作为托管服务),你必须以同一许可证向他们提供源代码。
还在维护吗?
在维护。仓库最近一次提交在 119 天前。
用什么语言写的?
主要是 JavaScript(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。

开源项目深度解析

它解决的是信息过载,不是信息获取

它解决的是信息过载,不是信息获取。Crucix 声称解决的问题很具体:世界上的实时情报,比如卫星火点、辐射读数、冲突事件、经济指标、航班动态,都是公开的,但分散在几十个政府 API、研究机构和开放数据源里,没人有精力逐个去查。Crucix 把这些源聚合到一个本地仪表盘上,每 15 分钟并行抓取一次,然后通过 SSE 推送到浏览器。注意,它不解决信息获取的权限问题,它假设你已经能访问这些公开源。它的卖点是省去你手动打开十几个网站的时间,把数据并排放在一个可交互的 3D 地球旁边。目标用户是研究者、记者、交易员、OSINT 分析师,或者只是好奇的人。但如果你只需要一两个数据源,比如只看航班追踪,那么直接打开 Flightradar24 或 ADS-B Exchange 可能更快,没必要跑一个 27 源的聚合器。

数据流:从 27 个源到 SSE 推送

根据 README,服务器每 15 分钟运行一次 sweep cycle,每次并行查询所有 27 个源。这个周期是可配置的,但默认值就是 15 分钟。每个周期完成后,数据通过 SSE(Server-Sent Events)推送到前端,浏览器自动刷新,不需要手动刷新页面。首次启动时,服务器会立即执行第一次 sweep,通常需要 30 到 60 秒,因为所有源是并行查询的。在这段时间内,仪表盘是空的,直到第一次数据更新推送过来。这种架构意味着前端只是渲染器,真正的逻辑在 Node.js 服务端。数据持久化方面,Docker 部署时 sweep 数据存储在 ./runs/ 目录,通过 volume mount 挂载。本地运行时,数据也写入 runs 目录,但 README 没有详细说明数据格式或保留策略。有一个健康检查端点,但文档没有给出具体路径。整体来看,数据流是单向的:源到服务器,服务器到浏览器。如果你需要双向交互,比如从手机发命令,那需要额外配置 LLM。

启动方式:一条命令,但前提是 Node 22+

快速开始很简单:git clone、npm install、cp .env.example .env、npm run dev。依赖只有 Express,这很轻量。但有一个明显的坑:如果 npm run dev 静默失败(没有输出就退出),README 建议直接用 node --trace-warnings server.mjs 绕过 npm 的脚本运行器,因为它在某些系统上会吞掉错误,尤其是 Windows 的 PowerShell。还提供了一个诊断脚本 node diag.mjs,它会检查 Node 版本、逐个测试模块导入、验证端口可用性。这暗示项目在 Windows 上可能不太顺。环境要求是 Node.js 22 以上,因为代码用了原生 fetch、顶层 await 和 ESM。如果你还在用 Node 18 或 20,那需要先升级。另外,.env 文件需要你手动添加 API 密钥,但 README 没有列出具体需要哪些密钥,只说“add your API keys”。这意味着你必须自己去读 .env.example 才能知道要配置什么。Docker 方式更直接:docker compose up -d,同样需要先复制 .env.example。

仪表盘里有什么:不只是地图

仪表盘的核心是一个 3D WebGL 地球(用 Globe.gl),带大气光晕、星空背景和自动旋转,也可以切换成平面地图。上面有 9 种标记类型:火点、航班、辐射站点、海上咽喉点、SDR 接收器、OSINT 事件、健康警报、地理定位新闻、冲突事件。还有动画的航班走廊弧线,连接空中交通热点和全球枢纽。除了地图,还有实时市场数据(通过 Yahoo Finance,不需要 API 密钥),风险仪表(VIX、高收益利差、供应链压力指数),OSINT 信息流(来自 17 个 Telegram 情报频道的英文帖子),新闻滚动条(RSS + GDELT + Telegram 合并),以及 sweep delta 面板,显示自上次扫描以来发生了什么变化,包括新信号、升级和降级,按严重程度分类。还有核辐射监测(Safecast + EPA RadNet)和太空监测(CelesTrak 卫星跟踪,包括 ISS、军事星座、Starlink/OneWeb 数量)。这些功能堆在一起,视觉上很丰富,但信息密度极高,初次使用者可能不知道先看哪里。

LLM 集成:锦上添花,但不是必须

Crucix 可以接上 LLM,变成双向情报助手。它能向 Telegram 和 Discord 推送多级警报,响应手机上的命令比如 /brief 和 /sweep,还能生成可操作的交易想法。但这里有个关键点:没有 LLM 时,它也能生成信号相关的想法,只是没有 AI 生成的那么“可操作”。README 没有说明具体支持哪个 LLM API,也没有说配置方法。这意味着一部分核心卖点(AI 生成的交易想法)需要你自带 API 密钥,而且文档在这部分很薄。另外,它推送警报到 Telegram 和 Discord,这意味着你需要自己建 bot 并配置 webhook 或 token。文档没有给出这些配置的具体步骤。所以,如果你不想折腾 LLM,Crucix 仍然是一个数据可视化工具,但它的“智能”部分就打了折扣。

性能模式与移动端:视觉降级,不是数据降级

仪表盘有一个 VISUALS FULL / VISUALS LITE 切换按钮。README 明确说这个模式只改变渲染行为,不会移除数据源或减少 sweep 覆盖。切换到 LITE 模式后,会禁用背景特效(如径向网格、扫描线),移除面板上的模糊和 backdrop-filter 效果,停止非必要的动画(如 logo 环闪烁、冲突环、走廊流动),取消地球自动旋转和航班弧线虚线动画,把新闻滚动条和 OSINT 流变成静态可滚动列表。在移动端,LITE 模式还会强制切换到平面地图,并且未来的加载会保持平面模式,直到你手动改回。这个偏好保存在浏览器 local storage 里。这设计很务实,因为 3D WebGL 在低端手机上可能很卡,但数据仍然完整。不过,如果你在手机上用 FULL 模式,可能会遇到性能问题,因为文档没有提到任何自动降级机制,只靠手动切换。

局限性与替代方案:不是实时,也不是零配置

最明显的局限是刷新频率。每 15 分钟一次,对于跟踪航班或火点来说,这不算实时。如果你需要分钟级的数据,比如紧急事件响应,那这个延迟可能不可接受。另一个问题是 API 密钥。虽然 Yahoo Finance 不需要密钥,但其他 26 个源很可能需要,README 没有明确列出哪些需要,哪些不需要。这意味着首次配置可能很繁琐。还有,项目没有发布任何 release,也没有版本号,README 里没有提到更新日志或迁移指南。这暗示项目处于早期阶段,接口可能随时变化。替代方案方面,你可以考虑用 n8n 或 Huginn 来自己编排这些数据源。n8n 是工作流自动化工具,你可以拖拽节点连接 API,设置自己的调度频率,但需要自己构建仪表盘。Huginn 是另一个自托管代理,专注于监控和触发动作,但它的界面远没有 Crucix 的 3D 地球炫酷。区别在于:Crucix 是开箱即用的聚合器,而 n8n/Huginn 是构建块,需要更多编程工作,但灵活性更高。

许可证与维护成本

Crucix 使用 AGPL-3.0 许可证。这意味着如果你修改代码并部署为网络服务,你必须向用户提供修改后的源码。对于个人使用或内部研究,这通常没问题,但如果你打算在商业产品中集成它,AGPL 的传染性可能要求你开源整个衍生作品。这不是法律建议,但你应该咨询律师。维护成本方面,由于没有 release,也没有明确的版本策略,你需要关注默认分支的提交。README 没有提到贡献指南或社区支持渠道,只有 Twitter 和 Discord 链接。考虑到项目是单仓库,依赖只有 Express,维护负担相对轻,但 27 个外部数据源的 API 可能会变化,导致某个源失效。你需要定期检查 sweep 是否成功,可能还要更新代码来适配 API 变更。

编辑结论

Crucix 适合愿意花时间配置 API 密钥、能接受每 15 分钟延迟、并且想在自己机器上运行情报面板的研究者、记者或 OSINT 爱好者。它不适合需要实时告警或零配置的人,也不适合没有 Node.js 22+ 环境、不愿碰命令行、或者对 AGPL-3.0 传染性敏感的商业团队。在采用前,先确认你的 Node 版本、检查 .env 里每个 API 密钥是否有效,并跑一次 node diag.mjs 验证所有模块导入。如果你只想看几个数据源,直接用各源的官方 API 或现成聚合服务可能更省事。Crucix 的价值在于把所有源集中到一个界面,但它目前没有发布任何稳定版本,也没有官方发布的 release 记录,所以把它当作实验性工具,而不是生产级情报平台。

官方来源

  1. Official documentation
  2. Official README
  3. Project repository
社区笔记

社区笔记