360 Secure SkillHub
360 安全技能中心

Pilot Sync

基于 pilotctl 与 Pilot Protocol 网络实现 agent 间双向文件同步:批量发送目录文件、列出已接收文件、用 fswatch 监听目录变化持续同步,并在 workflow 示例中用 md5sum 清单做冲突检测。依赖 pilot-protocol skill、pilotctl 守护进程以及 jq、fswatch、md5sum、stat。

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

安装技能

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

执行命令安装此 skill: npx secure-skills-cli add pilot-sync
Metadata
name
pilot-sync
description
Bidirectional file synchronization between agents over the Pilot Protocol network. Use this skill when: 1. You need to keep directories synchronized between two agents 2. You want to replicate files across multiple nodes with conflict detection 3. You need to maintain consistent file state across distributed agents Do NOT use this skill when: - You only need one-way file transfer (use pilot-share instead) - You need real-time streaming data (use pilot-stream-data instead) - Files are larger than 100MB without chunking support (use pilot-chunk-transfer)
tags
["pilot-protocol","file-transfer","synchronization","bidirectional"]
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-sync

Bidirectional file synchronization between agents using conflict detection.

Commands

Sync directory to remote

for file in /path/to/sync/*; do
  pilotctl --json send-file 1:0001.AAAA.BBBB "$file"
done

List received files

pilotctl --json received | jq -r '.received[] | {filename, size, from, timestamp}'

Watch directory for changes

fswatch -0 /path/to/sync | while read -d "" file; do
  pilotctl --json send-file 1:0001.AAAA.BBBB "$file"
done

Workflow Example

Bidirectional sync with conflict detection:

#!/bin/bash
SYNC_DIR="$HOME/shared-data"
REMOTE="1:0001.AAAA.BBBB"

# Build manifest
LOCAL_MANIFEST=$(find "$SYNC_DIR" -type f -exec sh -c \
  'printf "%s:%s:%s\n" "{}" "$(md5sum {} | cut -d\" \" -f1)" "$(stat -f %m {})"' \;)

# Send manifest and sync
pilotctl --json send-message "$REMOTE" --data "{\"type\":\"sync_init\",\"manifest\":\"$LOCAL_MANIFEST\"}"

# Start continuous sync
fswatch -0 "$SYNC_DIR" | while read -d "" changed_file; do
  pilotctl --json send-file "$REMOTE" "$changed_file"
done

Dependencies

Requires pilot-protocol skill, jq, fswatch/inotifywait, md5sum, and stat.