sookoothaii/IntelShed
GitHub: sookoothaii/IntelShed
面向 OSINT 分析师的本地化空间情报工作站,融合实时数据流、AI 简报与实体图谱分析,支持离网边缘部署。
Stars: 0 | Forks: 0
# IntelShed







**空间开源情报棚** (Spatial Open Intelligence Shed) —— 在 Cesium 地球上展示 OSINT 数据流、融合分析、本地 AI 对话以及可选的 Pi 边缘同步。
intelshed 专为需要本地化、离线可用平台以获取态势感知的 OSINT 分析师和安全研究人员设计。它集成了 30 多个实时数据流、FollowTheMoney 实体图谱、混合 RAG,以及带有智能体验证的 24 小时安全简报——核心功能无需依赖云端。
intelshed 是构建在现有库、数据集和工具之上的集成层。有关归属说明,请参阅 [`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md)。
`FastAPI` · `React` · `Vite` · `SQLite` · `DuckDB` · `Ollama` · `NVIDIA NIM` · `Docker` · 可选 `Pi` 边缘同步
intelshed 是 **PC 端技术栈**。它通过融合分析、24 小时安全简报和地球仪 UX 扩展了离网 Pi 工作坊([`offgrid-raspi`](https://github.com/sookoothaii/offgrid-raspi))。你可以单独在 PC 上运行 intelshed,也可以通过推/拉同步将 Pi 和 PC 一起运行(见下文)。
## 概览
| 类别 | 描述 |
|---|---|
| **地球仪** | 30+ 个实时图层 — 航班、地震、灾害、能源、海事、交通、暗网 |
| **MAP** | 通过 PMTiles 实现离线 Protomaps — 区域或全星球(约 130 GB) |
| **简报** | 24 小时安全摘要(本地 / 区域 / 全球)、监视项、预测账本、智能体循环、两阶段批判-优化 |
| **情报** | FtM 实体图谱 (DuckDB)、OpenSanctions、混合 RAG (sqlite-vec + FTS5 + RRF + BGE rerank)、GraphRAG-lite |
| **AI** | Ollama (`qwen3:8b`) + 6 个云服务提供商 (NVIDIA NIM, Groq, OpenRouter, Cerebras, SambaNova, DeepSeek);4 层反幻觉技术栈 |
| **OSINT** | 暗网 (P8, 8 个搜索引擎 + Tor)、勒索软件情报、身份枚举 (P9, 83 个平台)、Telegram SOCMINT、卫星变化检测 |
| **实体解析** | 数据集内去重 → 跨数据集关联 (Splink)、双流水线、人机协同标注、FtM 4.0 StatementEntity |
| **多智能体** | 5 智能体编排器(覆盖率 → 检索 → 空间 → 佐证 → 综合)+ 黑板 + 证据链,0 VRAM |
| **异常检测** | 针对 8 个数据流时间序列的 Isolation Forest (V4-23)、针对实时流的 River HalfSpaceTrees,仅使用 CPU |
| **预测** | 基于快照时间序列的 LightGBM 预测 (V4-19),24 小时实体计数预测 |
| **边缘** | 离网 Pi 推送传感器数据 → PC 融合 → 简报拉取回传至 Pi(增量同步 + 冲突检测) |
| **信任** | 基于规则的简报质量 + 数据流漂移 + 连接器溯源 + 路由结果账本 (`GET /api/trust`) |
| **MCP** | Cursor/Claude:13 个工具 — 简报、节点、数据流、地球仪控制 — [`docs/MCP.md`](docs/MCP.md) |
| **Docker** | 完整技术栈:backend + Caddy (TLS) + Redis — `docker compose up -d --build` |
| **定位** | 用于决策支持的态势感知 — 而非攻击工具 |
包含环境变量和设置的完整功能目录 → [`docs/FEATURES.md`](docs/FEATURES.md)
## 快速开始
**前置条件:** Docker,[Ollama](https://ollama.com/) 且已拉取模型 (`qwen3:8b`, `nomic-embed-text`),免费的 [Cesium Ion](https://ion.cesium.com/tokens) token。可选:用于云端推理模型的 [NVIDIA NIM API key](https://build.nvidia.com/)。
```
ollama pull qwen3:8b
ollama pull nomic-embed-text # required for RAG embeddings
```
### Docker(默认)
```
git clone https://github.com/sookoothaii/intelshed.git
cd intelshed
git submodule update --init --recursive # Pi sync scripts in offgrid-raspi/
cp backend/.env.example backend/.env # API keys, feature flags
cp frontend/.env.example frontend/.env # required: VITE_CESIUM_ION_TOKEN
docker compose up -d --build
```
| 服务 | URL |
|---------|-----|
| **UI** | https://localhost (接受自签名证书) |
| **API** | https://localhost/api/docs |
| **Health** | https://localhost/api/health/ping |
**API 密钥:** 使用 `docker compose exec backend python -c "import os; print(os.getenv('WORLDBASE_API_KEY','NOT_SET'))"` 获取。在需要身份验证的 endpoint 中将其作为 `X-API-Key` 请求头使用。
**Docker 注意事项:**
- `docker compose down` 可停止服务;`docker compose down -v` 还会清除数据库卷,请谨慎使用。
- Caddy 使用自签名 TLS 证书。浏览器会发出警告——请继续访问或接受证书。对于 `curl`,请使用 `-k` 跳过验证。在 Windows 上,即使加上 `-k`,`curl` 也可能返回空内容;请使用浏览器或在 PowerShell 中使用 `Invoke-WebRequest -SkipCertificateCheck`。
- 不要同时运行 venv backend 和 Docker stack,因为它们使用独立的数据库,会导致数据不一致。
- 当未在 `.env` 中显式设置时,位于 `GET /api/admin/flags` 的功能标志可能会显示为 `enabled: false`。运行时将应用 `config.py` / `features.py` 中的代码默认值。详情请参阅 [`AGENTS.md`](AGENTS.md)。
### 原生 / venv(仅限开发)
用于在没有 Docker 的情况下进行本地开发。需要 Python 3.12+,Node.js 20+。
```
git clone https://github.com/sookoothaii/intelshed.git
cd intelshed
git submodule update --init --recursive
cp backend/.env.example backend/.env
cp frontend/.env.example frontend/.env
python -m venv backend/venv
source backend/venv/bin/activate # Linux/macOS
# backend\venv\Scripts\activate # Windows
pip install -r backend/requirements.txt
# 启动 backend + frontend(参见 start.ps1 或 start.sh)
```
| 服务 | URL (venv 模式) |
|---------|-----|
| **UI** | http://localhost:5176 |
| **API** | http://localhost:8002/docs |
| **Health** | http://localhost:8002/api/health |
| **Ollama** | http://127.0.0.1:11434 |
**验证技术栈 (venv):** `./scripts/smoke-test.ps1` (Windows) 或 `./scripts/smoke-test.sh` (Linux) → 33 项检查。此脚本针对位于 `127.0.0.1:8002` 的 venv backend,而不是 Docker stack。
可选的 Python 软件包(仅限 venv,Docker 镜像已包含这些):
```
# BGE reranker (CPU 或 GPU):
pip install sentence-transformers # when RAG_RERANK=1 in backend/.env
# 异常检测 (Isolation Forest):
pip install scikit-learn # when WORLDBASE_ANOMALY_DETECTION=1
# 预测性分析 (LightGBM):
pip install lightgbm numpy # when WORLDBASE_PREDICTIVE=1
```
### MCP + Agent Bus(可选)
用于 Cursor / Claude 自动化 — 完整指南:[`docs/MCP.md`](docs/MCP.md)。
```
# backend/.env
WORLDBASE_MCP=1
WORLDBASE_MCP_WRITE=1
WORLDBASE_AGENT_BUS=1 # globe fly_to / layer toggle via MCP
# frontend/.env
VITE_WORLDBASE_AGENT_BUS=1 # HUD must be open
```
MCP endpoint:`https://localhost/api/mcp` (Docker) 或 `http://127.0.0.1:8002/api/mcp` (venv)。设置了 `WORLDBASE_API_KEY` 时需要 `X-API-Key` 请求头。启用 Agent Bus 后可使用 13 个工具。强制执行按工具划分的 RBAC 策略(读取工具 → `readonly`,写入工具 → `operator`)。
### 截图
| GLOBE | MAP | DATA | SPLIT |
|-------|-----|------|-------|
|  |  |  |  |
完整图集:[`docs/screenshots/`](docs/screenshots/README.md)
### 包含 Pi 同步的 Docker stack
Docker stack 包含 Pi 同步 endpoint。使用局域网自动检测和节点 token 启动:
```
./scripts/start-docker.sh # Linux
# .\scripts\start-docker.ps1 # Windows
```
Pi 同步详情 → [`offgrid-raspi/docs/WORLDBASE_PI_SYNC.md`](offgrid-raspi/docs/WORLDBASE_PI_SYNC.md) · Linux 迁移 → [`docs/LINUX_MIGRATION_PLAN.md`](docs/LINUX_MIGRATION_PLAN.md)
## 无需密钥的功能
大多数数据流采用失效软处理(在上游错误时使用旧缓存或空负载——地球仪不会崩溃)。
| 标签 | 图层 | 密钥 |
|-----|--------|-----|
| `no-key` | 航班 (adsb.fi / adsb.lol)、USGS、EONET、GDACS、SMARD、IODA 宕机、pegel、ISS、CelesTrak | — |
| `recommended` | NASA FIRMS 野火、Cloudflare Radar 宕机 | 免费注册 |
| `optional` | OpenSky OAuth(推荐用于完整的 ADS-B)、ENTSO-E 欧盟能源、Blitzortung 雷电、AISstream、ReliefWeb | 各异 |
| `required` | Cesium 地形/影像 | [Ion token](https://ion.cesium.com/tokens) |
Docker:`GET https://localhost/api/health` · `GET https://localhost/api/trust` · `GET https://localhost/api/credentials/status`(如果设置了 `WORLDBASE_API_KEY`,请添加 `X-API-Key` 请求头)。venv:替换为 `http://127.0.0.1:8002/api/...`。模板:`backend/.env.example`,`frontend/.env.example`。
## 架构
```
Docker mode:
┌─────────────────────────────────────────────────────────┐
│ Caddy TLS reverse proxy :443 │
│ https://localhost → SPA + /api/* proxy to backend │
└───────────────────────────┬─────────────────────────────┘
│
┌───────────────────────────▼─────────────────────────────┐
│ React + CesiumJS (+ MapLibre 2D) served by Caddy │
│ Globe · DATA · AI chat · Agent Bus · Agent Swarm │
└───────────────────────────┬─────────────────────────────┘
│ /api/*
┌───────────────────────────▼─────────────────────────────┐
│ FastAPI + SQLite + DuckDB :8002 │
│ MCP · Agent Bus · hybrid RAG · briefing agentic loop │
│ 5-agent orchestrator · anomaly detection · predictive │
│ 4-layer anti-hallucination · /api/trust · provenance │
│ Redis cache/pubsub · asyncio autopilot background │
└───────────────────────────┬─────────────────────────────┘
┌──────────────────┼──────────────────┐
▼ ▼ ▼
USGS · NASA · Ollama :11434 Pi :443/ingest
GDACS · SMARD … qwen3 + RAG (offgrid-raspi)
30+ feeds 6 cloud providers delta sync
venv mode: Caddy layer absent; Vite serves :5176, FastAPI on :8002.
```
Agent 参考 → [`AGENTS.md`](AGENTS.md) · MCP 设置 → [`docs/MCP.md`](docs/MCP.md)
## 文档
**操作与设置:**
| 文档 | 用途 |
|-----|---------|
| [`AGENTS.md`](AGENTS.md) | Runtime、endpoint、关键文件、架构说明、故障排除 |
| [`docs/FEATURES.md`](docs/FEATURES.md) | 可选功能 — 环境变量、设置、防护措施 |
| [`docs/DOCKER.md`](docs/DOCKER.md) | Docker stack 操作、故障排除 |
| [`docs/SECRETS.md`](docs/SECRETS.md) | 密钥管理 — env、vault、Cesium token |
**功能与模块:**
| 文档 | 用途 |
|-----|---------|
| [`docs/GLOBE.md`](docs/GLOBE.md) | 点击查看详情、图层、INTEL FtM、交通摄像头 |
| [`docs/DARKWEB.md`](docs/DARKWEB.md) | 暗网 OSINT (P8) — 搜索引擎、Tor 代理、OPSEC |
| [`docs/TELEGRAM.md`](docs/TELEGRAM.md) | Telegram SOCMINT (K3) — 频道、SEA 评分 |
| [`docs/INTEL_INGEST.md`](docs/INTEL_INGEST.md) | 可选的文档情报摄取 (GLiNER) |
| [`docs/FIREWALL.md`](docs/FIREWALL.md) | 精简的 prompt 防护 + 可选的 HAK_GAL 桥接 |
**路线图与迁移:**
| 文档 | 用途 |
|-----|---------|
| [`docs/WORLDBASE_ROADMAP_V4.md`](docs/WORLDBASE_ROADMAP_V4.md) | V4 路线图 — sprints、ADR、已交付功能 |
| [`docs/WORLDBASE_ROADMAP_V2.md`](docs/WORLDBASE_ROADMAP_V2.md) | 紧凑型路线图 — 已交付项参考 + 待办工作 |
| [`docs/LINUX_MIGRATION_PLAN.md`](docs/LINUX_MIGRATION_PLAN.md) | 将 intelshed 从 Windows 迁移到 Linux |
**集成:**
| 文档 | 用途 |
|-----|---------|
| [`docs/MCP.md`](docs/MCP.md) | Cursor MCP 工具、Agent Bus、Docker 网关 |
| [`offgrid-raspi/docs/WORLDBASE_PI_SYNC.md`]( ) | Pi ↔ PC 同步 |
| [`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md) | 可选的 ML 许可证、归属说明、血缘关系 |
## Pi + PC(双仓库)
| 仓库 | 角色 | 何时需要 |
|------|------|------------------|
| **[intelshed](https://github.com/sookoothaii/intelshed)** (本仓库) | Windows/Linux PC — Cesium 地球仪、30+ 数据流、Ollama + NVIDIA NIM 简报、节点 API `:8002` | 空间情报工作站;融合与 LLM 摘要 |
| **[offgrid-raspi](https://github.com/sookoothaii/offgrid-raspi)** | Raspberry Pi — 门户、传感器、mesh、离线服务 | 无市电也能生存的边缘节点;将遥测数据推送到 PC |
**协同工作:** Pi `worldbase_push` → PC `POST /api/node/ingest` · PC 简报 → Pi `GET /api/node/pull` (v3: ETag/304、SHA-256、冲突检测、`source: worldbase-pc`、简报质量) → 门户 / LCD。
**权威同步指南:** [`offgrid-raspi/docs/WORLDBASE_PI_SYNC.md`](offgrid-raspi/docs/WORLDBASE_PI_SYNC.md)
本仓库将 Pi 仓库作为 **git submodule** 附加在 `offgrid-raspi/` 目录下(包含脚本 + 同步文档)。Pi 本身单独克隆 `offgrid-raspi`;PC 克隆 `intelshed`,并在你处理推送/拉取脚本时初始化 submodule。
**PC UI — EDGE 仪表盘:** 在 HUD 中,打开 **DATA → EDGE** 查看实时 Pi 状态(CPU/RAM/磁盘/负载/运行时间、室内 DHT、服务、mesh)以及 24 小时火花线。当 `offgrid-pi` 在 5 分钟内推送过数据时,页眉将显示 **EDGE ONLINE** (`GET /api/nodes`)。
### 操作员检查
Docker 模式(如果是自签名证书请添加 `-k`,如果设置了 `WORLDBASE_API_KEY` 请添加 `-H "X-API-Key: "`):
| 检查项 | 命令 |
|-------|---------|
| 健康 | `curl -sk https://localhost/api/health/ping` |
| 节点 | `curl -sk -H "X-API-Key: " https://localhost/api/nodes` |
| 信任探测 | `curl -sk -H "X-API-Key: " https://localhost/api/trust` |
| 异常状态 | `curl -sk -H "X-API-Key: " https://localhost/api/anomalies/iso/status` |
| 图谱统计 | `curl -sk -H "X-API-Key: " https://localhost/api/intel/graph/stats` |
| Pi 拉取负载 | `curl -sk -H "X-Node-Token: " https://localhost/api/node/pull` |
| 部署推送/拉取脚本 | `./scripts/deploy-pi-sync.ps1` (Windows) |
| Pi 磁盘维护 | `sudo bash pi-disk-maintenance.sh` (在 Pi 上执行) |
venv 模式:将 `https://localhost` 替换为 `http://127.0.0.1:8002`,并省略 `-k`。
## 许可证
MIT — 有关 intelshed 核心代码的仓库条款。
可选功能(文档情报摄取、外部数据流、下载的模型)可能会引入**独立的第三方许可证**。特别是,**GLiREL 关系抽取默认被禁用**,因为它是 CC BY-NC-SA(非商业用途)。请参阅 [`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md) 和 [`docs/INTEL_INGEST.md`](docs/INTEL_INGEST.md)。
标签:AI风险缓解, AV绕过, DLL 劫持, ESC4, FastAPI, HTTP/HTTPS抓包, OSINT, React, Syscalls, 大语言模型, 态势感知, 情报分析, 搜索引擎查询, 网络诊断, 请求拦截, 逆向工具