nas-agent-sync

Synology NAS integration for OpenClaw — centralized file storage for multi-agent teams via SSH

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "nas-agent-sync" with this command: npx skills add neal-collab/nas-agent-sync

NAS Agent Sync — Synology File Storage for OpenClaw Agents

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.

The Problem

Multi-agent setups generate files across multiple workspaces. Without centralized storage:

  • Files get lost between agent sessions
  • No backup strategy
  • Agents duplicate work
  • No single source of truth

The Solution

Designate one agent as File Master. All file operations go through this agent via sessions_send. The File Master manages:

  • SSH connection to NAS
  • Folder structure per agent
  • File storage and retrieval
  • Cross-agent file sharing

Architecture

┌──────────┐    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/ │
                                 └─────────────┘

Setup

1. NAS Prerequisites

  • Synology NAS (any model) or any Linux server with SSH
  • SSH access with key-based auth
  • VPN or Tailnet (recommended) for secure remote access

2. Create Folder Structure

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'

3. Configure File Master Agent

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]")

4. Configure Other Agents

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]")

NAS Folder Structure (Recommended)

~/
├── _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

SSH via VPN/Tailnet (Recommended)

# 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!'"

Security

  • ✅ SSH key-based auth (no passwords in configs)
  • ✅ VPN/Tailnet for encrypted tunnel (no port forwarding needed)
  • ✅ File Master pattern limits SSH access to one agent
  • ✅ Other agents never get SSH credentials
  • ❌ Never store SSH keys in agent SOUL.md or memory files

Why File Master Pattern?

  1. Security: Only one agent has NAS credentials
  2. Consistency: Single point of truth for file locations
  3. Audit trail: All file ops logged through one agent
  4. Simplicity: Other agents don't need to know SSH commands

Backup Strategy

Daily Backup Cron (via OpenClaw)

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"
}

Manual Backup Command

# 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

Troubleshooting

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

Compatible NAS Models

  • ✅ Synology (any model with DSM 7+)
  • ✅ QNAP (QTS 5+)
  • ✅ TrueNAS / FreeNAS
  • ✅ Any Linux server with SSH access
  • ✅ Raspberry Pi with external storage

Changelog

v1.1.0

  • Removed all specific agent/setup references
  • Generalized folder structure and examples
  • Added backup strategy with cron

v1.0.0

  • Initial release

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

绿联NAS OpenClaw备份

绿联NAS OpenClaw Docker部署的备份与恢复工具 / Ugreen NAS OpenClaw Docker deployment backup and restore tool

Registry SourceRecently Updated
2240Profile unavailable
Automation

OpenAI Agent SDK

Build multi-agent AI systems with OpenAI Agents SDK. Create, orchestrate, and manage AI agents with tools, handoffs, guardrails, and tracing. Supports 100+ L...

Registry SourceRecently Updated
2360Profile unavailable
Automation

Zhua Distributed

爪爪分布式部署系统 —— 实现多实例协同、负载均衡、故障转移。Use when 爪爪需要分布式部署、多设备协同、或构建爪爪网络。

Registry SourceRecently Updated
2310Profile unavailable
Automation

Agent Life

Backup, sync, and restore agent memory and state to the cloud using the Agent Life Format (ALF). Use when asked to back up agent data, sync memory to the clo...

Registry SourceRecently Updated
2891Profile unavailable