闲社服务运行正常AI智能体自动化平台
g

地理空间情报

技能标识:geospatial-osint

Open-source geospatial intelligence gathering and visualization dashboard. Use when building Worldview-style spy thriller dashboards, monitoring geopolitical events, or analyzing multi-source OSINT. Covers satellite tracking, live flights (commercial + military), maritime traffic, street cameras, seismic data, and real-time visualization with post-processing effects. Supports 3D globe rendering with CRT/NVG/thermal modes, time-based replay, and multi-agent development workflows.

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 1.0.0
检测标记
后台标记通过
免费
免费获取
0
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

地理空间情报

技能名称: geospatial-osint
详细描述:

地理空间OSINT / 世界观仪表盘

本技能涵盖构建受Bilawal Sidhu世界观项目启发的实时地理空间情报仪表盘。

快速入门

核心数据源(免费)

数据源API/URL用途
ADS-B ExchangeAPI,免费密钥商业航班
ADS-B Exchange Military
API | 军用飞机 | | OpenSky Network | 免费API | 航班数据 | | MarineTraffic | 免费层级 | 船舶位置 | | CelesTrak | TLE文件 | 卫星轨道 | | n2yo.com | 免费API | 卫星过境 | | GPSJam | 静态 | GPS干扰热力图 | | Earthquakes | GeoJSON | 地震数据 | | Insecam | 公共摄像头 | 闭路电视摄像头 | | OpenStreetMap | Overpass API | 道路网络 |

付费选项(可选)

  • - Planet Labs(每日影像)
  • Maxar(高分辨率)
  • Capella Space(合成孔径雷达)
  • MarineTraffic Pro

架构

技术栈

前端: Cesium.js(3D地球)+ Three.js(特效)
数据层: 轮询API → WebSocket → 实体更新
视觉效果: 后处理(泛光、CRT、夜视、热成像)
开发: 多智能体CLI(OpenClaw、Claude等)

视觉模式

世界观支持多种渲染模式:

javascript
// 特效管线示例
const effects = {
// 夜视仪(绿色调+扫描线)
nvg: {
colorMatrix: [0,1,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1],
scanlines: true,
vignette: 0.3
},

// 热成像(热力图着色)
thermal: {
colorMap: inferno,
threshold: true
},

// CRT(扫描线+曲率+辉光)
crt: {
scanlines: 0.5,
curvature: 0.02,
bloom: 0.5
},

// 荧光(高对比度军绿色)
fluor: {
colorMatrix: [0,0.5,0,0, 0,1,0,0, 0,0.5,0,0, 0,0,0,1],
contrast: 1.5
}
};

数据层

图层数据源更新频率
卫星CelesTrak TLE定期刷新
商业航班
ADS-B / OpenSky | 约5秒 | | 军用飞机 | ADS-B Exchange军事数据 | 约5秒 | | 船舶 | MarineTraffic | 约1分钟 | | 闭路电视 | Insecam | 约1分钟 | | 道路交通 | OSM + 模拟 | 静态 + 粒子 | | 地震 | USGS | 实时 | | GPS干扰 | GPSJam | 静态/每日 |

仪表盘模板

基础Cesium设置

javascript
import * as Cesium from cesium;

const viewer = new Cesium.Viewer(container, {
terrainProvider: Cesium.createWorldTerrain(),
baseLayerPicker: false,
timeline: true,
animation: true,
sceneMode: Cesium.SceneMode.SCENE3D
});

// 启用3D建筑
viewer.scene.primitives.add(Cesium.createOsmBuildings());

// 回放时钟设置
viewer.clock.shouldAnimate = true;
viewer.clock.multiplier = 60; // 60倍速

加载航班数据

javascript
async function loadFlights(bounds) {
const response = await fetch(
https://opensky-network.org/api/states/all?lamin=${bounds.minLat}&lomin=${bounds.minLon}&lamax=${bounds.maxLat}&lomax=${bounds.maxLon}
);
const data = await response.json();

data.states.forEach(flight => {
const [icao, callsign, .., lat, lon, alt, .., velocity, heading] = flight;
// 向查看器添加实体
viewer.entities.add({
id: icao,
position: Cesium.Cartesian3.fromDegrees(lon, lat, alt),
point: { pixelSize: 5, color: getFlightColor(callsign) },
label: { text: callsign, font: 10px monospace }
});
});
}

