用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/javimosch/open-claw-skills --skill nas-agent-sync命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | nas-agent-sync |
| version | 1.1.0 |
| description | Synology NAS integration for OpenClaw — centralized file storage for multi-agent teams via SSH |
| emoji | 📦 |
| tags | ["nas","synology","file-storage","ssh","multi-agent","backup"] |
Centralize file storage across your multi-agent team using a Synology NAS (or any SSH-accessible storage). One agent acts as File Master — all others route file requests through it.
Multi-agent setups generate files across multiple workspaces. Without centralized storage:
Designate one agent as File Master. All file operations go through this agent via sessions_send. The File Master manages:
┌──────────┐ sessions_send ┌────────────┐ SSH ┌─────────┐
│ Agent A │ ──────────────────► │ FILE MASTER │ ──────────► │ NAS │
│ (Finance)│ "store invoice.pdf" │ (Tech Lead) │ │ │
└──────────┘ └────────────┘ └─────────┘
│
┌──────────┐ sessions_send │ SSH
│ Agent B │ ──────────────────► │
│ (Sales) │ "get sales report" ▼
└──────────┘ ┌─────────────┐
│ _agents/ │
│ ├── agent-a/ │
│ ├── agent-b/ │
│ ├── agent-c/ │
│ └── _shared/ │
└─────────────┘
SSH_HOST="user@your-nas-ip"
# Create agent folders (customize agent names to match your team)
ssh $SSH_HOST "mkdir -p ~/_agents/{coordinator,techops,finance,sales,marketing}"
# Create shared folders
ssh $SSH_HOST "mkdir -p ~/_shared/{config,templates}"
# Create agent directory file
ssh $SSH_HOST 'cat > ~/_shared/config/agent-directory.json << EOF
{
"agents": {
"coordinator": { "role": "Coordinator", "path": "~/_agents/coordinator/" },
"techops": { "role": "File Master", "path": "~/_agents/techops/" },
"finance": { "role": "Finance", "path": "~/_agents/finance/" }
},
"shared": "~/_shared/",
"basePath": "~/"
}
EOF'
Add to your File Master agent's AGENTS.md:
## FILE MASTER — Incoming Requests
When another agent sends a file request via sessions_send:
### Store a file:
ssh USER@NAS-IP "mkdir -p ~/_agents/[agent]/[subfolder]/"
# Copy/create file there
### Retrieve a file:
ssh USER@NAS-IP "cat ~/_agents/[agent]/[file]"
# Send content back to requesting agent
### Confirm back:
sessions_send(sessionKey="agent:[requester]:main", message="Done! File at [path]")
Add to each agent's AGENTS.md:
## File Operations → File Master
I do NOT access files directly. ALL file ops go through the File Master:
sessions_send(sessionKey="agent:techops:main", message="Store: [details]")
sessions_send(sessionKey="agent:techops:main", message="Retrieve: [path]")
~/
├── _agents/
│ ├── coordinator/ # Coordinator files
│ │ ├── journal/ # Daily journals
│ │ └── tracking/ # Task tracking
│ ├── techops/ # Tech docs, scripts
│ │ ├── scripts/
│ │ └── configs/
│ ├── finance/ # Finance
│ │ ├── invoices/
│ │ ├── contracts/
│ │ └── reports/
│ ├── sales/ # Sales
│ │ ├── leads/
│ │ └── proposals/
│ └── [your-agent]/ # Per-agent storage
├── _shared/
│ ├── config/ # Shared configs
│ │ └── agent-directory.json
│ └── templates/ # Shared templates
└── _backups/
└── memory/ # Memory file backups
# Connect via secure tunnel IP (e.g. WireGuard, ZeroTier, or similar)
SSH_HOST="user@10.x.x.x" # Your VPN/Tailnet IP
# Test connection
ssh $SSH_HOST "echo 'NAS connected!'"
Set up a cron job that backs up agent workspaces to NAS:
// Cron job config
{
"schedule": { "kind": "cron", "expr": "0 3 * * *", "tz": "UTC" },
"payload": {
"kind": "agentTurn",
"message": "Backup all agent workspaces to NAS. For each agent: rsync workspace memory/ folder to NAS _agents/{agent}/memory-backup/. Report any failures."
},
"sessionTarget": "isolated"
}
# Backup specific agent
rsync -avz ~/.openclaw/workspace-finance/memory/ user@nas-ip:~/_agents/finance/memory-backup/
# Backup all agents (customize list to your team)
for agent in coordinator techops finance sales marketing; do
rsync -avz ~/.openclaw/workspace-$agent/memory/ user@nas-ip:~/_agents/$agent/memory-backup/
done
SSH connection refused: → Check VPN/Tailnet status — is NAS online and connected? → Verify SSH service running on NAS (Synology: DSM → Control Panel → Terminal & SNMP)
Permission denied:
→ SSH key not added: ssh-copy-id user@nas-ip
→ NAS home folder not enabled (Synology: DSM → User → Advanced → Enable home service)
Slow transfers:
→ Use direct VPN connection (not relayed)
→ Consider compression: rsync -avz --compress