O [[Introdução ao Obsidian Sync|Obsidian Sync]] oferece um cliente headless para sincronizar cofres sem usar o aplicativo desktop. Útil para pipelines de CI, agentes e fluxos de trabalho automatizados. Sincronize as últimas alterações ou mantenha os arquivos continuamente atualizados. Instale o [[Sync sem interface|Obsidian Headless]] **(beta aberto)** para interagir com o [[Introdução ao Obsidian Sync|Obsidian Sync]] pela linha de comando sem o aplicativo desktop do Obsidian. O Sync sem interface usa as mesmas [[Segurança e privacidade|proteções de criptografia e privacidade]] do aplicativo desktop, incluindo criptografia de ponta a ponta. ## Início rápido > [!error] Faça backup dos seus dados antes de começar > 1. Sempre faça backup dos seus dados antes de começar, caso algo inesperado aconteça. > 2. Não use *ambos* o Sync do aplicativo desktop e o Sync sem interface no mesmo dispositivo, pois isso pode causar conflitos de dados. Use apenas um método de sincronização por dispositivo. Instale o [[Sync sem interface|Obsidian Headless]] **(beta aberto)**: ```shell npm install -g obsidian-headless ``` Você precisa ter uma [[Planos e limites de armazenamento|assinatura ativa do Obsidian Sync]]. ```shell # Entrar ob login # Listar seus cofres remotos ob sync-list-remote # Configurar um cofre para sincronização cd ~/vaults/my-vault ob sync-setup --vault "My Vault" # Executar uma sincronização única ob sync # Executar sincronização contínua (monitora alterações) ob sync --continuous ``` ## Comandos ### `ob sync-list-remote` Lista todos os cofres remotos disponíveis para sua conta, incluindo cofres compartilhados. ### `ob sync-list-local` Lista os cofres configurados localmente e seus caminhos. ### `ob sync-create-remote` Cria um novo cofre remoto. ``` ob sync-create-remote --name "Vault Name" [--encryption <standard|e2ee>] [--password <password>] [--region <region>] ``` | Opção | Descrição | | --- | --- | | `--name` | Nome do cofre (obrigatório) | | `--encryption` | `standard` para criptografia gerenciada, `e2ee` para criptografia de ponta a ponta | | `--password` | Senha de criptografia de ponta a ponta (solicitada se omitida) | | `--region` | [[Regiões do Sync\|Região]] do servidor (automático se omitido) | ### `ob sync-setup` Configura a sincronização entre um cofre local e um cofre remoto. ``` ob sync-setup --vault <id-or-name> [--path <local-path>] [--password <password>] [--device-name <name>] [--config-dir <name>] ``` | Opção | Descrição | | --- | --- | | `--vault` | ID ou nome do cofre remoto (obrigatório) | | `--path` | Diretório local (padrão: diretório atual) | | `--password` | Senha de criptografia E2E (solicitada se omitida) | | `--device-name` | Nome do dispositivo exibido no [[Histórico de versões\|histórico de versões da sincronização]] | | `--config-dir` | Nome do [[Pasta de configuração\|diretório de configuração]] (padrão: `.obsidian`) | ### `ob sync` Executa a sincronização para um cofre configurado. ``` ob sync [--path <local-path>] [--continuous] ``` | Opção | Descrição | | --- | --- | | `--path` | Caminho do cofre local (padrão: diretório atual) | | `--continuous` | Executa continuamente, monitorando alterações | ### `ob sync-config` Visualiza ou altera as [[Configurações do Sync e sincronização seletiva|configurações de sincronização]] de um cofre. Execute sem opções para exibir a configuração atual. ``` ob sync-config [--path <local-path>] [options] ``` | Opção | Descrição | | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `--path` | Caminho do cofre local (padrão: diretório atual) | | `--mode` | Modo de sincronização: `bidirectional` (padrão), `pull-only` (apenas baixar, ignorar alterações locais) ou `mirror-remote` (apenas baixar, reverter alterações locais) | | `--conflict-strategy` | `merge` ou `conflict` | | `--file-types` | Tipos de anexo para sincronizar: `image`, `audio`, `video`, `pdf`, `unsupported` (separados por vírgula, vazio para limpar) | | `--configs` | Categorias de configuração para sincronizar: `app`, `appearance`, `appearance-data`, `hotkey`, `core-plugin`, `core-plugin-data`, `community-plugin`, `community-plugin-data` (separados por vírgula, vazio para desativar a sincronização de configurações) | | `--excluded-folders` | Pastas para excluir (separadas por vírgula, vazio para limpar) | | `--device-name` | Nome do dispositivo para identificar este cliente no histórico de versões da sincronização | | `--config-dir` | Nome do diretório de configuração (padrão: `.obsidian`) | ### `ob sync-status` Exibe o status da sincronização e a configuração de um cofre. ``` ob sync-status [--path <local-path>] ``` ### `ob sync-unlink` Desconecta um cofre da sincronização e remove as credenciais armazenadas. ``` ob sync-unlink [--path <local-path>] ``` ## Módulos nativos O Obsidian Headless inclui um addon nativo pré-compilado para definir o horário de criação de arquivos (birthtime) no Windows e macOS. Isso preserva os timestamps originais de criação ao baixar arquivos do servidor. O addon tem como alvo a versão 3 do N-API, então os binários compilados são estáveis em ABI e funcionam entre versões do Node.js sem recompilação. No Linux, o birthtime não é suportado — o addon não é incluído e a sincronização opera normalmente sem ele. Binários pré-compilados são incluídos para: - `win32-x64` - `win32-arm64` - `win32-ia32` - `darwin-x64` - `darwin-arm64`