Obsidian Sync

Sync files between Clawdbot workspace and Obsidian. Run the sync server to enable two-way file synchronization with the OpenClaw Obsidian plugin.

AndyBold

@andybold

What This Skill Does

Runs a sync server that enables two-way file synchronization between a Clawdbot agent workspace and an Obsidian vault. It provides REST API endpoints for listing, reading, and writing markdown files with conflict detection and path traversal protection.

Replaces manual file transfers or duplicate note management by automatically keeping Obsidian notes and agent workspace files in sync.

When to Use It

  • Keep Obsidian notes synchronized with a Clawdbot agent's workspace
  • Enable an Obsidian plugin to read and write notes from the agent's file system
  • Set up automated note syncing between a local vault and a remote agent
  • Use Tailscale to expose the sync server for remote Obsidian access
  • Run the sync server as a systemd service for persistent background operation

Install

$ openclaw skills install @andybold/obsidian-sync

Obsidian Sync Server

A secure file sync server for two-way synchronization between Clawdbot and Obsidian.

๐Ÿ“ฆ This skill is part of obsidian-openclaw
An Obsidian plugin that lets you chat with your Clawdbot agent and sync notes between your vault and the agent's workspace.

Quick Start

SYNC_TOKEN="your-gateway-token" node scripts/sync-server.mjs

Configuration

Environment VariableDefaultDescription
SYNC_PORT18790Server port
SYNC_BINDlocalhostBind address
SYNC_WORKSPACE/data/clawdbotRoot workspace path
SYNC_TOKEN(required)Auth token (use Gateway token)
SYNC_ALLOWED_PATHSnotes,memoryComma-separated allowed subdirectories

Security

  • Only configured subdirectories are accessible
  • Path traversal (../) is blocked
  • All requests require Authorization: Bearer <token>
  • Bind to localhost; expose via Tailscale serve for remote access

API Endpoints

MethodEndpointDescription
GET/sync/statusHealth check
GET/sync/list?path=notesList markdown files
GET/sync/read?path=notes/x.mdRead file + metadata
POST/sync/write?path=notes/x.mdWrite file (conflict detection)

Exposing via Tailscale

tailscale serve --bg --https=18790 http://localhost:18790

Running as a Service

User systemd service

mkdir -p ~/.config/systemd/user

cat > ~/.config/systemd/user/openclaw-sync.service << 'EOF'
[Unit]
Description=OpenClaw Sync Server
After=network.target

[Service]
Type=simple
Environment=SYNC_TOKEN=your-token-here
Environment=SYNC_WORKSPACE=/data/clawdbot
Environment=SYNC_ALLOWED_PATHS=notes,memory
ExecStart=/usr/bin/node /path/to/skills/obsidian-sync/scripts/sync-server.mjs
Restart=on-failure
RestartSec=5

[Install]
WantedBy=default.target
EOF

systemctl --user daemon-reload
systemctl --user enable --now openclaw-sync
loginctl enable-linger $USER  # Start on boot

Obsidian Plugin

This skill provides the backend for the OpenClaw Obsidian plugin:

github.com/AndyBold/obsidian-openclaw

The plugin provides:

  • ๐Ÿ’ฌ Chat sidebar โ€” Talk to your Clawdbot agent from Obsidian
  • ๐Ÿ“ File actions โ€” Create, edit, delete notes via conversation
  • ๐Ÿ”„ Two-way sync โ€” Keep notes synchronized between vault and agent
  • ๐Ÿ”’ Secure storage โ€” OS keychain integration for tokens
  • ๐Ÿ“‹ Audit logging โ€” Track all file operations

Install the plugin via BRAT using: AndyBold/obsidian-openclaw

Top skills in this category