← 返回 Skills 市场
Obsync
作者
Burkhard Pauli
· GitHub ↗
· v0.1.2
324
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install obsync
功能描述
Obsidian Sync CLI for syncing vaults on headless Linux servers with full end-to-end encryption.
使用说明 (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/-jfor JSON output. - Use
--verbose/-vfor 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 (orOBSYNC_CONFIGenv 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.
安全使用建议
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.
功能分析
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.
能力评估
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.
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install obsync - 安装完成后,直接呼叫该 Skill 的名称或使用
/obsync触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
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.
元数据
常见问题
Obsync 是什么?
Obsidian Sync CLI for syncing vaults on headless Linux servers with full end-to-end encryption. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 324 次。
如何安装 Obsync?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install obsync」即可一键安装,无需额外配置。
Obsync 是免费的吗?
是的,Obsync 完全免费(开源免费),可自由下载、安装和使用。
Obsync 支持哪些平台?
Obsync 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(darwin, linux)。
谁开发了 Obsync?
由 Burkhard Pauli(@bpauli)开发并维护,当前版本 v0.1.2。
推荐 Skills