GitHub Explorer
📰 公众号已发布 2026-06-19

GitHub 推荐:5 个月 57K stars:独立开发者 Elie Habib 把开源情报做成了 Palantir 平替

GitHub: https://github.com/koala73/worldmonitor

一句话总结

单兵 5.3 个月 做出 57K stars 的实时全球开源情报仪表盘——65+ 数据源 + 6 垂直站点变体 + 4 平台桌面端 + 39 工具 MCP server,用 AGPLv3 把 Palantir 的能力拉到零注册墙的 web 标签页里。

值得关注的理由

  1. 产品级 OSINT 仪表盘,独立开发者的天花板:87.2% 单人贡献占比,5 个月写下 76 万行代码、4317 个 commit、48 个 tag、v2.5.23 已发布——这不是 indie hacker 的常见节奏,而是把 OSINT 从爱好做成产品的工程样本。
  2. 「关联 > 收集」的可验证工程范式:65+ 数据源不在 UI 上堆砌,而是先在 server 侧按 intelligence/conflict/military/disaster 分类,再在 client 侧用 DomainAdapter 收集 evidence → 1°×1° geo-binning 聚类 → 加权打分 → LLM 异步评估,最终输出 0-100 的 CII 分数。这套 correlation engine 是任何「多源信号聚合」产品都可迁移的架构。
  3. AI 优先 + AGENTS.md 把 AI Agent 当一等公民:仓库根目录直接放 AGENTS.md、配套 MCP server(39 工具)、WebMCP 浏览器端 registerTool,形成「人对 UI / Agent 对 MCP」的双消费通道——这是 2026 年开源产品的新样板。

项目展示

README 媒体

  1. World Monitor Dashboard — 类型: hero(2026-03 拍摄的全景仪表盘,体现「打开即动」的产品状态)
  2. Star History — 类型: 数据图(star 增长曲线,3 月爆发清晰可见)

官网媒体

  1. World Monitor OG — 类型: hero(官网社交卡片,分享预览用)

另有 在线 Demo 开箱即用、零注册;5 个垂直站点变体(tech/finance/commodity/happy/energy)+ Tauri 桌面端(Windows / macOS Apple Silicon / macOS Intel / Linux AppImage)可直接下载。

项目画像

