[[Введение в 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`