[[Введение в Obsidian Sync|Obsidian Sync]] предлагает безголовый клиент для синхронизации хранилищ без использования настольного приложения. Полезно для CI-конвейеров, агентов и автоматизированных рабочих процессов. Синхронизируйте последние изменения или поддерживайте файлы постоянно актуальными. Установите [[Obsidian Headless]] **(открытая бета)**, чтобы взаимодействовать с [[Введение в Obsidian Sync|Obsidian Sync]] из командной строки без настольного приложения Obsidian. Безголовая синхронизация использует те же [[Безопасность и конфиденциальность|средства шифрования и защиты конфиденциальности]], что и настольное приложение, включая сквозное шифрование. ## Быстрый старт > [!error] Сделайте резервную копию данных перед началом работы > 1. Всегда делайте резервную копию данных перед началом работы на случай непредвиденных ситуаций. > 2. Не используйте *одновременно* синхронизацию настольного приложения и безголовую синхронизацию на одном устройстве, так как это может привести к конфликтам данных. Используйте только один метод синхронизации на устройство. Установите [[Obsidian Headless|Obsidian Headless]] **(открытая бета)**: ```shell npm install -g obsidian-headless ``` У вас должна быть активная [[Планы и лимиты хранилища|подписка на Obsidian Sync]]. ```shell # Вход ob login # Список удалённых хранилищ ob sync-list-remote # Настройка хранилища для синхронизации cd ~/vaults/my-vault ob sync-setup --vault "My Vault" # Однократная синхронизация ob sync # Непрерывная синхронизация (отслеживает изменения) ob sync --continuous ``` ## Команды ### `ob sync-list-remote` Список всех удалённых хранилищ, доступных вашему аккаунту, включая общие хранилища. ### `ob sync-list-local` Список локально настроенных хранилищ и их путей. ### `ob sync-create-remote` Создание нового удалённого хранилища. ``` ob sync-create-remote --name "Vault Name" [--encryption <standard|e2ee>] [--password <password>] [--region <region>] ``` | Опция | Описание | | --- | --- | | `--name` | Название хранилища (обязательно) | | `--encryption` | `standard` для управляемого шифрования, `e2ee` для сквозного шифрования | | `--password` | Пароль сквозного шифрования (запрашивается, если не указан) | | `--region` | [[Регионы синхронизации\|Регион]] сервера (автоматически, если не указан) | ### `ob sync-setup` Настройка синхронизации между локальным и удалённым хранилищем. ``` ob sync-setup --vault <id-or-name> [--path <local-path>] [--password <password>] [--device-name <name>] [--config-dir <name>] ``` | Опция | Описание | | --- | --- | | `--vault` | Идентификатор или название удалённого хранилища (обязательно) | | `--path` | Локальная директория (по умолчанию: текущая директория) | | `--password` | Пароль сквозного шифрования (запрашивается, если не указан) | | `--device-name` | Имя устройства, отображаемое в [[История версий\|истории версий синхронизации]] | | `--config-dir` | Имя [[Папка конфигурации\|папки конфигурации]] (по умолчанию: `.obsidian`) | ### `ob sync` Запуск синхронизации для настроенного хранилища. ``` ob sync [--path <local-path>] [--continuous] ``` | Опция | Описание | | --- | --- | | `--path` | Путь к локальному хранилищу (по умолчанию: текущая директория) | | `--continuous` | Непрерывная работа с отслеживанием изменений | ### `ob sync-config` Просмотр или изменение [[Настройки синхронизации и выборочная синхронизация|настроек синхронизации]] хранилища. Запустите без опций для отображения текущей конфигурации. ``` ob sync-config [--path <local-path>] [options] ``` | Опция | Описание | | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `--path` | Путь к локальному хранилищу (по умолчанию: текущая директория) | | `--mode` | Режим синхронизации: `bidirectional` (по умолчанию), `pull-only` (только загрузка, игнорирование локальных изменений) или `mirror-remote` (только загрузка, откат локальных изменений) | | `--conflict-strategy` | `merge` или `conflict` | | `--file-types` | Типы вложений для синхронизации: `image`, `audio`, `video`, `pdf`, `unsupported` (через запятую, пустое значение для очистки) | | `--configs` | Категории конфигурации для синхронизации: `app`, `appearance`, `appearance-data`, `hotkey`, `core-plugin`, `core-plugin-data`, `community-plugin`, `community-plugin-data` (через запятую, пустое значение для отключения синхронизации конфигурации) | | `--excluded-folders` | Папки для исключения (через запятую, пустое значение для очистки) | | `--device-name` | Имя устройства для идентификации этого клиента в истории версий синхронизации | | `--config-dir` | Имя папки конфигурации (по умолчанию: `.obsidian`) | ### `ob sync-status` Отображение статуса синхронизации и конфигурации хранилища. ``` ob sync-status [--path <local-path>] ``` ### `ob sync-unlink` Отключение хранилища от синхронизации и удаление сохранённых учётных данных. ``` ob sync-unlink [--path <local-path>] ``` ## Нативные модули Obsidian Headless включает предварительно собранный нативный аддон для установки времени создания файла (birthtime) в Windows и macOS. Это сохраняет оригинальные метки времени создания при загрузке файлов с сервера. Аддон нацелен на N-API версии 3, поэтому скомпилированные бинарные файлы ABI-стабильны и работают с разными версиями Node.js без перекомпиляции. В Linux birthtime не поддерживается — аддон не включён, и синхронизация работает нормально без него. Предварительно собранные бинарные файлы включены для: - `win32-x64` - `win32-arm64` - `win32-ia32` - `darwin-x64` - `darwin-arm64`