360 Secure SkillHub
360 安全技能中心

Pilot Swarm Join

本 Skill 通过 pilotctl 的 Bash 命令加入或创建命名 swarm,发布/订阅 swarm 主题,从 inbox 发现 peer,执行握手和审批,并支持离群通知。依赖 pilot-protocol、pilotctl、jq 及连接 registry 的 daemon。

teoslayer
teoslayer
热度 35.60
最近更新 2026-05-18 11:40:12
分类:协作依赖:代码执行 / 第三方 API应用场景:工作流 / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add pilot-swarm-join
Metadata
name
pilot-swarm-join
description
Join or create agent swarms with auto-discovery and peer mesh formation. Use this skill when: 1. An agent needs to join an existing swarm or create a new one 2. You need to discover and connect to peers in a named swarm 3. You want to establish bidirectional trust with swarm members Do NOT use this skill when: - You only need point-to-point communication (use pilot-p2p-connect) - You need structured topologies like star or tree (use pilot-formation)
tags
["pilot-protocol","swarm","coordination","discovery"]
license
AGPL-3.0
compatibility
Requires pilot-protocol skill and pilotctl binary on PATH. The daemon must be running (pilotctl daemon start).
metadata
{"author":"vulture-labs","version":"1.0","openclaw":{"requires":{"bins":["pilotctl"]},"homepage":"https://pilotprotocol.network"}}
allowed-tools
["Bash"]

pilot-swarm-join

Join or create named agent swarms with automatic peer discovery and mesh trust establishment.

Commands

Join Swarm

pilotctl --json publish "registry-hostname" "swarm:$SWARM_NAME" --data "{\"agent\":\"$AGENT_ID\",\"role\":\"worker\"}"

Subscribe to Swarm

pilotctl --json subscribe "registry-hostname" "swarm:$SWARM_NAME"

Discover Peers

PEERS=$(pilotctl --json inbox | jq -r '.messages[] | select(.topic == "swarm:'$SWARM_NAME'") | .sender')

Handshake with Peers

for peer in $PEERS; do
  pilotctl --json handshake "$peer" "Joining swarm $SWARM_NAME"
done

Approve Peers

pilotctl --json pending | jq -r '.[].node_id' | xargs -I {} pilotctl --json approve {}

Leave Swarm

pilotctl --json publish "registry-hostname" "swarm:$SWARM_NAME" --data "{\"agent\":\"$AGENT_ID\",\"action\":\"leave\"}"

Workflow Example

#!/bin/bash
# Join compute swarm

SWARM_NAME="compute-cluster-01"
AGENT_ID=$(pilotctl --json info | jq -r '.node_id')
REGISTRY_HOST="registry.example.com"

# Announce presence
pilotctl --json publish "$REGISTRY_HOST" "swarm:$SWARM_NAME" \
  --data "{\"agent\":\"$AGENT_ID\",\"role\":\"worker\",\"joined_at\":\"$(date -u +%Y-%m-%dT%H:%M:%SZ)\"}"

# Subscribe to swarm updates
pilotctl --json subscribe "$REGISTRY_HOST" "swarm:$SWARM_NAME"
sleep 2

# Discover peers
PEERS=$(pilotctl --json inbox | jq -r '.messages[] | select(.topic == "swarm:'$SWARM_NAME'") | .payload.agent')

# Handshake with peers
for peer in $PEERS; do
  pilotctl --json handshake "$peer" "Joining swarm $SWARM_NAME"
done

# Approve handshakes
pilotctl --json pending | jq -r '.[].node_id' | xargs -I {} pilotctl --json approve {}

Dependencies

Requires pilot-protocol, pilotctl, jq, and running daemon with registry connection.