O Obsidian CLI é uma interface de linha de comando que permite controlar o Obsidian a partir do seu terminal para scripts, automação e integração com ferramentas externas.
Qualquer coisa que você pode fazer no Obsidian, pode fazer pela linha de comando. O Obsidian CLI inclui até [[#Comandos para desenvolvedores|comandos para desenvolvedores]] para acessar ferramentas de desenvolvimento, inspecionar elementos, tirar capturas de tela, recarregar plugins e mais.
![[obsidian-cli.mp4#interface]]
> [!warning] Requer o instalador do Obsidian 1.12
> Usar o CLI requer o instalador do Obsidian 1.12. Consulte o [[Atualizar o Obsidian#Atualizações do instalador|guia de atualização da versão do instalador]].
## Instalar o Obsidian CLI
Atualize para a versão mais recente do [[Atualizar o Obsidian|instalador do Obsidian]] (1.11.7) e para a [[Versões de acesso antecipado|versão de acesso antecipado]] mais recente (1.12.x).
Ative o Obsidian CLI no Obsidian:
1. Vá para **Configurações** → **Geral**.
2. Ative a **Interface de linha de comando**.
3. Siga o prompt para registrar o Obsidian CLI.
Se encontrar problemas ao instalar o Obsidian CLI, consulte [[#Solução de problemas]].
## Primeiros passos
O Obsidian CLI suporta tanto comandos individuais quanto uma interface de terminal (TUI) com ajuda interativa e autocompletar.
> [!info] O aplicativo Obsidian deve estar em execução
> O Obsidian CLI requer que o aplicativo Obsidian esteja em execução. Se o Obsidian não estiver em execução, o primeiro comando que você executar iniciará o Obsidian.
>
> Quer sincronizar sem o aplicativo desktop? Consulte [[Sync sem interface|Obsidian Headless]].
### Executar um comando
Execute um comando individual sem abrir a TUI:
```shell
# Executar o comando de ajuda
obsidian help
```
### Usar a interface de terminal
Use a TUI digitando `obsidian`. Os comandos subsequentes podem ser inseridos sem `obsidian`.
```shell
# Abrir a TUI, depois executar ajuda
obsidian
help
```
A TUI suporta autocompletar, histórico de comandos e busca reversa. Use `Ctrl+R` para pesquisar no histórico de comandos. Consulte [[#Atalhos de teclado]] para todos os atalhos disponíveis.
## Exemplos
Aqui estão alguns exemplos do que o Obsidian CLI pode fazer.
### Uso cotidiano
```shell
# Abrir a nota diária de hoje
obsidian daily
# Adicionar uma tarefa à sua nota diária
obsidian daily:append content="- [ ] Comprar mantimentos"
# Pesquisar no seu cofre
obsidian search query="notas de reunião"
# Ler o arquivo ativo
obsidian read
# Listar todas as tarefas da sua nota diária
obsidian tasks daily
# Criar uma nova nota a partir de um modelo
obsidian create name="Viagem a Paris" template=Viagem
# Listar todas as etiquetas no seu cofre com contagens
obsidian tags counts
# Comparar duas versões de um arquivo
obsidian diff file=README from=1 to=3
```
### Para desenvolvedores
Muitos [[#Comandos para desenvolvedores]] estão disponíveis para desenvolvimento de plugins e temas. Esses comandos permitem que ferramentas de codificação agêntica testem e depurem automaticamente.
```shell
# Abrir ferramentas de desenvolvimento
obsidian devtools
# Recarregar um plugin da comunidade que você está desenvolvendo
obsidian plugin:reload id=my-plugin
# Tirar uma captura de tela do aplicativo
obsidian dev:screenshot path=screenshot.png
# Executar JavaScript no console do aplicativo
obsidian eval code="app.vault.getFiles().length"
```
## Como fazer
### Usar parâmetros e flags
Os comandos podem usar **parâmetros** e **flags**. A maioria dos comandos não requer nenhum parâmetro ou flag. Parâmetros obrigatórios são marcados como `required`. Por exemplo:
```shell
# Criar uma nova nota usando o nome padrão "Sem título"
obsidian create
```
Um **parâmetro** recebe um valor, escrito como `parâmetro=valor`. Se o valor tiver espaços, coloque-o entre aspas:
```shell
# Criar uma nova nota chamada "Nota" com conteúdo "Olá mundo"
obsidian create name=Nota content="Olá mundo"
```
Uma **flag** é um interruptor booleano sem valor. Inclua-a para ativá-la, por exemplo `open` e `overwrite` são flags:
```shell
# Criar uma nota e abri-la
obsidian create name=Nota content="Olá" open overwrite
```
Para conteúdo multilinha, use `\n` para nova linha. Use `\t` para tabulação.
```bash
obsidian create name=Nota content="# Título\n\nTexto do corpo"
```
### Selecionar um cofre
Se o diretório de trabalho atual do seu terminal for uma pasta de cofre, esse cofre será usado por padrão. Caso contrário, o cofre ativo no momento será usado.
Use `vault=<nome>` ou `vault=<id>` para selecionar um cofre específico. Isso deve ser o primeiro parâmetro antes do seu comando:
```shell
obsidian vault=Notas daily
obsidian vault="Meu Cofre" search query="teste"
```
Na TUI, use `vault:open <nome>` ou `<id>` para alternar para um cofre diferente.
### Selecionar um arquivo
Muitos comandos aceitam parâmetros `file` e `path` para selecionar um arquivo específico. Se nenhum for fornecido, o comando usa o arquivo ativo por padrão.
- `file=<nome>` resolve o arquivo usando a mesma resolução de links dos [[Links internos|links wiki]], correspondendo pelo nome do arquivo sem exigir o caminho completo ou extensão.
- `path=<caminho>` requer o caminho exato a partir da raiz do cofre, ex.: `pasta/nota.md`.
```shell
# Estes são equivalentes se "Receita.md" for o único arquivo com esse nome
obsidian read file=Receita
obsidian read path="Modelos/Receita.md"
```
### Copiar saída
Adicione `--copy` a qualquer comando para copiar a saída para a área de transferência:
```shell
read --copy
search query="TODO" --copy
```
## Comandos gerais
### `help`
Mostrar lista de todos os comandos disponíveis.
| Parâmetro | Descrição |
| ----------- | -------------------------------------- |
| `<comando>` | Mostrar ajuda para um comando específico. |
### `version`
Mostrar versão do Obsidian.
### `reload`
Recarregar a janela do aplicativo.
### `restart`
Reiniciar o aplicativo.
## Bases
Comandos para [[Introdução ao Bases|Bases]].
### `bases`
Listar todos os arquivos `.base` no cofre.
### `base:views`
Listar visualizações no arquivo base atual.
### `base:create`
Criar um novo item em uma base. Usa a visualização da base ativa por padrão se nenhum arquivo for especificado.
```bash
file=<nome> # nome do arquivo base
path=<caminho> # caminho do arquivo base
view=<nome> # nome da visualização
name=<nome> # nome do novo arquivo
content=<texto> # conteúdo inicial
open # abrir arquivo após criar
newtab # abrir em nova aba
```
### `base:query`
Consultar uma base e retornar resultados.
```bash
file=<nome> # nome do arquivo base
path=<caminho> # caminho do arquivo base
view=<nome> # nome da visualização a consultar
format=json|csv|tsv|md|paths # formato de saída (padrão: json)
```
## Favoritos
Comandos para [[Favoritos]].
### `bookmarks`
Listar favoritos.
```bash
total # retornar contagem de favoritos
verbose # incluir tipos de favoritos
format=json|tsv|csv # formato de saída (padrão: tsv)
```
### `bookmark`
Adicionar um favorito.
```bash
file=<caminho> # arquivo para favoritar
subpath=<subcaminho> # subcaminho (cabeçalho ou bloco) dentro do arquivo
folder=<caminho> # pasta para favoritar
search=<consulta> # consulta de pesquisa para favoritar
url=<url> # URL para favoritar
title=<título> # título do favorito
```
## Paleta de comandos
Comandos para [[Paleta de comandos]] e [[Teclas de atalho]]. Isso inclui todos os comandos registrados por plugins.
### `commands`
Listar IDs de comandos disponíveis.
```bash
filter=<prefixo> # filtrar por prefixo de ID
```
### `command`
Executar um comando do Obsidian.
```bash
id=<id-do-comando> # (obrigatório) ID do comando a executar
```
### `hotkeys`
Listar teclas de atalho para todos os comandos.
```bash
total # retornar contagem de teclas de atalho
verbose # mostrar se a tecla de atalho é personalizada
format=json|tsv|csv # formato de saída (padrão: tsv)
```
### `hotkey`
Obter tecla de atalho para um comando.
```bash
id=<id-do-comando> # (obrigatório) ID do comando
verbose # mostrar se é personalizada ou padrão
```
## Notas diárias
Comandos para [[Notas diárias]].
### `daily`
Abrir nota diária.
```bash
paneType=tab|split|window # tipo de painel para abrir
```
### `daily:path`
Obter caminho da nota diária. Retorna o caminho esperado mesmo se o arquivo ainda não foi criado.
### `daily:read`
Ler conteúdo da nota diária.
### `daily:append`
Anexar conteúdo à nota diária.
```bash
content=<texto> # (obrigatório) conteúdo a anexar
paneType=tab|split|window # tipo de painel para abrir
inline # anexar sem nova linha
open # abrir arquivo após adicionar
```
### `daily:prepend`
Inserir conteúdo no início da nota diária.
```bash
content=<texto> # (obrigatório) conteúdo a inserir no início
paneType=tab|split|window # tipo de painel para abrir
inline # inserir sem nova linha
open # abrir arquivo após adicionar
```
## Histórico de arquivo
### `diff`
Listar ou comparar versões da [[Recuperação de arquivos]] local e do [[Introdução ao Obsidian Sync|Sync]]. As versões são numeradas da mais nova para a mais antiga.
```bash
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
from=<n> # número da versão para comparar a partir
to=<n> # número da versão para comparar até
filter=local|sync # filtrar por origem da versão
```
**Exemplos:**
```shell
# Listar todas as versões do arquivo ativo
diff
# Listar todas as versões de um arquivo específico
diff file=Receita
# Comparar a versão mais recente com o arquivo atual
diff file=Receita from=1
# Comparar duas versões
diff file=Receita from=2 to=1
# Mostrar apenas versões do Sync
diff filter=sync
```
### `history`
Listar versões apenas da [[Recuperação de arquivos]]. Veja [[#Sync|sync:history]] para o comando equivalente do Sync.
```bash
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
```
### `history:list`
Listar todos os arquivos com histórico local.
### `history:read`
Ler uma versão do histórico local.
```bash
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
version=<n> # número da versão (padrão: 1)
```
### `history:restore`
Restaurar uma versão do histórico local.
```bash
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
version=<n> # (obrigatório) número da versão
```
### `history:open`
Abrir recuperação de arquivos.
```bash
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
```
## Arquivos e pastas
### `file`
Mostrar informações do arquivo (padrão: arquivo ativo).
```bash
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
```
Exemplo:
```
path Notas/Receita.md
name Receita
extension md
size 1024
created 1700000000000
modified 1700001000000
```
### `files`
Listar arquivos no cofre.
```bash
folder=<caminho> # filtrar por pasta
ext=<extensão> # filtrar por extensão
total # retornar contagem de arquivos
```
### `folder`
Mostrar informações da pasta.
```bash
path=<caminho> # (obrigatório) caminho da pasta
info=files|folders|size # retornar apenas informação específica
```
### `folders`
Listar pastas no cofre.
```bash
folder=<caminho> # filtrar por pasta pai
total # retornar contagem de pastas
```
### `open`
Abrir um arquivo.
```bash
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
newtab # abrir em nova aba
```
### `create`
Criar ou sobrescrever um arquivo.
```bash
name=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
content=<texto> # conteúdo inicial
template=<nome> # modelo a usar
overwrite # sobrescrever se o arquivo existir
open # abrir arquivo após criar
newtab # abrir em nova aba
```
### `read`
Ler conteúdo do arquivo (padrão: arquivo ativo).
```bash
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
```
### `append`
Anexar conteúdo a um arquivo (padrão: arquivo ativo).
```bash
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
content=<texto> # (obrigatório) conteúdo a anexar
inline # anexar sem nova linha
```
### `prepend`
Inserir conteúdo após o frontmatter (padrão: arquivo ativo).
```bash
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
content=<texto> # (obrigatório) conteúdo a inserir no início
inline # inserir sem nova linha
```
### `move`
Mover ou renomear um arquivo (padrão: arquivo ativo). Isso atualizará automaticamente os [[Links internos]] se estiver ativado nas [[Configurações#Sempre atualizar os links internos|configurações do cofre]].
```bash
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
to=<caminho> # (obrigatório) pasta ou caminho de destino
```
### `rename`
Renomear um arquivo (padrão: arquivo ativo). A extensão do arquivo é preservada automaticamente se omitida do novo nome. Use [[#`move`|move]] para renomear e mover um arquivo ao mesmo tempo. Isso atualizará automaticamente os [[Links internos]] se estiver ativado nas [[Configurações#Sempre atualizar os links internos|configurações do cofre]].
```bash
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
name=<nome> # (obrigatório) novo nome do arquivo
```
### `delete`
Excluir um arquivo (padrão: arquivo ativo, lixeira por padrão).
```bash
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
permanent # pular lixeira, excluir permanentemente
```
## Links
Comandos para [[Links inversos]] e [[Links de saída]].
### `backlinks`
Listar links inversos para um arquivo (padrão: arquivo ativo).
```bash
file=<nome> # nome do arquivo alvo
path=<caminho> # caminho do arquivo alvo
counts # incluir contagem de links
total # retornar contagem de links inversos
format=json|tsv|csv # formato de saída (padrão: tsv)
```
### `links`
Listar links de saída de um arquivo (padrão: arquivo ativo).
```bash
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
total # retornar contagem de links
```
### `unresolved`
Listar links não resolvidos no cofre.
```bash
total # retornar contagem de links não resolvidos
counts # incluir contagem de links
verbose # incluir arquivos de origem
format=json|tsv|csv # formato de saída (padrão: tsv)
```
### `orphans`
Listar arquivos sem links de entrada.
```bash
total # retornar contagem de órfãos
```
### `deadends`
Listar arquivos sem links de saída.
```bash
total # retornar contagem de becos sem saída
```
## Sumário
Comandos para [[Sumário]].
### `outline`
Mostrar cabeçalhos do arquivo atual.
```bash
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
format=tree|md|json # formato de saída (padrão: tree)
total # retornar contagem de cabeçalhos
```
## Plugins
Comandos para [[Plugins nativos]] e [[Plugins da comunidade]].
### `plugins`
Listar plugins instalados.
```bash
filter=core|community # filtrar por tipo de plugin
versions # incluir números de versão
format=json|tsv|csv # formato de saída (padrão: tsv)
```
### `plugins:enabled`
Listar plugins ativados.
```bash
filter=core|community # filtrar por tipo de plugin
versions # incluir números de versão
format=json|tsv|csv # formato de saída (padrão: tsv)
```
### `plugins:restrict`
Alternar ou verificar o modo restrito.
```bash
on # ativar modo restrito
off # desativar modo restrito
```
### `plugin`
Obter informações do plugin.
```bash
id=<id-do-plugin> # (obrigatório) ID do plugin
```
### `plugin:enable`
Ativar um plugin.
```bash
id=<id> # (obrigatório) ID do plugin
filter=core|community # tipo de plugin
```
### `plugin:disable`
Desativar um plugin.
```bash
id=<id> # (obrigatório) ID do plugin
filter=core|community # tipo de plugin
```
### `plugin:install`
Instalar um plugin da comunidade.
```bash
id=<id> # (obrigatório) ID do plugin
enable # ativar após instalar
```
### `plugin:uninstall`
Desinstalar um plugin da comunidade.
```bash
id=<id> # (obrigatório) ID do plugin
```
### `plugin:reload`
Recarregar um plugin (para desenvolvedores).
```bash
id=<id> # (obrigatório) ID do plugin
```
## Propriedades
Comandos relacionados a [[Propriedades]].
### `aliases`
Listar apelidos no cofre. Use `active` ou `file`/`path` para mostrar apelidos de um arquivo específico.
```bash
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
total # retornar contagem de apelidos
verbose # incluir caminhos dos arquivos
active # mostrar apelidos do arquivo ativo
```
### `properties`
Listar propriedades no cofre. Use `active` ou `file`/`path` para mostrar propriedades de um arquivo específico.
```bash
file=<nome> # mostrar propriedades do arquivo
path=<caminho> # mostrar propriedades do caminho
name=<nome> # obter contagem de propriedade específica
sort=count # ordenar por contagem (padrão: nome)
format=yaml|json|tsv # formato de saída (padrão: yaml)
total # retornar contagem de propriedades
counts # incluir contagens de ocorrências
active # mostrar propriedades do arquivo ativo
```
### `property:set`
Definir uma propriedade em um arquivo (padrão: arquivo ativo).
```bash
name=<nome> # (obrigatório) nome da propriedade
value=<valor> # (obrigatório) valor da propriedade
type=text|list|number|checkbox|date|datetime # tipo de propriedade
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
```
### `property:remove`
Remover uma propriedade de um arquivo (padrão: arquivo ativo).
```bash
name=<nome> # (obrigatório) nome da propriedade
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
```
### `property:read`
Ler o valor de uma propriedade de um arquivo (padrão: arquivo ativo).
```bash
name=<nome> # (obrigatório) nome da propriedade
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
```
## Publish
Comandos para [[Introdução ao Obsidian Publish|Obsidian Publish]].
### `publish:site`
Mostrar informações do site publish (slug, URL).
### `publish:list`
Listar arquivos publicados.
```bash
total # retornar contagem de arquivos publicados
```
### `publish:status`
Listar mudanças de publicação.
```bash
total # retornar contagem de mudanças
new # mostrar apenas arquivos novos
changed # mostrar apenas arquivos alterados
deleted # mostrar apenas arquivos deletados
```
### `publish:add`
Publicar um arquivo ou todos os arquivos alterados (padrão: arquivo ativo).
```bash
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
changed # publicar todos os arquivos alterados
```
### `publish:remove`
Despublicar um arquivo (padrão: arquivo ativo).
```bash
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
```
### `publish:open`
Abrir arquivo no site publicado (padrão: arquivo ativo).
```bash
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
```
## Notas aleatórias
Comandos para [[Nota aleatória]].
### `random`
Abrir uma nota aleatória.
```bash
folder=<caminho> # limitar a uma pasta
newtab # abrir em nova aba
```
### `random:read`
Ler uma nota aleatória (inclui caminho).
```bash
folder=<caminho> # limitar a uma pasta
```
## Pesquisa
Comandos para [[Pesquisa]].
### `search`
Pesquisar texto no cofre. Retorna caminhos de arquivos correspondentes.
```bash
query=<texto> # (obrigatório) consulta de pesquisa
path=<pasta> # limitar a uma pasta
limit=<n> # máximo de arquivos
format=text|json # formato de saída (padrão: text)
total # retornar contagem de correspondências
case # diferencia letras maiúsculas de minúsculas
```
### `search:context`
Pesquisar com contexto de linha correspondente. Retorna saída estilo grep `caminho:linha: texto`.
```bash
query=<texto> # (obrigatório) consulta de pesquisa
path=<pasta> # limitar a uma pasta
limit=<n> # máximo de arquivos
format=text|json # formato de saída (padrão: text)
case # diferencia letras maiúsculas de minúsculas
```
### `search:open`
Abrir visualização de pesquisa.
```bash
query=<texto> # consulta de pesquisa inicial
```
## Sync
Comandos para [[Introdução ao Obsidian Sync|Obsidian Sync]].
> [!tip] Sincronizar sem o aplicativo desktop
> Esses comandos controlam o Sync dentro do aplicativo Obsidian em execução. Para sincronizar cofres pela linha de comando sem o aplicativo desktop, consulte [[Sync sem interface]].
### `sync`
Pausar ou retomar a sincronização.
```bash
on # retomar sincronização
off # pausar sincronização
```
### `sync:status`
Mostrar status e uso da sincronização.
### `sync:history`
Listar histórico de versões do Sync para um arquivo (padrão: arquivo ativo).
```bash
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
total # retornar contagem de versões
```
### `sync:read`
Ler uma versão do Sync (padrão: arquivo ativo).
```bash
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
version=<n> # (obrigatório) número da versão
```
### `sync:restore`
Restaurar uma versão do Sync (padrão: arquivo ativo).
```bash
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
version=<n> # (obrigatório) número da versão
```
### `sync:open`
Abrir histórico do Sync (padrão: arquivo ativo).
```bash
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
```
### `sync:deleted`
Listar arquivos deletados no Sync.
```bash
total # retornar contagem de arquivos deletados
```
## Etiquetas
Comandos para [[Tags]].
### `tags`
Listar etiquetas no cofre. Use `active` ou `file`/`path` para mostrar etiquetas de um arquivo específico.
```bash
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
sort=count # ordenar por contagem (padrão: nome)
total # retornar contagem de etiquetas
counts # incluir contagens de etiquetas
format=json|tsv|csv # formato de saída (padrão: tsv)
active # mostrar etiquetas do arquivo ativo
```
### `tag`
Obter informações da etiqueta.
```bash
name=<etiqueta> # (obrigatório) nome da etiqueta
total # retornar contagem de ocorrências
verbose # incluir lista de arquivos e contagem
```
## Tarefas
Comandos para gerenciamento de tarefas.
### `tasks`
Listar tarefas no cofre. Use `active` ou `file`/`path` para mostrar tarefas de um arquivo específico.
```bash
file=<nome> # filtrar por nome de arquivo
path=<caminho> # filtrar por caminho de arquivo
status="<char>" # filtrar por caractere de status
total # retornar contagem de tarefas
done # mostrar tarefas concluídas
todo # mostrar tarefas incompletas
verbose # agrupar por arquivo com números de linha
format=json|tsv|csv # formato de saída (padrão: text)
active # mostrar tarefas do arquivo ativo
daily # mostrar tarefas da nota diária
```
**Exemplos:**
```bash
# Listar todas as tarefas no cofre
tasks
# Listar tarefas incompletas no cofre
tasks todo
# Listar tarefas concluídas de um arquivo específico
tasks file=Receita done
# Listar tarefas da nota diária de hoje
tasks daily
# Contar tarefas na nota diária
tasks daily total
# Listar tarefas com caminhos de arquivo e números de linha
tasks verbose
# Filtrar por status personalizado (use aspas em caracteres especiais)
tasks 'status=?'
```
### `task`
Mostrar ou atualizar uma tarefa.
```bash
ref=<caminho:linha> # referência da tarefa (caminho:linha)
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
line=<n> # número da linha
status="<char>" # definir caractere de status
toggle # alternar status da tarefa
daily # nota diária
done # marcar como concluída
todo # marcar como pendente
```
**Exemplos:**
```bash
# Mostrar informações da tarefa
task file=Receita line=8
task ref="Receita.md:8"
# Alternar conclusão da tarefa
task ref="Receita.md:8" toggle
# Alternar tarefa na nota diária
task daily line=3 toggle
# Definir status da tarefa
task file=Receita line=8 done # → [x]
task file=Receita line=8 todo # → [ ]
task file=Receita line=8 status=- # → [-]
task daily line=3 done # Marcar tarefa da nota diária como concluída
```
## Modelos
Comandos para [[Plugins/Modelos|Modelos]].
### `templates`
Listar modelos.
```bash
total # retornar contagem de modelos
```
### `template:read`
Ler conteúdo de um modelo.
```bash
name=<modelo> # (obrigatório) nome do modelo
title=<título> # título para resolução de variáveis
resolve # resolver variáveis do modelo
```
### `template:insert`
Inserir modelo no arquivo ativo.
```bash
name=<modelo> # (obrigatório) nome do modelo
```
**Notas:**
- A opção `resolve` processa as variáveis `{{date}}`, `{{time}}`, `{{title}}`
- Use `create path=<caminho> template=<nome>` para criar um arquivo com um modelo
## Temas e trechos
Comandos para [[Temas]] e [[Trechos CSS]].
### `themes`
Listar temas instalados.
```bash
versions # incluir números de versão
```
### `theme`
Mostrar tema ativo ou obter informações.
```bash
name=<nome> # nome do tema para detalhes
```
### `theme:set`
Definir tema ativo.
```bash
name=<nome> # (obrigatório) nome do tema (vazio para padrão)
```
### `theme:install`
Instalar um tema da comunidade.
```bash
name=<nome> # (obrigatório) nome do tema
enable # ativar após instalar
```
### `theme:uninstall`
Desinstalar um tema.
```bash
name=<nome> # (obrigatório) nome do tema
```
### `snippets`
Listar trechos CSS instalados.
### `snippets:enabled`
Listar trechos CSS ativados.
### `snippet:enable`
Ativar um trecho CSS.
```bash
name=<nome> # (obrigatório) nome do trecho
```
### `snippet:disable`
Desativar um trecho CSS.
```bash
name=<nome> # (obrigatório) nome do trecho
```
## Notas únicas
Comandos para [[Criador de nota única]].
### `unique`
Criar nota única.
```bash
name=<texto> # nome da nota
content=<texto> # conteúdo inicial
paneType=tab|split|window # tipo de painel para abrir
open # abrir arquivo após criar
```
## Cofre
### `vault`
Mostrar informações do cofre.
```bash
info=name|path|files|folders|size # retornar apenas informação específica
```
### `vaults`
Listar cofres conhecidos.
```bash
total # retornar contagem de cofres
verbose # incluir caminhos dos cofres
```
### `vault:open`
Alternar para um cofre diferente (apenas TUI).
```bash
name=<nome> # (obrigatório) nome do cofre
```
## Visualizador web
Comandos para [[Visualizador web]].
### `web`
Abrir URL no visualizador web.
```bash
url=<url> # (obrigatório) URL a abrir
newtab # abrir em nova aba
```
## Contagem de palavras
Comandos para [[Contagem de palavras]].
### `wordcount`
Contar palavras e caracteres (padrão: arquivo ativo).
```bash
file=<nome> # nome do arquivo
path=<caminho> # caminho do arquivo
words # retornar apenas contagem de palavras
characters # retornar apenas contagem de caracteres
```
## Área de trabalho
Comandos para [[Área de trabalho]] e o plugin [[Áreas de trabalho]].
### `workspace`
Mostrar árvore da área de trabalho.
```bash
ids # incluir IDs dos itens da área de trabalho
```
### `workspaces`
Listar áreas de trabalho salvas.
```bash
total # retornar contagem de áreas de trabalho
```
### `workspace:save`
Salvar layout atual como área de trabalho.
```bash
name=<nome> # nome da área de trabalho
```
### `workspace:load`
Carregar uma área de trabalho salva.
```bash
name=<nome> # (obrigatório) nome da área de trabalho
```
### `workspace:delete`
Excluir uma área de trabalho salva.
```bash
name=<nome> # (obrigatório) nome da área de trabalho
```
### `tabs`
Listar abas abertas.
```bash
ids # incluir IDs das abas
```
### `tab:open`
Abrir uma nova aba.
```bash
group=<id> # ID do grupo de abas
file=<caminho> # arquivo a abrir
view=<tipo> # tipo de visualização a abrir
```
### `recents`
Listar arquivos abertos recentemente.
```bash
total # retornar contagem de arquivos recentes
```
## Comandos para desenvolvedores
Comandos para ajudar no desenvolvimento de [[Plugins da comunidade]] e [[Temas]]. Saiba mais acessando a [Documentação para Desenvolvedores do Obsidian](https://docs.obsidian.md).
### `devtools`
Alternar ferramentas de desenvolvimento do Electron.
### `dev:debug`
Anexar/desanexar depurador do Chrome DevTools Protocol.
```bash
on # anexar depurador
off # desanexar depurador
```
### `dev:cdp`
Executar um comando do Chrome DevTools Protocol.
```bash
method=<CDP.method> # (obrigatório) método CDP a chamar
params=<json> # parâmetros do método como JSON
```
### `dev:errors`
Mostrar erros JavaScript capturados.
```bash
clear # limpar o buffer de erros
```
### `dev:screenshot`
Tirar uma captura de tela (retorna PNG em base64).
```bash
path=<nome-arquivo> # caminho do arquivo de saída
```
### `dev:console`
Mostrar mensagens do console capturadas.
```bash
limit=<n> # máximo de mensagens a mostrar (padrão 50)
level=log|warn|error|info|debug # filtrar por nível de log
clear # limpar o buffer do console
```
### `dev:css`
Inspecionar CSS com localizações de origem.
```bash
selector=<css> # (obrigatório) seletor CSS
prop=<nome> # filtrar por nome de propriedade
```
### `dev:dom`
Consultar elementos do DOM.
```bash
selector=<css> # (obrigatório) seletor CSS
attr=<nome> # obter valor do atributo
css=<prop> # obter valor da propriedade CSS
total # retornar contagem de elementos
text # retornar conteúdo de texto
inner # retornar innerHTML em vez de outerHTML
all # retornar todas as correspondências em vez da primeira
```
### `dev:mobile`
Alternar emulação mobile.
```bash
on # ativar emulação mobile
off # desativar emulação mobile
```
### `eval`
Executar JavaScript e retornar resultado.
```bash
code=<javascript> # (obrigatório) código JavaScript a executar
```
## Atalhos de teclado
Esses atalhos estão disponíveis na [[#Usar a interface de terminal|TUI]].
### Navegação
| Ação | Atalho |
| ---------------------------------------------------------- | --------------- |
| Mover cursor para a esquerda | `←` / `Ctrl+B` |
| Mover cursor para a direita (aceita sugestão no fim da linha) | `→` / `Ctrl+F` |
| Ir para o início da linha | `Ctrl+A` |
| Ir para o fim da linha | `Ctrl+E` |
| Voltar uma palavra | `Alt+B` |
| Avançar uma palavra | `Alt+F` |
### Edição
| Ação | Atalho |
| ------------------------------ | --------------------------- |
| Excluir até o início da linha | `Ctrl+U` |
| Excluir até o fim da linha | `Ctrl+K` |
| Excluir palavra anterior | `Ctrl+W` / `Alt+Backspace` |
### Autocompletar
| Ação | Atalho |
| ------------------------------------------------------- | ------------ |
| Entrar no modo de sugestão / aceitar sugestão selecionada | `Tab` |
| Sair do modo de sugestão | `Shift+Tab` |
| Entrar no modo de sugestão (a partir de entrada nova) | `↓` |
| Aceitar primeira/sugestão selecionada (no fim da linha) | `→` |
### Histórico
| Ação | Atalho |
| ------------------------------------------------------------- | --------------- |
| Entrada anterior do histórico / navegar sugestões acima | `↑` / `Ctrl+P` |
| Próxima entrada do histórico / navegar sugestões abaixo | `↓` / `Ctrl+N` |
| Busca reversa no histórico (digite para filtrar, `Ctrl+R` para ciclar) | `Ctrl+R` |
### Outros
| Ação | Atalho |
| ------------------------------------------------------- | -------------------- |
| Executar comando ou aceitar sugestão | `Enter` |
| Desfazer autocompletar / sair do modo de sugestão / limpar entrada | `Escape` |
| Limpar tela | `Ctrl+L` |
| Sair | `Ctrl+C` / `Ctrl+D` |
## Solução de problemas
Se você estiver tendo problemas para executar o Obsidian CLI:
- Certifique-se de estar usando a versão mais recente do [[Atualizar o Obsidian|instalador do Obsidian]] (1.12.4 ou superior).
- Reinicie seu terminal após registrar o CLI para que as alterações no PATH entrem em vigor.
- O Obsidian deve estar em execução. O CLI se conecta à instância do Obsidian em execução. Se o Obsidian não estiver em execução, o primeiro comando do CLI deve iniciar o aplicativo.
### Windows
O Obsidian CLI no Windows requer o instalador do Obsidian 1.12.4+. Consulte [[Atualizar o Obsidian|Atualização da versão do instalador]].
O Windows usa um redirecionador de terminal que conecta o Obsidian ao stdin/stdout corretamente. Isso é necessário porque o Obsidian normalmente é executado como um aplicativo GUI, que é incompatível com saídas de terminal no Windows. Quando você instala o Obsidian 1.12.4+, o redirecionador de terminal `Obsidian.com` será adicionado na pasta onde você instalou o arquivo `Obsidian.exe`.
### macOS
O registro do CLI adiciona o diretório de binários do Obsidian ao seu PATH via `~/.zprofile`. Se estiver tendo problemas, verifique o seguinte:
Seu arquivo `~/.zprofile` deve conter a seguinte linha. Se estiver faltando, você pode adicioná-la manualmente:
```
export PATH="$PATH:/Applications/Obsidian.app/Contents/MacOS"
```
#### Shells alternativos
O registro do CLI modifica apenas `~/.zprofile`, que é usado pelo zsh (o shell padrão do macOS). Se você usar um shell diferente, adicione o diretório de binários do Obsidian ao arquivo de configuração do seu shell manualmente:
- Bash: adicione `export PATH="$PATH:/Applications/Obsidian.app/Contents/MacOS"` ao `~/.bash_profile`
- Fish: execute `fish_add_path /Applications/Obsidian.app/Contents/MacOS`
### Linux
O registro do CLI cria um link simbólico em `/usr/local/bin/obsidian` apontando para o binário do Obsidian (requer sudo).
#### AppImage
Para instalações via AppImage, o link simbólico aponta para o arquivo `.AppImage` em vez do binário interno, pois o caminho de montagem muda a cada execução. Se o sudo falhar, o link simbólico é criado em `~/.local/bin/obsidian` como alternativa. Se estiver tendo problemas, verifique o seguinte.
Verifique se o link simbólico existe e aponta para o binário correto:
```
ls -l /usr/local/bin/obsidian
```
Se o link simbólico estiver faltando, crie-o manualmente:
```
sudo ln -s /caminho/para/obsidian /usr/local/bin/obsidian
```
Se o link simbólico foi criado em `~/.local/bin/`, certifique-se de que esse diretório está no seu PATH. Adicione o seguinte ao seu `~/.bashrc` ou `~/.zshrc`:
```
export PATH="$PATH:$HOME/.local/bin"
```
Se o link simbólico quebrar após mover ou renomear o arquivo `.AppImage`, registre novamente o CLI ou atualize o link simbólico manualmente.
#### Snap
O pacote Snap armazena dados de compilação insider em seu próprio diretório de dados do usuário. Se o CLI não detectar o `.asar` insider, defina `XDG_CONFIG_HOME` para apontar para o caminho de configuração do Snap:
```
export XDG_CONFIG_HOME="$HOME/snap/obsidian/current/.config"
```
Adicione isso ao seu `~/.bashrc` ou `~/.zshrc` para torná-lo persistente.
#### Flatpak
O Obsidian tenta fazer isso automaticamente, mas abaixo estão as instruções manuais. Se for uma instalação do sistema:
```
ln -s /var/lib/flatpak/exports/bin/md.obsidian.Obsidian ~/.local/bin/obsidian
```
Se for uma instalação de usuário:
```
ln -s ~/.local/share/flatpak/exports/bin/md.obsidian.Obsidian ~/.local/bin/obsidian
```