← Back to Skills Marketplace
bpauli

Obsync

by Burkhard Pauli · GitHub ↗ · v0.1.2
darwinlinux ⚠ suspicious
324
Downloads
0
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install obsync
Description
Obsidian Sync CLI for syncing vaults on headless Linux servers with full end-to-end encryption.
README (SKILL.md)

obsync

Use obsync to sync Obsidian vaults on headless Linux servers. Requires an Obsidian Sync subscription and account credentials.

Setup (once)

  • obsync login (enter email, password, and optional MFA code)
  • For headless servers: export OBSYNC_KEYRING_BACKEND=file
  • Optionally set keyring password: export OBSYNC_KEYRING_PASSWORD=mysecret
  • Verify: obsync list

Output

  • Default: human-friendly terminal output with colors and spinners.
  • Use --json / -j for JSON output.
  • Use --verbose / -v for debug logging.

Common commands

  • Log in: obsync login
  • List vaults: obsync list
  • Pull vault: obsync pull "My Notes" ~/notes -p "e2e-password"
  • Pull and save password: obsync pull "My Notes" ~/notes -p "e2e-password" -s
  • Push local changes: obsync push "My Notes" ~/notes -p "e2e-password"
  • Watch (continuous sync): obsync watch "My Notes" ~/notes -p "e2e-password"
  • Install systemd service: obsync install "My Notes" ~/notes
  • Check service status: obsync status "My Notes"
  • View service logs: journalctl --user -u obsync@\x3Cvault-id>.service -f
  • Uninstall service: obsync uninstall "My Notes"

Flags

  • -p, --password — E2E encryption password
  • -s, --save-password — save E2E password to keyring for future use
  • -v, --verbose — enable debug logging
  • -j, --json — JSON output to stdout
  • --config — path to config file (or OBSYNC_CONFIG env var)
  • --version — print version and exit

Notes

  • Requires a valid Obsidian Sync subscription.
  • E2E encryption uses AES-256-GCM with scrypt key derivation.
  • Pull/push compare files by SHA-256 hash — only changed files are transferred.
  • Watch mode uses WebSocket for remote changes and fsnotify for local changes (500ms debounce).
  • Large files are handled with 2MB chunked transfers.
  • Automatic reconnection with exponential backoff (1s-60s) on connection loss.
  • The .obsidian/ directory (themes, plugins, settings) is synced.
  • For headless servers without a desktop keyring, use OBSYNC_KEYRING_BACKEND=file.
  • For always-on sync on headless servers, enable lingering: loginctl enable-linger $USER.
  • Config is stored at ~/.config/obsync/config.json.