维度数据
GitHubhttps://github.com/koala73/worldmonitor
Star / Fork57,195 / 9,135
Watcher / Open Issues / Open PRs359 / 79 / 104
代码行数769,059 行(TS 31.9% / JSON 31.1% / JS 24.4% / YAML 6.4% / CSS 3.7% / Proto 1.0%)
文件数量2,815 个
项目年龄5.3 个月(首次提交 2026-01-08)
总 commit4,317(日均 26 次,近 90 天日均 20.5 次)
贡献者97 人(主作者 Elie Habib 87.2%;Claude AI 助手 52 commits)
开发阶段密集开发(3 月单月 1505 commits 后回落到 ~300/月,但仍高频迭代)
开发模式职业项目(周末占比 34.8% / 深夜占比 21.7%,独立创始人全职创业特征)
热度定位大众热门(确定性采样显示 199 个 stargazer 集中在 2026-03-18 同一天引爆)
商业化已起步 Pro 版(public/pro + pro-test/src + issue #3504 双版本演进)
质量评级代码[优秀] 文档[优秀] 测试[充分](608 单元 + 18 E2E + 15 workflow)

作者视角:为什么存在这个项目

创始人/作者背景

Elie Habib 是 Anghami(中东北非最大音乐流媒体平台)的创始人,连续创业者。WIRED 报道《The music streaming CEO who built a global war map》记录了这一切的起点:2023 年 10 月 7 日之后,他亲身感受到「事件已经发生 → 主流媒体开始报道 → 情报社区分析出真相」这个时滞。一个 14.8 年的 GitHub 资深账户,长期 fork 了 Awesome-Geospatial、awesome-osint、OSINT-Framework 三个底层语料库的人,把多年的领域积累 + 创业执行力合在一起,做出 WorldMonitor。

这种「自身痛点驱动 + 横向技术迁移」组合,比学术研究或就业衍生项目要稀缺得多。Anghami 的流媒体后端经验(CDN 边缘缓存、降级链、A/B Testing 节流)几乎原样搬到 OSINT 领域——这正是项目工程深度的来源。

问题判断

作者看到了三个时间窗:(a) 新闻周期——事件成为新闻时已经晚了;(b) 数据丰度——单点数据源(卫星图、船舶 AIS、冲突事件)随处可得,但「一个让信号互相解释的关联界面」从未有人做出;(c) AI Agent 时代——LLM 已经能消费工具调用,但情报领域的「feed 流」还停留在给人类看的仪表盘形态,没有为 Agent 优化的接口。

时机为什么是现在?三个外因叠加:(1) Vercel Edge / Railway Relay / Tauri 2 等廉价部署平台成熟;(2) Protocol Buffers + sebuf codegen 让单源多产物(TS client + server stub + OpenAPI)成为可能;(3) 4 级 LLM 兜底链(Ollama → Groq → OpenRouter → T5)的零 API key 体验有了支撑。

解法哲学

作者用一句 「Correlation over collection」 作为整套系统的价值宣言。500+ feeds 不直接呈现给用户,而是先做语义分类、聚类、打分,最终浓缩为 0-100 的 CII(Country Instability Index)分数。作者明确选择不做的事:

  • 不做原始信息过载仪表盘
  • 不做通知轰炸(「少而准的告警」)
  • 不要求注册
  • 不强制引导页
  • 不锁定单一部署形态(web + 4 平台桌面 + 6 垂直变体)

「运行时降级而非不可用」是另一条公理:每个特性都有显式降级链——LLM 的 Ollama → Groq → OpenRouter → T5,部署平台 Vercel → Railway → Sidecar,设备 ML 的 WebGPU → WebGL → WASM+SIMD,网络层 Vercel → Cloudflare → Browser cache → Stale。每个组件坏掉,下一层兜底;最坏情况用户也能看到上一份缓存的数据,而不是空白。

战略意图

这是 Elie Habib 的核心产品而非基础设施。6 站点变体 + 4 平台桌面 + MCP server + WebMCP 浏览器内工具注册 = 完整产品矩阵。Open-core 策略明确:AGPLv3 + 商业 license 可单独购买(README 末尾 + docs/architecture/pro-monetization.md),是「不让你拿我的名字挣钱,但不拦你基于我的代码挣钱」的平衡点。

战略上还有一个隐藏重点:AGENTS.md 自身就是营销。仓库根目录直接放 AGENTS.md(而非塞进 docs),意味着项目把「对 AI Agent 友好」当作头等公民特性,与官方 MCP server(39 工具)和 WebMCP 浏览器端 registerTool 形成完整飞轮——这是 2026 年 AI 时代开源产品的差异化定位。

核心价值提炼

创新之处

1. 「Correlation over collection」关联层架构(新颖度 4/5 · 实用性 5/5 · 可迁移性 5/5)

65+ 数据源先在 server 侧做语义分类(intelligence/conflict/military/disaster),每个 domain 用独立的 DomainAdapter 在 client 侧收集 evidence → 1°×1° geo-binning 聚类 → 加权打分 → LLM 异步评估 → 输出 ConvergenceCard。Wikipedia 把这套叫「focal point detection」,但作者把它工程化到生产环境。

2. Welford online baseline + 多维度加权 + 硬楼层 CII 合成(新颖度 5/5 · 实用性 5/5 · 可迁移性 4/5)

O(1) time/space 计算 rolling mean/M2,叠加静态 baseline × 动态事件 + advisory 硬楼层 + 9 类 boost,构成 0-100 分的国家不稳定性指数。combinedScore = baselineRisk*0.40 + eventScore*0.60 + boosts,其中 eventScore = Unrest*0.25 + Conflict*0.30 + Security*0.20 + Information*0.25。民主国家 log 缩放抗议、权威国家线性放大——把情报界的 source credibility matrix 翻译成可执行代码。

3. Per-domain Edge Function cold-start 优化约 85% 提速(新颖度 3/5 · 实用性 5/5 · 可迁移性 5/5)

60+ Edge Function 从 monolith gateway 拆成 86 个 thin entry points,每个只 import 本域依赖,cold-start 从 500ms 降到 <100ms。配合 pre-push hook 强制每个 entry self-contained(无 node: 内置 import)。

4. 4 级 LLM 兜底 + Health gate(新颖度 3/5 · 实用性 5/5 · 可迁移性 5/5)

server/_shared/llm.ts 把 4 个 provider 用同一 callLlm(opts) 接口抽象,PROVIDER_CHAIN = ['ollama','groq','openrouter','generic'] 串行尝试,每级先做 isProviderAvailable() 健康门、再 fetch、超时(默认 25s)后切下一级。Ollama 还显式做了 host 白名单(仅 localhost/127.0.0.1/::1/host.docker.internal)防 SSRF。

5. AIS Relay 三水位线背压 + 2D density cell 聚合(新颖度 4/5 · 实用性 4/5 · 可迁移性 3/5)

scripts/ais-relay.cjs 实现 Low/High/Hard cap 三档水位线(默认 1000/4000/8000),超过水位线后丢弃旧消息或拒收新消息,再叠加 20000 vessel 跟踪上限 + 30 trail points/vessel + 5000 个 2°×2° density cell 的硬上限。Heap 启动时打印 heap_size_limit 作为部署健康自检。

6. Cache stampede coalescing + stale-on-error + negative caching(新颖度 3/5 · 实用性 5/5 · 可迁移性 5/5)

Redis pipeline 合并 38 个 key + in-flight promise coalescing + 5 min negative cache(API 报错时缓存错误状态防止 hammering)+ stale-while-revalidate + stale-if-error。三层降级让任何上游故障都不会让用户看到空白面板。

7. Proto-first + sebuf HTTP annotations 单源多产物(新颖度 3/5 · 实用性 5/5 · 可迁移性 4/5)

一个 .proto 文件同时生成 TS client/server stub + OpenAPI 3.1.0 spec,CI buf breaking 自动检测 schema 破坏性变更。Int64 自动映射为 number 避免 JS bigint 的不便。

8. Discriminated union marker + event delegation(新颖度 2/5 · 实用性 5/5 · 可迁移性 5/5)

所有 marker 用 _kind literal type 而非 class 继承,编译器穷尽性检查。Panel 用 setContent(html) 防抖 150ms 替换 innerHTML,事件全部 delegate 到稳定外层容器(.closest() 匹配),避免 listener 被 innerHTML 替换销毁。

可复用的模式与技巧

  1. 「Config-object 单代码库多垂直变体」模式 — 适用场景:财经/医疗/工业产品中需要「同一底座 + 不同 panel/feed/默认值」的领域产品。src/config/variants/*.ts + VITE_VARIANT env + hostname 路由是关键三件套。
  2. 「4 级 LLM 兜底 + Health gate」模式 — 适用场景:所有需要「无 API key 也能用」的 LLM feature。callLlm + PROVIDER_CHAIN + isProviderAvailable() + 链式降级是核心。
  3. 「In-flight promise coalescing + stale-on-error + negative caching」缓存三件套 — 适用场景:高 QPS 多 key 缓存层。cachedFetchJson 的实现不到 100 行,是教科书级标准答案。
  4. 「Bootstrap 双 tier 并发 hydrate」模式 — 适用场景:多数据源 SPA 首屏优化。Redis pipeline + fast/slow tier + s-maxage/stale-while-revalidate 是关键。
  5. 「Per-domain Edge Function + esbuild bundle check + import guard」Serverless cold-start 模式 — 适用场景:所有 Vercel/Cloudflare Workers 项目。
  6. 「Baseline × Event × Floor × Boost」4 段式合成评分 — 适用场景:单一数值代表复杂状态的领域(风险评分、健康评分、ESG)。
  7. 「WebGPU → WebGL → WASM+SIMD 三档浏览器 ML」模式 — 适用场景:任何想要「零成本本地 AI」体验的产品。
  8. 「Three-watermark backpressure + density cell 聚合」流式数据模式 — 适用场景:高吞吐时序+地理数据流(金融 ticks、IoT、物流轨迹)。
  9. 「Proto-first RPC with codegen」模式 — 适用场景:多端共用 API 契约。.proto + sebuf/grpc-web + buf breaking 是工具链核心,关键是 CI 校验 src/generated/ 不被手工编辑。
  10. 「Discriminated union marker + event delegation」渲染模式 — 适用场景:高频 innerHTML 局部刷新的 SPA,绕开 framework runtime 又要类型安全。

关键设计决策

决策 1:单代码库支撑 6 垂直变体 + 4 平台桌面端

问题:垂直领域差异大(市场 vs 地缘 vs 能源),但底层数据流、地图组件、缓存层 90% 重叠。

方案:src/config/variants/{full,tech,finance,commodity,energy,happy}.ts 每个变体独立导出 DEFAULT_PANELS + DEFAULT_MAP_LAYERS + FEEDS。变体由 VITE_VARIANT env 或 hostname 在运行时决定(src/main.ts 解析)。所有变体共享同一份构建产物,CDN cache hit rate 因此提升 4 倍。

Trade-off:变体配置冗余声明(每个 variant 都要重列几十个 panel 的开关),换来「零条件编译、单一 bundle、零运行时分支预测失误」。

可迁移性:高。

决策 2:Proto-first API 契约 + sebuf codegen

问题:60+ Edge Function + 34 服务域 + 34 个前端 service 文件,传统 hand-written schema 在迭代时一定会 drift。

方案:每个 domain 用 sebuf HTTP annotations 声明;make generate 经 protoc-gen-ts-client/-server/-openapiv3 三个插件生成 TS 客户端、服务端 stub、OpenAPI 3.1.0 三份产物;CI proto-check.yml + pre-push hook 检查生成产物是否过时。

Trade-off:开发者必须先 make install 装 Go 工具链才能开发(新人上手成本 +1),换来 schema 零漂移 + buf breaking 自动检测 breaking change。

可迁移性:高。

决策 3:CorrelationEngine 适配器模式 + 100ms 软时限

问题:4 个数据域(military/escalation/economic/disaster)需要独立收集信号、统一聚类打分、并并行入 LLM 评估;任何同步逻辑都会让首屏 lag。

方案:src/services/correlation-engine/engine.ts 用 DomainAdapter 接口(collectSignals/clusterSignals/scoreClusters 三段式)注册 4 个 adapter。run() 入口有 running flag 防止重入;LLM 调用走独立队列 llmInFlight 限流 3 并发 + 30min LRU cache。整次 run 100ms 是软超时(warn 不 fail),因为这不是首屏关键路径。

Trade-off:adapter 之间的「信号重复计算」未做去重(每个 adapter 自己 clusterSignals),换来各自独立的阈值与权重调整自由度。

可迁移性:高。

决策 4:Bootstrap 双 tier 并发 hydrate(38 keys → 2 HTTP round-trips)

问题:首屏要 hydrate 38 个数据 key,串行会拖 2-4s 到首屏,全并行会瞬时打爆 Redis 连接。

方案:/api/bootstrap?tier=fast + ?tier=slow 两个端点并发拉,每个用 Redis pipeline 一次拿全部 key;fast tier 用 800ms abort + s-maxage=1200(地震/航班延误),slow tier 用 s-maxage=7200(BIS/climate)。

Trade-off:negative sentinel(__WM_NEG__)让「无数据」和「尚未加载」可区分,但下游 panel 仍需写 if (key === '__WM_NEG__') 显式处理。

可迁移性:高。

竞品格局与定位

竞品对比矩阵

维度WorldMonitorPalantir Foundry/GothamGDELT ProjectBellingcat OSINT ToolkitLiveUAMap
开源AGPLv3 + 商业授权闭源数据免费 / API 收费工具集开源单站点
价格完全免费 + 可选 Pro百万美元级免费 / BigQuery 收费免费免费
实时性秒级(多源 websocket)实时15 分钟级N/A(非实时监控)实时(单议题)
覆盖范围65+ 数据源 / 56 map layersPB 级企业数据1979 至今全历史工具按需组合俄乌单议题
AI 集成4 级 LLM 兜底 + MCP 39 工具 + AGENTS.md企业级 LLM无原生 UI无无
部署形态web + 4 平台桌面 + 6 变体企业内web / API工具组合单 web
注册要求无企业签约无无无

差异化护城河

技术护城河 + 数据护城河 + 信任护城河三重叠加,竞品很难快速复制:

  • 技术护城河:proto-first + 4 级 LLM + 双 tier hydrate + 三水位背压——这些是工程深度的累积,竞品很难快速复制
  • 数据护城河:65+ 上游数据源 + 500+ feeds + server-authoritative CII——这需要长期数据运营投入,是单一项目的天然壁垒
  • 信任护城河:开源 + AGPL + 单作者「音乐流媒体 CEO 转 OSINT」个人品牌 + WIRED 报道背书

竞争风险

最可能被**Google/MSFT/Amazon 级别的「企业 OSINT SaaS」**用免费 + 集成办公套件替代;也可能被新出现的「AI-native OSINT」(如 GPT/Claude 直接做情报分析)颠覆中介价值。但 AGPL + 开源 + 持续快速迭代(v2.5.23 / 5 个月 23 个 patch release)是有效防御。

生态定位

在 Palantir(企业付费)vs Bellingcat(开源社区)vs GDELT(学术数据)vs LiveUAMap(专题)四象限中,WorldMonitor 占据「面向开发者 + AI Agent 的开源实时情报平台」这一定位。这一定位的代表性项目目前极少——可能是细分蓝海中第一个做到产品级的。

套利机会分析

  • 信息差:当前已是大众热门(57K stars / WIRED 报道 / 199 个 stargazer 同一天引爆),不是早期套利窗口;剩余机会在「深度使用 / 二开 / 部署特定主题变体」而非早期上车
  • 技术借鉴:本项目 10 个可复用模式中,「Config-object 单代码库多变体」「4 级 LLM 兜底 + Health gate」「Per-domain Edge Function + import guard」三个 ROI 最高,可直接迁移到任何「多垂直 SaaS」「LLM feature」「Serverless 项目」
  • 生态位:填补了「开源 + 平民化 + 多源融合 + AI 关联」四象限同时满足的空白——任何想做「行业 X 的 WorldMonitor」的人都可以 fork 后替换数据源和 panel 配置,6 变体机制本身就是个 vertical SaaS 模板
  • 趋势判断:5 个月仍在快速增长(v2.5.23 / 日均 13+ commits),符合「AI Agent 时代 OSINT 平民化」趋势;比 Palantir 有 1 个数量级以上的后发优势(成本 + 开源 + AI 原生)

风险与不足

  1. 测试覆盖虽充分但重构占比 0%:608 单元测试 + 18 E2E 已经做到产品级,但 commit_type_distribution 显示 0% refactor,叠加 main.css 单文件 413 次修改、App.ts 396 次修改,技术债在快速积累。商业化(Pro 版)已起步意味着后续需要系统偿还这些债以支撑付费用户
  2. 单人主导的脆弱性:Elie 一人 87.2% 占比(4389 commits)+ Claude AI 助手 52 commits 是双刃剑——工程纪律极强但 bus factor = 1;如果作者精力转移或健康问题,5 个月 26 次/天的 commit 节奏会立刻中断
  3. Pro 版边界尚未公开透明:public/pro + pro-test/src + issue #3504「Pro Version」证实商业化已起步,但具体 Pro 版 vs 免费版的功能边界、定价策略、商业授权范围在 README 中没有显式说明,对 AGPL 二次开发者是个灰色地带
  4. 数据源依赖的合规风险:65+ 上游数据源中包含 UCDP(武装冲突)、ACLED(武装冲突)等学术授权源,对商用 Pro 版可能存在授权边界问题(学术用免费 vs 商用需付费)
  5. 桌面端的稳定性仍欠打磨:issue #75「Desktop app panels not working (NODE not available)」+ issue #418「API Keys resets after each app exit」+ api/health.js 262 次修改,都指向 Tauri 2 + Node sidecar 部署陷阱还未完全填平

行动建议

如果你要用它

  • 强烈推荐作为「实时全球情报」主仪表盘——零注册、零费用、AGPLv3 可自托管,65+ 数据源覆盖广度远超 LiveUAMap / Bellingcat
  • 如果是企业部署:先评估 Pro 版 vs 商业授权的范围,对 SOC2 / 审计 / 权限有要求的话需要等待或自行改造
  • 如果做金融宏观研究:finance/commodity 变体是直接入口,配合 FRED/BIS/EIA 数据流能替代部分彭博终端需求
  • 如果做 AI Agent:MCP server(39 工具)+ WebMCP 浏览器端 registerTool + AGENTS.md 是直接消费入口

如果你要学它

重点关注以下文件/模块(按学习 ROI 排序):

  1. src/config/variants/*.ts + src/main.ts(多变体装配逻辑)—— 整套「单代码库多垂直 SaaS」范式的入口
  2. server/_shared/llm.ts(4 级 LLM 兜底 + Health gate)—— 任何 LLM feature 的标准模板
  3. src/services/correlation-engine/engine.ts(CorrelationEngine + DomainAdapter)—— 多源信号聚合的范例
  4. scripts/ais-relay.cjs(三水位线背压 + density cell 聚合)—— 高吞吐时序数据流的背压范式
  5. server/worldmonitor/(核心后端 + bootstrap 双 tier)—— Redis pipeline 合并 N round-trip 的实现
  6. proto/worldmonitor/*.proto + src/generated/(proto-first codegen)—— 多端共用契约的样板
  7. docs/architecture.mdx(414 行架构文档)—— 完整的系统设计思维导图

如果你要 fork 它

可以改进的方向:

  1. 把 Pro 版功能边界显式化(开 Pro 版功能矩阵表 + 商业授权说明文档),降低 AGPL 二开者的合规风险
  2. 把 main.css 413 次修改的单文件拆分为模块化 CSS(Tailwind / CSS Modules / vanilla-extract 任选),这是最大的技术债
  3. 引入端到端类型契约的可视化工具(如 morphism / type-spectacle),让 proto-first 的 OpenAPI 产物直接驱动前端类型生成
  4. 把 correlation engine 的 adapter 之间做信号去重(目前每个 adapter 自己 clusterSignals,会重复计算重叠信号)
  5. 增加 Pro 版的 Slack / Teams / 飞书 / 钉钉 webhook 推送(目前 alert 主要走邮件 + Telegram,扩展到国内办公套件有商业化空间)

知识入口

资源链接
DeepWikihttps://deepwiki.com/koala73/worldmonitor(完整架构概览:Manager-orchestrator 模式 + 三层架构 + 5 变体 + 4 级 LLM 兜底 + 45+ 地图层 + 60+ 面板 + 21 语言 i18n + CII 12 信号类别)
Zread.ai未收录(403 拒绝访问)
关联论文无(工程实现类,非学术研究)
在线 Demohttps://worldmonitor.app/dashboard(开箱即用、零注册)
官方文档https://worldmonitor.app/docs(架构 / 数据源 / 自托管 / API 文档齐全)
主流媒体WIRED 报道《The music streaming CEO who built a global war map》(记录 Elie Habib 从 Anghami CEO 到 OSINT 的转型故事)

相关报告