卫星跟踪

javascript
// 加载TLE并计算位置
const satellites = await fetch(https://celestrak.org/NORAD/elements/gp.php?GROUP=visual&FORMAT=tle)
.then(r => r.text());

// 使用satellite.js进行传播
import { propagate, eciToEcf } from satellite.js;

function updateSatellite(satrec, time) {
const position = propagate(satrec, time);
const gmst = satellite.gstime(time);
const positionEcf = eciToEcf(position.position, gmst);

return {
x: positionEcf.x * 1000,
y: positionEcf.y * 1000,
z: positionEcf.z * 1000
};
}

闭路电视摄像头叠加

javascript
// Insecam - 公共摄像头
async function loadCameras(bounds) {
const response = await fetch(
https://www.insecam.org/en/by-country/XX/?page=1 // 按国家筛选
);
// 解析摄像头列表,添加为带视频纹理的实体
}

// 将摄像头投影到3D几何体上
cameraEntities.forEach(cam => {
viewer.entities.add({
position: cam.location,
billboard: {
image: cam.snapshot,
width: 320,
height: 240,
pixelOffset: new Cesium.Cartesian2(0, -120)
}
});
});

后处理特效

javascript
// 使用Cesium的PostProcessStage
const bloom = viewer.scene.postProcessStages.bloom;
bloom.enabled = true;
bloom.threshold = 0.5;
bloom.strength = 0.5;

// CRT特效自定义着色器
const crtEffect = new Cesium.PostProcessStage({
name: crt,
fragmentShader:
uniform sampler2D colorTexture;
varying vec2 v_textureCoord;
void main() {
vec4 color = texture2D(colorTexture, v_textureCoord);
// 扫描线
float scanline = sin(v_textureCoord.y 800.0) 0.04;
// 暗角
float vignette = 1.0 - length(v_textureCoord - 0.5) * 0.5;
gl_FragColor = vec4(color.rgb (1.0 - scanline) vignette, 1.0);
}

});

工作流:使用AI智能体构建

多智能体设置

并行运行多个终端:

终端1:核心3D地球 + Cesium设置
终端2:数据集成(航班、卫星)
终端3:视觉效果(着色器、后处理)
终端4:UI控件 + 相机系统

提示模板

为我的Cesium.js地理空间仪表盘构建一个[功能]。
要求:

  • - [具体行为]
  • 与现有数据层集成
  • 性能:处理[N]个实体无延迟
  • 视觉风格:[CRT/夜视/热成像/无]

性能优化技巧

javascript
// 大数据集顺序加载
async function loadSequential(data, chunkSize = 1000) {
for (let i = 0; i < data.length; i += chunkSize) {
const chunk = data.slice(i, i + chunkSize);
chunk.forEach(addEntity);
await new Promise(r => setTimeout(r, 100)); // 让出UI线程
}
}

// 使用PointPrimitiveCollection处理1万+个点
const points = viewer.scene.primitives.add(new Cesium.PointPrimitiveCollection());
points.add({ position: ..., color: ... });

区域监控

自动轮询

标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 geospatial-osint-1776199879 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 geospatial-osint-1776199879 技能

通过命令行安装

skillhub install geospatial-osint-1776199879

下载

⬇ 下载 geospatial-osint v1.0.0(免费)

文件大小: 11.11 KB | 发布时间: 2026-4-15 12:03

v1.0.0 最新 2026-4-15 12:03
- Initial release of geospatial-osint skill.
- Provides a comprehensive template and guidance for building real-time geospatial intelligence dashboards.
- Details free and paid data sources covering aviation, maritime, satellite, seismic, and CCTV data.
- Includes example integrations for Cesium.js, multi-mode visualization effects (CRT, NVG, thermal), and multi-agent development workflows.
- Offers performance tips, region monitoring scripts, and automated alerting examples for live OSINT analysis.
返回顶部