Usage Guidance
This skill appears to be what it says (an Obsidian sync CLI) but has a few red flags you should address before installing: 1) Inspect the Homebrew formula (bpauli/tap/obsync) and the GitHub repo/release artifacts to confirm the binary's provenance; do not blindly trust a third-party tap. 2) The SKILL.md references environment variables (OBSYNC_KEYRING_BACKEND, OBSYNC_KEYRING_PASSWORD, OBSYNC_CONFIG) and login credentials but the metadata does not declare them — treat any instructions to export passwords as risky. Prefer using a secure OS keyring rather than exporting plaintext passwords or using file-backed keyrings on multi-user systems. 3) When installing the systemd user service, review the generated unit file and the file locations/permissions for ~/.config/obsync and any on-disk keyring files to ensure secrets are not world-readable. 4) On shared or CI-hosted servers, avoid setting OBSYNC_KEYRING_PASSWORD in environment variables; consider a dedicated user account and strict filesystem permissions. 5) If you need higher assurance, build obsync from source yourself (Go 1.25+) or review the source code to confirm secret handling and network endpoints. Finally, request the skill author update metadata to declare the env vars and credential needs explicitly so the behavior is transparent.
Capability Analysis
Type: OpenClaw Skill Name: obsync Version: 0.1.2 The obsync skill bundle describes a CLI tool for syncing Obsidian vaults with end-to-end encryption. The documentation in SKILL.md outlines standard functionality for a sync client, including credential management, systemd service integration for persistence, and encryption handling. No evidence of data exfiltration, malicious execution, or prompt injection was found; the tool's capabilities are consistent with its stated purpose of managing Obsidian Sync on headless Linux servers.
Capability Assessment
Purpose & Capability
Name, description, required binary (obsync), and install method (Homebrew formula bpauli/tap/obsync; source build option) are coherent with an Obsidian Sync CLI. Commands (login, pull/push/watch, install systemd service) align with a vault-syncing tool and require an Obsidian account/subscription as expected.
Instruction Scope
SKILL.md instructs the agent and user to run obsync commands, configure a keyring backend, optionally export OBSYNC_KEYRING_PASSWORD, install and manage per-user systemd services, and writes config to ~/.config/obsync/config.json. Those actions are within the tool's purpose, but the instructions reference environment variables (OBSYNC_KEYRING_BACKEND, OBSYNC_KEYRING_PASSWORD, OBSYNC_CONFIG) and file-based keyring usage that are not declared in the skill metadata and that could lead to storing secrets in plaintext or on-disk in an insecure way.
Install Mechanism
Install uses a Homebrew formula (bpauli/tap/obsync) and offers building from source (Go 1.25+). Homebrew is a reasonable low-risk install mechanism, but this is a third‑party tap (not the official core tap) so users should inspect the tap/formula and upstream GitHub release artifacts before trusting the binary.
Credentials
Metadata declares no required env vars or primary credential, yet the instructions explicitly reference several env vars (OBSYNC_KEYRING_BACKEND, OBSYNC_KEYRING_PASSWORD, OBSYNC_CONFIG) and expect login credentials (email/password, optional MFA). The omission in metadata is an inconsistency; additionally, suggesting exporting a plaintext OBSYNC_KEYRING_PASSWORD or using a file-based keyring on headless servers increases the risk of secret exposure and may be disproportionate without guidance on secure storage/access control.
Persistence & Privilege
The skill suggests installing per-user systemd service units (obsync@<vault-id>.service), enabling lingering for always-on sync, and storing config under ~/.config/obsync. This grants a persistent user-level daemon and on-disk config/secrets, which is expected for a sync agent but is a persistent footprint the user should review. The skill does not set always:true and does not request system-wide privileges in the metadata.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install obsync
  3. After installation, invoke the skill by name or use /obsync
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.2
- Updated internal metadata structure for compatibility (now under "clawdbot" with unified formatting). - Changed install metadata: "kind" updated from "homebrew" to "brew" in Homebrew installer. - No user-facing feature or documentation changes.
v0.1.0
Initial release of obsync — CLI tool for Obsidian Sync on headless Linux servers. - Sync Obsidian vaults using a command-line interface with end-to-end encryption. - Supports login, listing vaults, pull/push, watch mode, and systemd service management. - Efficient file transfer: syncs only changed files with SHA-256 checks. - Handles E2E encryption (AES-256-GCM, scrypt KDF), chunked large file transfer, and robust reconnection logic. - Headless and desktop environments supported; compatible with both Linux and macOS. - Simple setup and extensive options for output format, debug, and keyring management.
Metadata
Slug obsync
Version 0.1.2
License
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is Obsync?

Obsidian Sync CLI for syncing vaults on headless Linux servers with full end-to-end encryption. It is an AI Agent Skill for Claude Code / OpenClaw, with 324 downloads so far.

How do I install Obsync?

Run "/install obsync" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Obsync free?

Yes, Obsync is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Obsync support?

Obsync is cross-platform and runs anywhere OpenClaw / Claude Code is available (darwin, linux).

Who created Obsync?

It is built and maintained by Burkhard Pauli (@bpauli); the current version is v0.1.2.

💬 Comments