sookoothaii/IntelShed

GitHub: sookoothaii/IntelShed

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

Stars: 0 | Forks: 0

# IntelShed ![MIT](https://img.shields.io/badge/License-MIT-green?style=flat-square) ![Python](https://img.shields.io/badge/Python-3.12+-3776AB?style=flat-square&logo=python&logoColor=white) ![FastAPI](https://img.shields.io/badge/FastAPI-009688?style=flat-square&logo=fastapi&logoColor=white) ![React](https://img.shields.io/badge/React-18-61DAFB?style=flat-square&logo=react&logoColor=black) ![Cesium](https://img.shields.io/badge/Cesium-1.142-6CADDF?style=flat-square) ![Ollama](https://img.shields.io/badge/LLM-Ollama%20qwen3-black?style=flat-square) ![NVIDIA NIM](https://img.shields.io/badge/LLM-NVIDIA%20NIM%20step--3.7--flash-76B900?style=flat-square&logo=nvidia&logoColor=white) **空间开源情报棚** (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 | |-------|-----|------|-------| | ![Globe — Starlink orbits](https://static.pigsec.cn/wp-content/uploads/repos/cas/c1/c10fe9b737d116a2dd8aadec623e55359ffc2162cee7bde00944115d845e78ac.png) | ![MAP — PMTiles profile](https://static.pigsec.cn/wp-content/uploads/repos/cas/04/04e4eb6d4fd75a90f7b3099c4209052daa11dce6ef2c2693a5549d7010c994bb.png) | ![DATA — quakes feed](https://static.pigsec.cn/wp-content/uploads/repos/cas/78/788ee6543102c74f5936faa403e96d795c2fef9151e73bb6c7b4fc5dbeca601e.png) | ![SPLIT — globe + map](https://static.pigsec.cn/wp-content/uploads/repos/cas/a0/a058a91db2d7b523adb497c93f5aef7fb9adb1e32f0ceaa490905549cd1c1052.png) | 完整图集:[`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, 大语言模型, 态势感知, 情报分析, 搜索引擎查询, 网络诊断, 请求拦截, 逆向工具