CLI do Obsidian
Use a CLI para comportamentos que dependem do aplicativo em execução do Obsidian, índices, configurações, registro de comandos ou runtime de desenvolvimento. Use ferramentas normais do sistema de arquivos para operações comuns de arquivos.
Resolver e verificar a CLI
Não assuma um único nome de executável. O registro e o empacotamento do Obsidian diferem
por plataforma e versão, e binários de terceiros não relacionados podem usar o mesmo
nome. Selecione um candidato somente quando sua verificação de version for bem-sucedida.
No macOS/Linux:
resolve_obsidian_cli() {
local candidate
for candidate in \
"${COPILOT_OBSIDIAN_CLI:-}" \
/Applications/Obsidian.app/Contents/MacOS/obsidian-cli \
"$(command -v obsidian 2>/dev/null || true)" \
"$(command -v obsidian-cli 2>/dev/null || true)"
do
[[ -n "$candidate" && -x "$candidate" ]] || continue
if "$candidate" version >/dev/null 2>&1; then
printf '%s\n' "$candidate"
return 0
fi
done
return 1
}
OBSIDIAN_CLI=$(resolve_obsidian_cli) || {
echo "CLI do Obsidian indisponível" >&2
exit 1
}
"$OBSIDIAN_CLI" version
No PowerShell:
$candidates = @(
$env:COPILOT_OBSIDIAN_CLI,
(Get-Command obsidian -ErrorAction SilentlyContinue).Source,
(Get-Command obsidian-cli -ErrorAction SilentlyContinue).Source
) | Where-Object { $_ }
$OBSIDIAN_CLI = $candidates | Where-Object {
try { & $_ version *> $null; $LASTEXITCODE -eq 0 } catch { $false }
} | Select-Object -First 1
if (-not $OBSIDIAN_CLI) { throw "CLI do Obsidian indisponível" }
& $OBSIDIAN_CLI version
Se a verificação falhar, peça ao usuário para abrir uma versão compatível do Obsidian, ativar Configurações > Geral > Interface de linha de comando, concluir o registro e reiniciar o terminal. Não instale o Obsidian, altere o PATH ou registre a CLI sem intenção explícita do usuário.
Use o executável resolvido no lugar de obsidian em todos os exemplos de referência:
"$OBSIDIAN_CLI" vaults
"$OBSIDIAN_CLI" help search
Aponte para o cofre com precisão
Use vault="<nome-ou-id>" sempre que o alvo for conhecido. Nunca incorpore um nome
de cofre pessoal ou caminho de máquina nesta habilidade.
"$OBSIDIAN_CLI" vault="<nome-do-cofre>" search query="prazo do projeto" format=json
"$OBSIDIAN_CLI" vault="<nome-do-cofre>" backlinks path="Projects/Plan.md" format=json
Use path= para um caminho exato relativo ao cofre. Use file= apenas quando a
resolução de nome estilo wikilink do Obsidian for desejada. Coloque entre aspas valores que contenham
caracteres especiais do shell ou espaços. Inspecione a ajuda ao vivo antes de confiar em sintaxe não
mostrada pela versão instalada:
"$OBSIDIAN_CLI" help <comando>
Operações principais
# Ler e escrever
"$OBSIDIAN_CLI" vault="<nome-do-cofre>" read path="Projects/Roadmap.md"
"$OBSIDIAN_CLI" vault="<nome-do-cofre>" append path="Journal.md" content="- Nova entrada"
# Pesquisar e metadados
"$OBSIDIAN_CLI" vault="<nome-do-cofre>" search query="API" limit=10 format=json
"$OBSIDIAN_CLI" vault="<nome-do-cofre>" properties path="Projects/Roadmap.md"
# Nota diária configurada e tarefas indexadas
"$OBSIDIAN_CLI" vault="<nome-do-cofre>" daily:append content="- 14h: Ligação" silent
"$OBSIDIAN_CLI" vault="<nome-do-cofre>" tasks all todo
# Espaço de trabalho ao vivo
"$OBSIDIAN_CLI" vault="<nome-do-cofre>" tabs ids
"$OBSIDIAN_CLI" vault="<nome-do-cofre>" workspace ids
Preserve a sessão do host
Nunca recarregue ou reinicie o aplicativo/janela do Obsidian a partir de uma sessão de agente. Nunca recarregue, desabilite ou desinstale o plugin que está hospedando a sessão atual do agente. Evite comandos equivalentes, JavaScript ou ações de ferramentas de desenvolvedor. Isso pode terminar a sessão e descartar trabalho em andamento.
Exija intenção explícita do usuário antes de exclusão permanente, restauração de histórico local ou Sync, publicação ou despublicação, instalação ou remoção de plugins/temas, alterações de modo restrito, ou chamadas mutantes de JavaScript/desenvolvedor. Prefira operações reversíveis. As referências de comando descrevem capacidades; elas não autorizam mutações.
Guias de referência
Leia apenas o guia relevante para a tarefa. Trate obsidian nos exemplos como
o executável resolvido $OBSIDIAN_CLI e adicione vault="<nome-ou-id>" quando
o alvo for conhecido.
| Tarefa | Referência |
|---|---|
| Operações com notas, esboço, contagem de palavras, notas únicas | references/note-operations.md |
| Pesquisa, tags, propriedades, backlinks, órfãos, links não resolvidos | references/search-metadata.md |
| Notas diárias, tarefas, modelos | references/daily-tasks-templates.md |
| Cofres, espaço de trabalho, favoritos, plugins, temas, Sync, Publicar, Bases, ferramentas de desenvolvedor | references/vault-management.md |