CLI Obsidian
Utilisez la CLI pour les comportements qui dépendent de l'application Obsidian en cours d'exécution, de ses index, paramètres, registre de commandes ou environnement de développement. Utilisez les outils normaux du système de fichiers pour les opérations de fichiers ordinaires.
Résoudre et sonder la CLI
Ne présumez pas d'un seul nom d'exécutable. L'enregistrement et le packaging d'Obsidian diffèrent
selon la plateforme et la version, et des binaires tiers non liés peuvent utiliser le même nom.
Sélectionnez un candidat uniquement lorsque sa sonde version réussit.
Sur 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 Obsidian indisponible" >&2
exit 1
}
"$OBSIDIAN_CLI" version
Sur 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 Obsidian indisponible" }
& $OBSIDIAN_CLI version
Si la sonde échoue, demandez à l'utilisateur d'ouvrir une version compatible d'Obsidian, d'activer Paramètres > Général > Interface en ligne de commande, de finaliser son enregistrement, puis de redémarrer le terminal. N'installez pas Obsidian, ne modifiez pas le PATH et n'enregistrez pas la CLI sans l'intention explicite de l'utilisateur.
Utilisez l'exécutable résolu à la place de obsidian dans tous les exemples de référence :
"$OBSIDIAN_CLI" vaults
"$OBSIDIAN_CLI" help search
Cibler le coffre avec précision
Utilisez vault="<nom-ou-id>" dès que la cible est connue. N'intégrez jamais un nom de coffre
personnel ou un chemin machine dans cette compétence.
"$OBSIDIAN_CLI" vault="<nom-coffre>" search query="échéance projet" format=json
"$OBSIDIAN_CLI" vault="<nom-coffre>" backlinks path="Projets/Plan.md" format=json
Utilisez path= pour un chemin exact relatif au coffre. Utilisez file= uniquement lorsque la
résolution de nom de style wikilink d'Obsidian est souhaitée. Entourez de guillemets les valeurs
contenant des espaces ou des caractères spéciaux du shell. Inspectez l'aide en direct avant de
vous fier à une syntaxe non affichée par la version installée :
"$OBSIDIAN_CLI" help <commande>
Opérations principales
# Lecture et écriture
"$OBSIDIAN_CLI" vault="<nom-coffre>" read path="Projets/Roadmap.md"
"$OBSIDIAN_CLI" vault="<nom-coffre>" append path="Journal.md" content="- Nouvelle entrée"
# Recherche et métadonnées
"$OBSIDIAN_CLI" vault="<nom-coffre>" search query="API" limit=10 format=json
"$OBSIDIAN_CLI" vault="<nom-coffre>" properties path="Projets/Roadmap.md"
# Note quotidienne configurée et tâches indexées
"$OBSIDIAN_CLI" vault="<nom-coffre>" daily:append content="- 14h: Appel" silent
"$OBSIDIAN_CLI" vault="<nom-coffre>" tasks all todo
# Espace de travail en direct
"$OBSIDIAN_CLI" vault="<nom-coffre>" tabs ids
"$OBSIDIAN_CLI" vault="<nom-coffre>" workspace ids
Préserver la session hôte
Ne rechargez et ne redémarrez jamais l'application/fenêtre Obsidian depuis une session d'agent. Ne rechargez, ne désactivez et ne désinstallez jamais le plugin hébergeant la session d'agent en cours. Évitez les actions de commande, JavaScript ou d'outils de développement équivalentes. Celles-ci peuvent terminer la session et perdre le travail en cours.
Exigez l'intention explicite de l'utilisateur avant toute suppression permanente, restauration depuis l'historique local ou Sync, publication ou dépublication, installation ou suppression de plugin/thème, modification du mode restreint, ou appels JavaScript/développeur mutants. Préférez les opérations réversibles. Les références de commandes décrivent les capacités ; elles n'autorisent pas les mutations.
Guides de référence
Lisez uniquement le guide pertinent pour la tâche. Traitez obsidian dans leurs exemples comme
l'exécutable résolu $OBSIDIAN_CLI et ajoutez vault="<nom-ou-id>" lorsque la cible est connue.
| Tâche | Référence |
|---|---|
| Opérations sur les notes, plan, nombre de mots, notes uniques | references/note-operations.md |
| Recherche, tags, propriétés, backlinks, orphelins, liens non résolus | references/search-metadata.md |
| Notes quotidiennes, tâches, modèles | references/daily-tasks-templates.md |
| Coffres, espace de travail, signets, plugins, thèmes, Sync, Publish, Bases, outils dev | references/vault-management.md |