Crucix 소개
요즘 세계 곳곳에서 발생하는 분쟁, 거시 경제 지표의 변동, 위성을 통한 기후 및 화재 감지 등 방대한 양의 데이터가 끊임없이 쏟아지고 있습니다. 이러한 정보들은 대부분 정부 API나 연구 기관, 오픈 데이터 피드 등을 통해 대중에게 공개되어 있습니다. 하지만 이러한 공개 정보들은 수십 개의 각기 다른 플랫폼과 인터페이스에 파편화되어 있기 때문에, 개인이 이를 일일이 확인하고 상호 연관성을 파악하는 데는 너무 많은 시간과 노력이 소모됩니다. 정보의 흐름을 놓치지 않으려면 결국 값비싼 기업용 OSINT(공개정보 인텔리전스) 플랫폼을 구독해야 하는 경우가 많았습니다.
이러한 문제를 해결하기 위해 등장한 것이 바로 Crucix입니다. Crucix는 누구나 자신의 로컬 환경에서 직접 구축하고 실행할 수 있는 개인용 인텔리전스 터미널(Personal Intelligence Terminal) 입니다. 전 세계 27개의 오픈소스 데이터 피드를 15분마다 병렬로 수집하여 단 하나의 직관적인 대시보드에 통합해 보여줍니다. 이 프로젝트는 단순히 데이터를 긁어모으는 데 그치지 않고, 선택적으로 LLM(대규모 언어 모델) 분석 레이어를 추가할 수 있도록 설계되었습니다.
LLM이 연결된 Crucix는 방대한 데이터를 실시간으로 분석하고 중요한 변경 사항이 발생하면 즉시 사용자에게 알림을 보내는 '양방향 인텔리전스 에이전트'로 진화합니다. 클라우드 구독이나 복잡한 인프라 종속성 없이, 정보의 접근성을 극대화하고 자신만의 데이터 통제 센터를 갖고자 하는 연구원, 저널리스트, 트레이더, 그리고 일반 개발자들에게 매우 실용적이고 매력적인 솔루션을 제공합니다.
Crucix vs. 기존 클라우드 기반 모니터링 서비스와 비교
기존의 엔터프라이즈 OSINT 플랫폼이나 데이터 모니터링 서비스들은 강력하지만, 대부분 페이월(Paywall)로 제한되어 있거나 특정 보안 인가를 요구하는 등 접근성이 낮습니다. 또한, 개인의 금융 데이터나 관심 정보가 제3자의 클라우드 서버로 전송된다는 프라이버시 문제도 존재합니다.
반면 Crucix는 완전히 오픈소스로 공개되어 있으며, 사용자의 장비에서 직접 실행되는 셀프 호스팅(Self-hosted) 방식을 취합니다. 무겁고 복잡한 프레임워크 대신 Node.js와 Express만을 사용한 매우 가벼운 아키텍처를 자랑하며, 외부 클라우드 서비스에 의존하지 않으므로 지속적인 유지 비용이나 개인정보 유출 걱정 없이 안전하게 전 세계의 동향을 파악할 수 있습니다.
Crucix의 주요 기능 및 특징
27종의 글로벌 오픈 데이터 소스 통합
Crucix는 전 세계에서 발생하는 다양한 이벤트를 실시간으로 감지하기 위해 다방면의 데이터를 수집합니다:
-
위성 및 환경 데이터: NASA FIRMS를 활용한 위성 화재 감지, Safecast 및 EPA RadNet을 통한 실시간 방사능 모니터링 정보를 수집합니다.
-
우주 및 항공: CelesTrak을 통해 최근 위성 발사 기록, 국제우주정거장(ISS) 궤적, 군사 위성, Starlink/OneWeb 군집 위성 수 등 우주 상황을 추적하며, 전 세계 항공편의 비행 추적 기능도 지원합니다.
-
지정학 및 경제: ACLED의 글로벌 분쟁 데이터, GDELT의 실시간 뉴스 이벤트, 국제 제재 목록(Sanctions lists), FRED의 거시 경제 지표, 그리고 실시간 시장 가격과 텔레그램 오픈소스 피드를 통한 소셜 미디어 센티먼트 데이터를 모니터링합니다.
-
크로스 도메인 인사이트: 위성 데이터와 경제, 분쟁, 소셜 도메인 전반에 걸친 상관관계(Correlated intelligence)를 사용자가 직관적으로 도출할 수 있도록 돕습니다.
가볍고 탄력적인 기술 스택과 설계 원칙
Crucix의 백엔드는 성능과 확장성을 동시에 잡기 위해 매우 명확한 설계 원칙을 따릅니다.
-
Pure ESM 및 최소한의 의존성: 프로젝트 내의 모든 파일은 명시적인
import를 사용하는.mjs파일(순수 ECMAScript 모듈)로 작성되었습니다. 런타임 의존성으로는 Express 하나만을 사용하며, LLM API 호출에도 별도의 무거운 SDK 없이 네이티브fetch()를 사용합니다. -
병렬 스윕(Parallel Sweep) 처리: JavaScript의
Promise.allSettled()를 활용하여 27개의 모든 데이터 소스를 동시에 비동기 호출합니다. 이를 통해 지연 시간을 최소화하고 15분마다 신속하게 전체 데이터를 갱신합니다. -
우아한 성능 저하 (Graceful degradation): 특정 API 키가 누락되거나 LLM 제공 서버에 장애가 발생하더라도 전체 시스템이 크래시(Crash)되지 않습니다. 해당 소스에만 에러를 로깅하고 나머지 스윕 프로세스는 정상적으로 계속 진행됩니다.
-
독립적인 모듈화: 각 소스 수집 스크립트가 독립적으로 구성되어 있어,
node apis/sources/gdelt.mjs와 같이 단일 소스만 개별적으로 실행하고 테스트해 볼 수 있습니다. -
SSE 기반 실시간 푸시: 수동으로 새로고침할 필요 없이, Server-Sent Events (SSE) 기술을 통해 수집된 데이터의 델타(Delta)가 모든 연결된 웹 브라우저로 실시간 푸시됩니다.
AI 분석 레이어 및 다중 채널 알림 (Telegram & Discord)
대시보드를 넘어 진정한 인텔리전스 어시스턴트로 작동하게 만드는 핵심은 LLM 연동 및 메신저 통합 기능입니다.
-
스마트 알림 및 브리핑: 시스템이 수집한 데이터를 LLM에 전달하면, 상황을 분석하여 크로스 도메인 데이터를 바탕으로 한 실행 가능한 트레이딩 아이디어나 상황 요약 브리핑을 생성합니다.
-
자동 중요도 분류 및 중복 제거: 들어오는 정보들을 분석하여 FLASH, PRIORITY, ROUTINE 등 3단계(Multi-tier)로 중요도를 분류합니다. 또한 의미론적 중복 제거(Semantic dedup)를 수행하여 비슷한 내용의 경고가 폭탄처럼 쏟아지는 것을 방지합니다. (LLM이 없을 경우 규칙 기반의 알림으로 자동 폴백됩니다.)
-
양방향 봇 인터페이스: 텔레그램이나 디스코드 봇을 연동해 스마트폰에서 즉각적으로 상호작용할 수 있습니다. 예를 들어 채팅창에
/brief(브리핑 요청),/status(시스템 상태 및 소스 연동 확인),/sweep(수동 데이터 갱신 트리거) 등의 명령어를 입력하면 즉시 응답합니다. 디스코드의 경우 풍부한 임베드(Embed) 포맷과 슬래시 명령어를 완벽 지원하며, 원할 경우discord.js설치 없이 기본 Webhook만을 이용해 단방향 알림만 받을 수도 있습니다.
Crucix 설치 및 실행 가이드
Crucix를 실행하려면 네이티브 fetch 및 최상위 await 기능을 지원하는 Node.js 22 이상의 버전이 필요합니다. 터미널에서 다음 명령어를 통해 간편하게 실행할 수 있습니다.
# 저장소 복제(Clone)
git clone https://github.com/calesthio/Crucix.git
cd crucix
# 의존성 설치 (Express 등)
npm install
# 환경 변수 설정 (복사 후 내부 파일에 API 키 입력)
cp .env.example .env
# 서버 및 대시보드 실행
npm run dev
위 명령어를 실행하면 http://localhost:3117 주소로 브라우저가 자동 실행되며, 별도의 설정 없이 첫 번째 인텔리전스 스윕이 즉시 시작됩니다.
라이선스
Crucix 프로젝트는 AGPL-3.0로 공개 및 배포되고 있습니다.
Crucix 프로젝트 GitHub 저장소
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. ![]()
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ ![]()


