Que fait cli-anything-obsidian ?
Gestion des connaissances et prise de notes via l'API REST locale d'Obsidian. Conçu pour les agents IA et les utilisateurs avancés qui ont besoin de gérer des notes, de chercher dans le coffre et d'exécuter des commandes sans interface graphique.
Installation
Ce CLI est installé dans le cadre du package cli-anything-obsidian :
pip install cli-anything-obsidian
Prérequis :
- Python 3.10+
- Obsidian doit être installé et exécuté avec le plugin Local REST API activé
Utilisation
Commandes de base
# Afficher l'aide
cli-anything-obsidian --help
# Démarrer le mode REPL interactif
cli-anything-obsidian
# Lister les fichiers du coffre
cli-anything-obsidian vault list
# Exécuter avec sortie JSON (pour consommation par un agent)
cli-anything-obsidian --json vault list
Mode REPL
Lorsqu'il est invoqué sans sous-commande, le CLI entre dans une session REPL interactive :
cli-anything-obsidian
# Saisir les commandes de manière interactive avec complétion par tabulation et historique
Groupes de commandes
Vault
Commandes de gestion des fichiers du coffre.
| Commande | Description |
|---|---|
list | Lister les fichiers dans le coffre ou un sous-répertoire |
read | Lire le contenu d'une note |
create | Créer une nouvelle note |
update | Remplacer une note existante |
delete | Supprimer une note du coffre |
append | Ajouter du contenu à une note existante |
Search
Commandes de recherche dans le coffre.
| Commande | Description |
|---|---|
query | Rechercher avec la syntaxe de requête Obsidian |
simple | Recherche textuelle simple dans le coffre |
Note
Commandes pour la note active.
| Commande | Description |
|---|---|
active | Obtenir la note actuellement active dans Obsidian |
open | Ouvrir une note dans l'éditeur Obsidian |
Command
Commandes de la palette de commandes Obsidian.
| Commande | Description |
|---|---|
list | Lister toutes les commandes Obsidian disponibles |
execute | Exécuter une commande par son identifiant |
Server
Commandes d'état et d'information du serveur.
| Commande | Description |
|---|---|
status | Vérifier si l'API REST locale d'Obsidian est en cours d'exécution |
Session
Commandes d'état de session.
| Commande | Description |
|---|---|
status | Afficher l'état actuel de la session |
Exemples
Lister et lire des notes
# Lister tous les fichiers du coffre
cli-anything-obsidian vault list
# Lister les fichiers d'un sous-répertoire
cli-anything-obsidian vault list "Notes quotidiennes"
# Lire une note
cli-anything-obsidian vault read "Projets/mon-projet.md"
Créer et mettre à jour des notes
# Créer une nouvelle note
cli-anything-obsidian vault create "Projets/nouveau-projet.md" --content "# Nouveau Projet"
# Mettre à jour (remplacer) une note
cli-anything-obsidian vault update "Projets/nouveau-projet.md" --content "# Contenu mis à jour"
# Ajouter du contenu à une note
cli-anything-obsidian vault append "Projets/nouveau-projet.md" --content "\n## Nouvelle section"
Recherche
# Recherche textuelle simple (GET /search/simple/)
cli-anything-obsidian search simple "notes de réunion"
# Requête Dataview DQL — type par défaut --type dql, envoyé en tant que
# application/vnd.olrapi.dataview.dql+txt
cli-anything-obsidian search query 'TABLE file.link FROM "Projets"'
# Requête JsonLogic — application/vnd.olrapi.jsonlogic+json
cli-anything-obsidian search query --type jsonlogic \
'{"==":[{"var":"frontmatter.status"},"actif"]}'
Commandes
# Lister les commandes disponibles
cli-anything-obsidian command list
# Exécuter une commande par son identifiant
cli-anything-obsidian command execute "editor:toggle-bold"
Session REPL interactive
Démarrer une session interactive pour une utilisation exploratoire.
cli-anything-obsidian
# Saisir les commandes de manière interactive
# Utiliser 'help' pour voir les commandes disponibles
Configuration de la clé API
# Via un drapeau
cli-anything-obsidian --api-key MA_CLE vault list
# Via une variable d'environnement (recommandé pour les agents)
export OBSIDIAN_API_KEY=MA_CLE
cli-anything-obsidian vault list
Gestion de l'état
Le CLI maintient un état de session léger :
- Clé API : Configurable via
--api-keyou la variable d'environnementOBSIDIAN_API_KEY - URL de l'hôte : Par défaut
https://localhost:27124; configurable via--host
Formats de sortie
Toutes les commandes prennent en charge deux modes de sortie :
- Lisible par l'homme (par défaut) : Tableaux, couleurs, texte formaté
- Lisible par machine (drapeau
--json) : JSON structuré pour consommation par un agent
# Sortie humaine
cli-anything-obsidian vault list
# Sortie JSON pour agents
cli-anything-obsidian --json vault list
Pour les agents IA
Lors de l'utilisation programmatique de ce CLI :
- Utilisez toujours le drapeau
--jsonpour une sortie analysable - Vérifiez les codes de retour - 0 pour succès, non nul pour erreurs
- Analysez la sortie d'erreur (stderr) pour les messages d'erreur en cas d'échec
- Définissez la variable d'environnement
OBSIDIAN_API_KEYpour éviter de passer--api-keyà chaque appel - Vérifiez qu'Obsidian est en cours d'exécution avec
server statusavant les autres commandes
Plus d'informations
- Documentation complète : Voir README.md dans le package
- Couverture de test : Voir TEST.md dans le package
- Méthodologie : Voir HARNESS.md dans le plugin cli-anything-plugin
Version
1.1.0