360 Secure SkillHub
360 安全技能中心

Pilot Swarm Config

面向智能体集群的分布式配置管理 Skill:借助 pilotctl 与 jq,向注册表发布版本化的 config_update 消息,订阅方在本地应用并校验配置、上报合规版本,可按版本号回滚到上一版本。依赖 pilot-protocol skill、pilotctl 二进制与运行中的守护进程。

teoslayer
teoslayer
热度 35.16
最近更新 2026-05-11 17:41:37
分类:自动化依赖:代码执行 / 读写文件 / 第三方 API应用场景:工作流 / 自动化脚本 / DevOps

安装技能

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

执行命令安装此 skill: npx secure-skills-cli add pilot-swarm-config
Metadata
name
pilot-swarm-config
description
Distributed configuration management for agent swarms with versioned updates. Use this skill when: 1. Multiple agents need to share configuration settings 2. You need to push config updates to all swarm members 3. You want versioned config with rollback capability Do NOT use this skill when: - Configuration is static and set at startup (use local config files) - Each agent has unique config (no sharing needed)
tags
["pilot-protocol","configuration","swarm-coordination","state-management"]
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-config

Manage shared configuration across agent swarms with versioning, atomic updates, and rollback support.

Essential Commands

Publish configuration update

CONFIG_VERSION=$(date +%s)
CONFIG_DATA='{"max_workers":10,"timeout_ms":5000,"log_level":"info"}'

pilotctl --json publish "registry-hostname" "config:$SWARM_NAME" \
  --data "{\"type\":\"config_update\",\"version\":$CONFIG_VERSION,\"config\":$CONFIG_DATA}"

Subscribe to configuration updates

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

Apply configuration locally

LATEST_CONFIG=$(pilotctl --json inbox \
  | jq '[.messages[] | select(.topic == "config:'$SWARM_NAME'" and .payload.type == "config_update")] | sort_by(.payload.version) | last')

CONFIG_VERSION=$(echo "$LATEST_CONFIG" | jq -r '.payload.version')
CONFIG_DATA=$(echo "$LATEST_CONFIG" | jq -r '.payload.config')

echo "$CONFIG_DATA" > /tmp/swarm-config.json
echo "$CONFIG_VERSION" > /tmp/swarm-config-version.txt

Validate configuration

# Basic validation
VALID=$(echo "$CONFIG_DATA" | jq 'has("max_workers") and has("timeout_ms")')

if [ "$VALID" = "true" ]; then
  echo "Config validation passed"
else
  echo "Config validation FAILED"
  exit 1
fi

Rollback to previous version

CURRENT_VERSION=$(cat /tmp/swarm-config-version.txt)
PREVIOUS_CONFIG=$(pilotctl --json inbox \
  | jq '[.messages[] | select(.topic == "config:'$SWARM_NAME'" and .payload.type == "config_update" and .payload.version < '$CURRENT_VERSION')] | sort_by(.payload.version) | last')

PREV_VERSION=$(echo "$PREVIOUS_CONFIG" | jq -r '.payload.version')
PREV_DATA=$(echo "$PREVIOUS_CONFIG" | jq -r '.payload.config')

echo "$PREV_DATA" > /tmp/swarm-config.json
echo "$PREV_VERSION" > /tmp/swarm-config-version.txt

Track compliance

# Agents report applied version
pilotctl --json publish "registry-hostname" "config:status:$SWARM_NAME" \
  --data "{\"agent\":\"$AGENT_ID\",\"applied_version\":$CONFIG_VERSION}"

# Coordinator checks compliance
COMPLIANCE=$(pilotctl --json inbox \
  | jq '[.messages[] | select(.topic == "config:status:'$SWARM_NAME'")] | group_by(.payload.applied_version) | map({version: .[0].payload.applied_version, count: length})')

Workflow Example

Agent config subscriber:

#!/bin/bash
set -e

SWARM_NAME="worker-pool"
CONFIG_CHANNEL="config:$SWARM_NAME"
STATUS_CHANNEL="config:status:$SWARM_NAME"
REGISTRY_HOST="registry.example.com"

pilotctl --json subscribe "$REGISTRY_HOST" "$CONFIG_CHANNEL"

CURRENT_VERSION=0
[ -f /tmp/swarm-config-version.txt ] && CURRENT_VERSION=$(cat /tmp/swarm-config-version.txt)

while true; do
  LATEST=$(pilotctl --json inbox \
    | jq '[.messages[] | select(.topic == "'$CONFIG_CHANNEL'" and .payload.type == "config_update")] | sort_by(.payload.version) | last')

  if [ -n "$LATEST" ] && [ "$LATEST" != "null" ]; then
    LATEST_VERSION=$(echo "$LATEST" | jq -r '.payload.version')

    if [ "$LATEST_VERSION" -gt "$CURRENT_VERSION" ]; then
      echo "Applying config version $LATEST_VERSION"
      CONFIG_DATA=$(echo "$LATEST" | jq -r '.payload.config')

      echo "$CONFIG_DATA" > /tmp/swarm-config.json
      echo "$LATEST_VERSION" > /tmp/swarm-config-version.txt

      # Report compliance
      pilotctl --json publish "$REGISTRY_HOST" "$STATUS_CHANNEL" \
        --data "{\"agent\":\"$AGENT_ID\",\"applied_version\":$LATEST_VERSION}"

      CURRENT_VERSION=$LATEST_VERSION
    fi
  fi
  sleep 5
done

Dependencies

Requires pilot-protocol skill, pilotctl binary, running daemon, and jq for JSON parsing.