[[Introduzione a Obsidian Sync|Obsidian Sync]] offre un client headless per sincronizzare le cassaforti senza utilizzare l'app desktop. Utile per pipeline CI, agenti e flussi di lavoro automatizzati. Sincronizza le ultime modifiche o mantieni i file costantemente aggiornati. Installa [[Obsidian Headless]] **(beta aperta)** per interagire con [[Introduzione a Obsidian Sync|Obsidian Sync]] dalla riga di comando senza l'app desktop di Obsidian. Headless Sync utilizza le stesse [[Sicurezza e privacy|protezioni di crittografia e privacy]] dell'app desktop, inclusa la crittografia end-to-end. ## Avvio rapido > [!error] Esegui il backup dei dati prima di iniziare > 1. Esegui sempre il backup dei dati prima di iniziare nel caso succeda qualcosa di imprevisto. > 2. Non utilizzare *sia* Sync dell'app desktop che Headless Sync sullo stesso dispositivo, poiché può causare conflitti di dati. Utilizza un solo metodo di sincronizzazione per dispositivo. Installa [[Obsidian Headless|Obsidian Headless]] **(beta aperta)**: ```shell npm install -g obsidian-headless ``` È necessario avere un [[Piani e limiti di archiviazione|abbonamento a Obsidian Sync]] attivo. ```shell # Accedi ob login # Elenca i vault remoti ob sync-list-remote # Configura una cassaforte per la sincronizzazione cd ~/vaults/my-vault ob sync-setup --vault "My Vault" # Esegui una sincronizzazione singola ob sync # Esegui la sincronizzazione continua (monitora le modifiche) ob sync --continuous ``` ## Comandi ### `ob sync-list-remote` Elenca tutti i caveau remoti disponibili per il tuo account, inclusi quelli condivisi. ### `ob sync-list-local` Elenca le cassaforti configurate localmente e i relativi percorsi. ### `ob sync-create-remote` Crea un nuovo caveau remoto. ``` ob sync-create-remote --name "Vault Name" [--encryption <standard|e2ee>] [--password <password>] [--region <region>] ``` | Opzione | Descrizione | | --- | --- | | `--name` | Nome vault (obbligatorio) | | `--encryption` | `standard` per crittografia gestita, `e2ee` per crittografia end-to-end | | `--password` | Password di crittografia end-to-end (richiesta se omessa) | | `--region` | [[Regioni di Sync\|Regione]] del server (automatica se omessa) | ### `ob sync-setup` Configura la sincronizzazione tra una cassaforte locale e un caveau remoto. ``` ob sync-setup --vault <id-or-name> [--path <local-path>] [--password <password>] [--device-name <name>] [--config-dir <name>] ``` | Opzione | Descrizione | | --- | --- | | `--vault` | ID o nome del caveau remoto (obbligatorio) | | `--path` | Directory locale (predefinito: directory corrente) | | `--password` | Password di crittografia E2E (richiesta se omessa) | | `--device-name` | Nome dispositivo mostrato nella [[Cronologia versioni\|cronologia delle versioni di Sync]] | | `--config-dir` | Nome della [[Cartella di configurazione\|directory di configurazione]] (predefinito: `.obsidian`) | ### `ob sync` Esegui la sincronizzazione per una cassaforte configurata. ``` ob sync [--path <local-path>] [--continuous] ``` | Opzione | Descrizione | | --- | --- | | `--path` | Percorso della cassaforte locale (predefinito: directory corrente) | | `--continuous` | Esegui in modo continuo, monitorando le modifiche | ### `ob sync-config` Visualizza o modifica le [[Impostazioni sincronizzazione e sincronizzazione selettiva|impostazioni di sincronizzazione]] per una cassaforte. Esegui senza opzioni per visualizzare la configurazione corrente. ``` ob sync-config [--path <local-path>] [options] ``` | Opzione | Descrizione | | --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `--path` | Percorso della cassaforte locale (predefinito: directory corrente) | | `--mode` | Modalità di sincronizzazione: `bidirectional` (predefinito), `pull-only` (solo download, ignora le modifiche locali), o `mirror-remote` (solo download, ripristina le modifiche locali) | | `--conflict-strategy` | `merge` o `conflict` | | `--file-types` | Tipi di allegati da sincronizzare: `image`, `audio`, `video`, `pdf`, `unsupported` (separati da virgola, vuoto per cancellare) | | `--configs` | Categorie di configurazione da sincronizzare: `app`, `appearance`, `appearance-data`, `hotkey`, `core-plugin`, `core-plugin-data`, `community-plugin`, `community-plugin-data` (separati da virgola, vuoto per disabilitare la sincronizzazione della configurazione) | | `--excluded-folders` | Cartelle da escludere (separate da virgola, vuoto per cancellare) | | `--device-name` | Nome dispositivo per identificare questo client nella cronologia delle versioni di Sync | | `--config-dir` | Nome della directory di configurazione (predefinito: `.obsidian`) | ### `ob sync-status` Mostra lo stato e la configurazione della sincronizzazione per una cassaforte. ``` ob sync-status [--path <local-path>] ``` ### `ob sync-unlink` Disconnetti una cassaforte dalla sincronizzazione e rimuovi le credenziali memorizzate. ``` ob sync-unlink [--path <local-path>] ``` ## Moduli nativi Obsidian Headless include un addon nativo precompilato per impostare il tempo di creazione dei file (birthtime) su Windows e macOS. Questo preserva i timestamp di creazione originali durante il download dei file dal server. L'addon è destinato alla versione N-API 3, quindi i binari compilati sono stabili a livello di ABI e funzionano su tutte le versioni di Node.js senza ricompilazione. Su Linux, il birthtime non è supportato — l'addon non è incluso e la sincronizzazione funziona normalmente senza di esso. I binari precompilati sono inclusi per: - `win32-x64` - `win32-arm64` - `win32-ia32` - `darwin-x64` - `darwin-arm64`