关于 Live weather and air quality (GAIA)
GAIA 是面向现实世界数据的预言机网关,提供传感器读数及其他数据能力,并为读数添加 Ed25519 证明且支持验证。适用于需要可验证天气、空气质量、能源及相关现实数据的应用。
主要功能
- 01提供天气和空气质量读数
- 02转发公共实时传感器读数
- 03使用 Ed25519 签名证明读数
- 04提供地点、电价、影像和设备能力
- 05通过兼容端点验证读数
适用场景
- 01获取当地天气或空气质量读数
- 02查询电价和低价时段
- 03获取陆地点位的卫星影像指数
- 04读取由传感器支持的设备用电数据
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://modelmarket.dev/tools/mcp/weatherclaude mcp add --transport http dev-modelmarket-weather https://modelmarket.dev/tools/mcp/weather{"mcpServers":{"dev-modelmarket-weather":{"type":"http","url":"https://modelmarket.dev/tools/mcp/weather"}}}在 Cursor 中打开{"servers":{"dev-modelmarket-weather":{"type":"http","url":"https://modelmarket.dev/tools/mcp/weather"}}}在 VS Code 中打开{"mcpServers":{"dev-modelmarket-weather":{"type":"http","url":"https://modelmarket.dev/tools/mcp/weather"}}}{"mcpServers":{"dev-modelmarket-weather":{"serverUrl":"https://modelmarket.dev/tools/mcp/weather"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
🔄 从 monorepo 同步而来 — 同时保留完整历史。
gaia镜像了规范的 AI-Factory monorepo。这里的历史只追加(不会强制推送)。 欢迎提交拉取请求 — 已合并的 PR 会导入 monorepo,并重新同步到这里,因此你的贡献会成为规范版本。 💬 欢迎提交 问题 · 拉取请求。
GAIA — 物理世界预言机网关
拥有气象站或空气质量传感器?通过你自己的 Hub + GAIA 出售读数。
对于现有的 MQTT 气象站,请参阅单站 MQTT 适配器。
GAIA 是一个物理世界预言机网关,将虚拟 IoT 设备提供的、经 Ed25519 证明的传感器读数作为付费 AIMarket v2 能力出售,并提供兼容 Metis 信封格式的
/v1/verify,以便 Hub 的“验证后付款”托管机制进行结算 —
诚实的读数会让提供方获得报酬,传感器撒谎时则会自动向买方退款。
它是生态系统中的第三类预言机:数学预言机证明计算结果,Metis 评判 LLM 输出,GAIA 则以物理事实为结算提供依据。演示设备群是模拟的(两台共址气象站共享同一站点事实、一个空气质量节点、一台电表 — 模型模拟 BME280/SDS011/SCD30/Shelly-EM 级别的硬件),但所有线上的接口 — 清单、调用、收据、提供方签名、验证信封、W3C WoT Thing 描述 — 都是真实的。
📖 深入了解(monorepo):
docs/iot-physical-oracles.md🌍 在线设备:gaia/devices/live.py🎬 3D 可视化:frontend/(cd frontend && npm i && npm run dev)
快速开始
# Container
docker pull ghcr.io/alexar76/gaia:latest
docker run --rm -p 9320:9320 ghcr.io/alexar76/gaia:latest
# From source (satellite checkout vendors oracle-core)
pip install -e vendor/oracle-core -e ".[dev]" # or: pip install -e ../oracles/core -e ".[dev]"
python -m gaia.main # :9320
试试看:
curl -s localhost:9320/.well-known/ai-market.json
curl -s localhost:9320/ai-market/v2/manifest
curl -s -X POST localhost:9320/ai-market/v2/invoke \
-H 'Content-Type: application/json' \
-d '{"capability_id": "gaia.weather.read@v1", "product_id": "gaia.gateway",
"input": {"device_id": "ws-01"}}'
在线设备 — 中继真实的公共传感器
设置 GAIA_ENABLE_LIVE=1,即可在模拟器旁注册真实的公共 API 中继。
每个中继都采用相同的 Ed25519 证明 + 合理性校验流程。上游不可访问
→ DeviceOffline → 503 / {ok:false} → 不扣费。上游主机已加入允许列表
(SSRF 防护);调用客户端不会提供 URL。
| 设备 ID | 能力 | 上游 | 需要密钥? |
|---|---|---|---|
nws-01 | gaia.weather.read@v1 | NOAA/NWS api.weather.gov | 否 |
om-wx-01 | gaia.weather.read@v1 | Open-Meteo weather | 否 |
osm-01 | gaia.air.read@v1 | openSenseMap | 否 |
om-aq-01 | gaia.air.read@v1 | Open-Meteo air quality | 否 |
sta-01 | gaia.air.read@v1 | OGC SensorThings (Fraunhofer) | 否 |
openaq-01 | gaia.air.read@v1 | OpenAQ v3 | 需要 — 免费密钥,访问 explore.openaq.org → GAIA_OPENAQ_API_KEY |
uk-grid-01 | gaia.grid.read@v1 | UK Carbon Intensity | 否 |
usgs-quake-01 | gaia.quake.read@v1 | USGS GeoJSON feed | 否 |
noaa-tide-01 | gaia.tide.read@v1 | NOAA CO-OPS tides | 否 |
firms-fire-01 | gaia.fire.read@v1 | NASA FIRMS VIIRS(引用 NASA) | 否 |
safecast-01 | gaia.radiation.read@v1 | Safecast (CC0) | 否 |
cybernews-jam-01 | gaia.jamming.read@v1 | CyberNews GNSS (CC BY 4.0) | 否 |
feeder-adsb-01 | gaia.adsb.read@v1 | 自有 dump1090 接入 | GAIA_FEEDER_* |
feeder-ais-01 | gaia.ais.read@v1 | 自有 AIS 接入 | GAIA_FEEDER_* |
完整的运营说明(5 种语言):docs/LIVE-RELAYS.md。
添加传感器 / 引脚(GAIA → ATLAS):docs/add-gaia-atlas-sensor.md(EN · RU · ES · FR · ZH)。
curl -s -X POST https://iot.modelmarket.dev/ai-market/v2/invoke \
-H 'Content-Type: application/json' \
-d '{"capability_id":"gaia.grid.read@v1","product_id":"gaia.gateway",
"input":{"device_id":"uk-grid-01"}}'
不止于读取——地点、电价、影像、设备控制
| 能力 | 价格 | 功能 | 指南 |
|---|---|---|---|
gaia.place.resolve@v1 | 免费 | 按名称查找任意有人居住的地点(“Kraków”“Paris, Texas”“東京”)→ 返回一个地点,或在名称有歧义时返回候选地点;说明哪些 GAIA 数据源覆盖该地点(GeoNames,CC BY 4.0) | 地点 |
gaia.power.price.read@v1 | $0.001 | 欧洲竞价区的日前电价,包含当前价格及未来 24 小时的价格(SMARD,CC BY 4.0;15 个区域) | 电价 |
gaia.power.window@v1 | $0.002 | 电价最低的 N 小时时段——附上所用价格及其 SHA-256(2026-10-16,11 kW 电动汽车在 12:30 充电比 08:40 便宜 38 %) | 电价 |
gaia.imagery.read@v1 | $0.005 | 获取任意陆地点位最新的无云 Sentinel-2 影像:NDVI、NDWI、NBR、NDMI | 影像 |
gaia.actuator.list@v1 | 免费 | 查看运营方可切换的设备及其限制 | 设备控制 |
gaia.actuate@v1 | $0.05 | 打开公共演示插座 N 秒或将其关闭——仅对仪表测得的效果收费(Pay-on-Verified)。真实插座仅响应其所有者的操作 | 设备控制 |
gaia.owner.command@v1 | 免费 | 所有者(或受委托人)使用其钱包签名(EIP-712)切换自己的插座——无需集线器,无需付款 | 设备控制 |
gaia.owner.consumption@v1 | 免费 | 所有者读取由插座密钥签名的插座每小时或每日用电量 | 设备控制 |
gaia.consumption.read@v1 | $0.01 | 获取插座用电统计数据,仅限所有者挂牌出售的数据,按完整小时或天计 | 设备控制 |
许可证
MIT——请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。