¿Qué hace cli-anything-obsidian?
Gestión del conocimiento y toma de notas mediante la API REST Local de Obsidian. Diseñado para agentes de IA y usuarios avanzados que necesitan gestionar notas, buscar en la bóveda y ejecutar comandos sin la interfaz gráfica.
Instalación
Esta CLI se instala como parte del paquete cli-anything-obsidian:
pip install cli-anything-obsidian
Requisitos previos:
- Python 3.10+
- Obsidian debe estar instalado y ejecutándose con el plugin de API REST Local habilitado
Uso
Comandos Básicos
# Mostrar ayuda
cli-anything-obsidian --help
# Iniciar modo REPL interactivo
cli-anything-obsidian
# Listar archivos de la bóveda
cli-anything-obsidian vault list
# Ejecutar con salida JSON (para consumo por agentes)
cli-anything-obsidian --json vault list
Modo REPL
Cuando se invoca sin un subcomando, la CLI entra en una sesión REPL interactiva:
cli-anything-obsidian
# Introduce comandos interactivamente con autocompletado e historial
Grupos de Comandos
Vault (Bóveda)
Comandos de gestión de archivos de la bóveda.
| Comando | Descripción |
|---|---|
list | Listar archivos en la bóveda o un subdirectorio |
read | Leer el contenido de una nota |
create | Crear una nueva nota |
update | Sobrescribir una nota existente |
delete | Eliminar una nota de la bóveda |
append | Añadir contenido al final de una nota existente |
Search (Búsqueda)
Comandos de búsqueda en la bóveda.
| Comando | Descripción |
|---|---|
query | Buscar usando sintaxis de consulta de Obsidian |
simple | Búsqueda de texto plano en toda la bóveda |
Note (Nota)
Comandos para la nota activa.
| Comando | Descripción |
|---|---|
active | Obtener la nota actualmente activa en Obsidian |
open | Abrir una nota en el editor de Obsidian |
Command (Comando)
Comandos de la paleta de comandos de Obsidian.
| Comando | Descripción |
|---|---|
list | Listar todos los comandos disponibles de Obsidian |
execute | Ejecutar un comando por su ID |
Server (Servidor)
Comandos de estado e información del servidor.
| Comando | Descripción |
|---|---|
status | Verificar si la API REST Local de Obsidian está funcionando |
Session (Sesión)
Comandos de estado de la sesión.
| Comando | Descripción |
|---|---|
status | Mostrar el estado actual de la sesión |
Ejemplos
Listar y Leer Notas
# Listar todos los archivos de la bóveda
cli-anything-obsidian vault list
# Listar archivos en un subdirectorio
cli-anything-obsidian vault list "Notas Diarias"
# Leer una nota
cli-anything-obsidian vault read "Proyectos/mi-proyecto.md"
Crear y Actualizar Notas
# Crear una nueva nota
cli-anything-obsidian vault create "Proyectos/nuevo-proyecto.md" --content "# Nuevo Proyecto"
# Actualizar (sobrescribir) una nota
cli-anything-obsidian vault update "Proyectos/nuevo-proyecto.md" --content "# Contenido Actualizado"
# Añadir contenido al final de una nota
cli-anything-obsidian vault append "Proyectos/nuevo-proyecto.md" --content "\n## Nueva Sección"
Búsqueda
# Búsqueda de texto plano (GET /search/simple/)
cli-anything-obsidian search simple "notas de reunión"
# Consulta Dataview DQL — por defecto --type dql, enviado como
# application/vnd.olrapi.dataview.dql+txt
cli-anything-obsidian search query 'TABLE file.link FROM "Proyectos"'
# Consulta JsonLogic — application/vnd.olrapi.jsonlogic+json
cli-anything-obsidian search query --type jsonlogic \
'{"==":[{"var":"frontmatter.status"},"activo"]}'
Comandos
# Listar comandos disponibles
cli-anything-obsidian command list
# Ejecutar un comando por ID
cli-anything-obsidian command execute "editor:toggle-bold"
Sesión REPL Interactiva
Inicia una sesión interactiva para uso exploratorio.
cli-anything-obsidian
# Introduce comandos interactivamente
# Usa 'help' para ver los comandos disponibles
Configuración de la Clave de API
# Mediante flag
cli-anything-obsidian --api-key TU_CLAVE vault list
# Mediante variable de entorno (recomendado para agentes)
export OBSIDIAN_API_KEY=TU_CLAVE
cli-anything-obsidian vault list
Gestión de Estado
La CLI mantiene un estado de sesión ligero:
- Clave de API: Configurable mediante
--api-keyo la variable de entornoOBSIDIAN_API_KEY - URL del host: Por defecto
https://localhost:27124; configurable mediante--host
Formatos de Salida
Todos los comandos soportan dos modos de salida:
- Legible para humanos (por defecto): Tablas, colores, texto formateado
- Legible para máquinas (flag
--json): JSON estructurado para consumo por agentes
# Salida humana
cli-anything-obsidian vault list
# Salida JSON para agentes
cli-anything-obsidian --json vault list
Para Agentes de IA
Cuando uses esta CLI de forma programática:
- Usa siempre el flag
--jsonpara obtener salida parseable - Verifica los códigos de retorno - 0 para éxito, distinto de cero para errores
- Lee stderr para mensajes de error en caso de fallo
- Configura la variable de entorno
OBSIDIAN_API_KEYpara evitar pasar--api-keyen cada llamada - Verifica que Obsidian esté funcionando con
server statusantes de otros comandos
Más Información
- Documentación completa: Ver README.md en el paquete
- Cobertura de pruebas: Ver TEST.md en el paquete
- Metodología: Ver HARNESS.md en cli-anything-plugin
Versión
1.1.0