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

结构体流

技能标识:structs-streaming

Connects to the GRASS real-time event system via NATS WebSocket. Use when you need real-time game updates, want to react to events as they happen, need to monitor raids or attacks, watch for player creation, track fleet movements, or build event-driven tools. GRASS is the fastest way to know what's happening in the galaxy.

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

结构体流

Structs Streaming (GRASS)

GRASS(游戏实时应用流服务)通过NATS传递实时游戏事件。无需重复轮询查询,订阅GRASS即可在事件发生时立即做出反应。

何时使用GRASS

场景使用GRASS使用轮询
检测入侵袭击是 — 即时警报太慢
等待公会注册后的玩家创建
是 — 监听address_register | 每10秒轮询也可行 | | 监控舰队抵达你的星球 | 是 — fleet_arrive事件 | 可能错过 | | 战斗中追踪结构体生命值 | 是 — 包含structhealth的planetactivity | 太慢 | | 查看自己的资源余额 | 否 | 是 — 一次性查询 | | 读取结构体类型属性 | 否 | 是 — 静态数据 |

经验法则:如果需要响应某事,使用GRASS。如果需要读取某事,使用查询。



查找你的GRASS端点

GRASS WebSocket URL 不是硬编码的 — 它来自公会配置。

  1. 1. 查询公会列表:curl http://reactor.oh.energy:1317/structs/guild
  2. 跟随公会的endpointURL获取其配置
  3. 查找services.grassnatswebsocket

示例(Orbital Hydro公会):

json
{
services: {
grassnatswebsocket: ws://crew.oh.energy:1443,
guild_api: http://crew.oh.energy/api/,
reactor_api: http://reactor.oh.energy:1317/
}
}

grassnatswebsocket的值就是你的NATS WebSocket端点。并非所有公会都提供此服务 — 使用前请确认。

一个可靠的参考端点:ws://crew.oh.energy:1443(Orbital Hydro / Slow Ninja)。



先探索再订阅

在订阅特定主题之前,先订阅>通配符以查看GRASS服务器上的所有流量。这将揭示实际使用的主题模式,可能与文档不同。

javascript
const sub = nc.subscribe(>);
for await (const msg of sub) {
console.log([${msg.subject}], new TextDecoder().decode(msg.data));
}

观察输出30-60秒。你会看到类似structs.planet.2-1、consensus、healthcheck等主题。一旦知道哪些主题承载了你需要的事件,就将订阅范围缩小到这些特定主题。

重要提示:结构体事件(攻击、建造、状态变更)通常出现在星球主题上,而非结构体主题。如果你没有收到预期的结构体事件,请订阅该结构体所属的星球主题。



主题模式

订阅与你关注的实体相匹配的主题:

实体通配符特定示例
玩家structs.player.structs.player.{guildid}.{playerid}structs.player.0-1.1-11
星球
structs.planet. | structs.planet.{planet_id} | structs.planet.2-1 |
| 公会 | structs.guild.* | structs.guild.{guild_id} | structs.guild.0-1 |
| 结构体 | structs.struct.* | structs.struct.{struct_id} | structs.struct.5-1 |
| 舰队 | structs.fleet.* | structs.fleet.{fleet_id} | structs.fleet.9-1 |
| 地址 | structs.address.register.* | structs.address.register.{code} | -- |
| 库存 | structs.inventory.> | structs.inventory.{denom}.{guildid}.{playerid}.{address} | 代币流动 |
| 网格 | structs.grid.* | structs.grid.{object_id} | 属性变更(矿石、电力、负载等) |
| 全局 | structs.global | structs.global | 区块更新 |
| 共识 | consensus | consensus | 链共识事件 |
| 健康检查 | healthcheck | healthcheck | 节点健康状态 |

使用通配符(*)探索存在哪些事件。一旦知道需要什么,就缩小到特定主题。使用>查看所有内容(参见上面的先探索再订阅)。



事件类型

星球事件

事件描述响应方式
raidstatus星球上袭击开始/完成激活防御,发出警报
planetactivity
活动日志,包括struct_health变更 | 追踪战斗伤害 | | fleet_arrive | 舰队抵达星球 | 准备防御或欢迎 | | fleet_depart | 舰队离开星球 | 更新威胁评估 |

结构体事件

注意:结构体事件经常出现在星球主题(structs.planet.{id})上,而非结构体主题。如果需要完整覆盖,请同时订阅两者。

事件描述响应方式
structattack结构体被攻击反击,修复
structstatus
结构体状态变更(在线/离线/被摧毁) | 重建,重新分配电力 |
| structdefenseadd / structdefenseremove | 防御分配变更 | 更新防御地图 |
| structdefenderclear | 所有防御关系清除 | 重新分配防御者 |
| structblockbuild_start | 建造操作启动 | 在任务列表中追踪 |
| structblockoreminestart | 采矿操作启动 | 在任务列表中追踪 |
| structblockorerefinestart | 精炼操作启动 | 在任务列表中追踪 |

玩家事件

事件描述响应方式
playerconsensus玩家链数据更新更新情报
playermeta
玩家元数据变更 | 更新情报 |

公会事件

事件描述响应方式
guildconsensus公会链数据更新更新公会状态
guildmembership
成员加入/离开公会 | 更新关系图 |

库存事件

主题:structs.inventory.{denom}.{guildid}.{playerid}.{address}

追踪代币流动 — Alpha物质、公会代币、矿石等。

类别描述响应方式
sent从此玩家发送的代币更新余额追踪
received
此玩家收到的代币 | 更新余额追踪 |
| seized | 通过袭击夺取的代币 | 触发反击或精炼警报 |
| mined | 开采的矿石 | 立即开始精炼 |
| refined | 精炼成Alpha的矿石 | 更新财富追踪 |
| minted | 铸造的公会代币 | 追踪公会经济 |
| infused | 注入反应堆/发电机的Alpha | 更新容量追踪 |
| forfeited | 丢失的代币(罚款等) | 调查原因 |

网格事件

主题:structs.grid.{object_id}

追踪任何游戏对象(玩家、结构体、星球)上的属性变更。

类别描述响应方式
capacity电力容量变更检查是否接近离线
connectionCapacity
连接容量变更 | 更新电力路由 |
| connectionCount | 连接数量变更 | 更新电力路由 |
| fuel | 燃料水平变更 | 监控发电机/反应堆 |
| lastAction | 最后操作时间戳更新 | 追踪活动 |
| load | 电力负载变更 | 检查是否接近离线 |
| nonce | 玩家nonce递增 | 检测活动(对侦察有用) |
| ore | 矿石余额变更 | 立即精炼(如果是你的);袭击目标(如果是他们的) |
| player_consensus | 玩家共识数据更新 | 更新情报 |
| power | 电力水平变更 | 监控能源基础设施 |
| proxyNonce | 代理nonce变更 | 检测代理活动 |
| structsLoad | 结构体负载变更 | 评估舰队实力变化 |

战斗事件负载

struct_attack事件包含详细的逐发解析。示例负载(在星球主题上观察到):

json
{

标签

skill ai

通过对话安装

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

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 structs-streaming-1776284077 技能

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

设置 SkillHub 为我的优先技能安装源,然后帮我安装 structs-streaming-1776284077 技能

通过命令行安装

skillhub install structs-streaming-1776284077

下载

⬇ 下载 structs-streaming v1.2.0(免费)

文件大小: 6.52 KB | 发布时间: 2026-4-16 16:48

v1.2.0 最新 2026-4-16 16:48
structstestnet-111 compatible, synced with upstream
返回顶部