World Monitor 소개
World Monitor는 전 세계에 흩어진 뉴스와 지표를 한 화면에 모아 상황을 파악할 수 있게 해주는 오픈소스 정보 대시보드입니다. 국제 정세를 따라가려면 보통 여러 언론사 사이트, 금융 단말, 항공 추적 서비스를 각각 열어 두고 사람이 머릿속에서 연결해야 합니다. 흩어진 창을 오가는 동안 정작 중요한 신호는 다른 탭에 묻히기 쉽고, 어느 사건이 어느 지표와 이어지는지는 더더욱 눈에 들어오지 않습니다. World Monitor는 이 과정을 지도 한 장과 실시간 패널 묶음으로 통합해, 사건이 일어난 위치와 그에 연동되는 수치를 같은 화면에서 보게 만듭니다. 브라우저에서 바로 쓸 수 있는 웹 앱과 직접 설치해 돌리는 자체 호스팅을 모두 지원합니다.
수집 규모는 15개 카테고리에 걸친 500개 이상의 큐레이션된 뉴스 피드이며, 이 피드들은 그대로 나열되지 않고 AI를 거쳐 브리핑 형태로 종합됩니다. 데이터 출처는 지정학, 금융, 에너지, 기후, 항공, 사이버, 군사, 인프라, 뉴스 인텔리전스 분야의 외부 제공자 65곳 이상이고, 35개 소스 그룹을 대상으로 신선도 모니터가 함께 돌아갑니다. 요약을 만드는 모델은 클라우드 API에 묶여 있지 않아서, Ollama를 붙이면 API 키 없이 로컬에서 전체 기능을 돌릴 수 있습니다. 요약 외에도 군사, 경제, 재난, 긴장 고조 신호를 교차 상관(cross-stream correlation)으로 묶어 여러 흐름이 한 지점에 수렴하는 순간을 잡아내는 기능이 들어 있습니다.
프로젝트는 Elie Habib이 개발하고 있으며, 하나의 코드베이스에서 world, tech, finance, commodity, happy, energy 6개 사이트 변형(variant)이 만들어집니다. 웹 외에 Tauri 2 기반 데스크톱 앱으로도 배포되어 macOS, Windows, Linux에서 네이티브 실행이 가능하고, 25개 언어와 RTL 표기를 지원합니다. 브라우저용 화면만 있는 것이 아니라 MCP 서버와 REST API, CLI, 다국어 SDK까지 갖춰 에이전트와 스크립트에서도 같은 데이터를 끌어다 쓸 수 있습니다. 이 글에서는 화면 구성과 지도 엔진, 프로그래밍 방식 접근 경로, 설치 방법을 차례로 정리합니다.
World Monitor의 화면 구성
World Monitor의 기본 화면은 상단의 지도 영역과 하단의 실시간 패널들로 나뉩니다. 지도에는 분쟁 지역, 군사 기지, 원자력 시설, 파이프라인, 해저 케이블, 우주 발사장 같은 레이어를 켜고 끌 수 있는 토글이 붙어 있고, 각 표식은 경보 수준에 따라 색으로 구분됩니다. 하단에는 주요 방송사의 라이브 뉴스 스트림, 도시별 라이브 웹캠 그리드, 그리고 AI가 정리한 브리핑 패널이 나란히 놓입니다.
핵심 기능을 정리하면 다음과 같습니다.
- 뉴스 피드 종합: 15개 카테고리 500개 이상의 큐레이션 피드를 AI가 브리핑으로 합칩니다.
- 이중 지도 엔진: globe.gl 기반 3D 지구본과 deck.gl 기반 WebGL 평면 지도를 함께 제공하며, 지도 레이어 종류는 56가지입니다.
- 교차 흐름 상관 분석: 군사, 경제, 재난, 긴장 고조 신호가 한곳으로 수렴하는지 살핍니다.
- 국가 불안정 지수(Country Instability Index): 서버에서 산출하는 CII v8 스트레스 점수를 Tier-1 국가 31곳에 적용합니다.
- 금융 레이더: 29개 증권거래소와 원자재, 암호화폐를 다루고 7개 신호를 합친 시장 종합 지표를 제공합니다.
- 로컬 AI 실행: Ollama로 전체를 돌릴 수 있어 API 키가 필요 없습니다.
- 6개 사이트 변형: 단일 코드베이스에서 world, tech, finance, commodity, happy, energy를 만듭니다.
- 네이티브 데스크톱 앱: Tauri 2로 macOS, Windows, Linux 바이너리를 배포합니다.
- 25개 언어 지원: 해당 언어권의 원어 피드와 RTL 표기를 함께 지원합니다.
World Monitor의 지도 엔진과 레이어
지도는 3D 지구본과 평면 지도 두 가지 엔진으로 나뉩니다. 3D 지구본은 globe.gl과 Three.js로 그려지고, 평면 지도는 deck.gl과 MapLibre GL을 써서 WebGL로 렌더링됩니다. 두 엔진이 공유하는 레이어는 56종이며, 화면 왼쪽의 레이어 패널에서 개별로 켜고 끄는 구조입니다.
레이어 목록에는 분쟁 지역과 군사 기지처럼 지정학 정보에 해당하는 항목뿐 아니라, 해저 케이블, 파이프라인, 저장 시설, AI 데이터센터 같은 인프라 항목도 들어 있습니다. 항공 데이터는 ADS-B 기반 서비스인 Wingbits에서 제공받고 있습니다.
World Monitor의 기술 스택
프론트엔드는 프레임워크 없이 Vanilla TypeScript와 Vite로 구성되어 있고, 여기에 지도용 라이브러리인 globe.gl, Three.js, deck.gl, MapLibre GL이 얹혀 있습니다. 데스크톱은 Rust 기반 Tauri 2에 Node.js 사이드카를 붙인 형태입니다. AI 계층은 Ollama, Groq, OpenRouter를 선택해 쓸 수 있고, 브라우저 안에서 도는 추론(inference)에는 Transformers.js를 사용합니다.
| 구분 | 사용 기술 |
|---|---|
| 프론트엔드 | Vanilla TypeScript, Vite, globe.gl + Three.js, deck.gl + MapLibre GL |
| 데스크톱 | Tauri 2 (Rust), Node.js 사이드카 |
| AI/ML | Ollama / Groq / OpenRouter, Transformers.js (브라우저) |
| API 계약 | Protocol Buffers (프로토 290개, 서비스 35개), sebuf HTTP 어노테이션 |
| 배포 | Vercel Edge Functions (60개 이상), Railway 릴레이, Tauri, PWA |
| 캐싱 | Redis (Upstash), 3단계 캐시, CDN, 서비스 워커 |
API 계약을 Protocol Buffers로 정의해 두었다는 점이 눈에 띕니다. 프로토 파일 290개와 서비스 35개가 정의되어 있고, sebuf HTTP 어노테이션으로 HTTP 경로가 함께 기술됩니다.
World Monitor를 에이전트에서 호출하는 방법
World Monitor는 브라우저 화면뿐 아니라 에이전트와 스크립트에서 쓰이는 것을 전제로 만들어졌습니다. MCP 서버는 https://worldmonitor.app/mcp 에서 Streamable HTTP로 노출되며, tools/list 는 공개되어 있고 tools/call 은 X-WorldMonitor-Key 헤더나 OAuth로 인증합니다. REST API는 https://api.worldmonitor.app 을 기준 주소로 쓰고, 스펙은 OpenAPI 문서로 공개되어 있습니다.
CLI는 npm 패키지로 배포되며, 소스는 저장소의 cli/ 디렉토리에 있습니다.
npx worldmonitor tools # 설치 없이 실행 - 전체 MCP 도구 목록 확인 (키 불필요)
npm install -g worldmonitor # worldmonitor (별칭 wm) 명령 설치
worldmonitor risk IR --api-key wm_xxx
같은 기능을 감싼 클라이언트 라이브러리도 Python(sdk/python/), Ruby(sdk/ruby/), Go(sdk/go/) 세 가지로 제공되며, 모두 의존성이 없는(zero-dependency) 구성입니다. 에이전트가 프로젝트를 스스로 발견할 수 있도록 llms.txt와 agent-skills 매니페스트, api-catalog 파일도 함께 게시되어 있습니다.
World Monitor 설치 및 실행 방법
저장소를 받아 개발 서버를 띄우는 절차는 네 줄로 끝납니다. 환경 변수 없이도 실행되므로 처음 살펴볼 때는 별도 설정이 필요하지 않습니다.
git clone https://github.com/koala73/worldmonitor.git
cd worldmonitor
npm install
npm run dev
기본 포트는 3000번이고, .env.local 의 DEV_PORT 로 변경할 수 있습니다. 일부 데이터 소스는 자격 증명을 요구하는데, 필요한 항목은 저장소의 .env.example에 정리되어 있습니다. 특정 변형만 띄우려면 전용 스크립트를 씁니다.
npm run dev:tech # tech.worldmonitor.app
npm run dev:finance # finance.worldmonitor.app
npm run dev:commodity # commodity.worldmonitor.app
npm run dev:happy # happy.worldmonitor.app
npm run dev:energy # energy.worldmonitor.app
Vercel, Docker, 정적 배포 등 자체 호스팅 방식은 시작하기 문서에 정리되어 있습니다.
World Monitor의 라이선스
World Monitor는 AGPL-3.0-only 라이선스로 공개되어 있습니다. 개인, 연구, 교육 목적의 사용과 자체 호스팅, 포크와 수정은 모두 허용되지만, 네트워크로 서비스를 제공하는 경우를 포함해 AGPL의 카피레프트 및 소스 공개 의무를 지켜야 합니다. 상업적 사용과 SaaS 형태의 제공 역시 이 의무를 지키는 한 가능하며, 소스를 공개하지 않는 독점 사용이나 공식 브랜드 사용 권한은 별도의 상업 라이선스나 상표 허가를 받아야 합니다.
World Monitor 공식 홈페이지
World Monitor 문서 사이트
World Monitor 프로젝트 GitHub 저장소
더 읽어보기
-
DeerFlow: 웹 브라우징, 검색 엔진, MCP 등을 통합한 멀티 에이전트 리서치 어시스턴트 (feat. ByteDance)
-
Ollama Deep Researcher: Local LLM을 활용한 Web Research Assistant (feat. LangChain)
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. ![]()
이 도구를 직접 설치해 사용해보셨다면, 파이토치 한국 사용자 모임
회원들을 위해 경험이나 팁을 댓글로 남겨주세요! ![]()


