Click on any obsidian item
/SKILLKnowledge management and note-taking via the Obsidian Local REST API. Designed for AI agents and power users who need to manage notes, search the vaul
--- name: "cli-anything-obsidian" description: >- Command-line interface for Obsidian : Knowledge management and note-taking via Obsidian Local REST API. Designed for AI agents and power users who need to manage notes, search the vault, and execute commands without the GUI. --- # cli-anything-obsidian Knowledge management and note-taking via the Obsidian Local REST API. Designed for AI agents and power users who need to manage notes, search the vault, and execute commands without the GUI. ## Installation This CLI is installed as part of the cli-anything-obsidian package: ``bash pip install cli-anything-obsidian ` **Prerequisites:** - Python 3.10+ - Obsidian must be installed and running with the [Local REST API plugin](https://github.com/coddingtonbear/obsidian-local-rest-api) enabled ## Usage ### Basic Commands `bash # Show help cli-anything-obsidian --help # Start interactive REPL mode cli-anything-obsidian # List vault files cli-anything-obsidian vault list # Run with JSON output (for agent consumption) cli-anything-obsidian --json vault list ` ### REPL Mode When invoked without a subcommand, the CLI enters an interactive REPL session: `bash cli-anything-obsidian # Enter commands interactively with tab-completion and history ` ## Command Groups ### Vault Vault file management commands. | Command | Description | |---------|-------------| | list | List files in the vault or a subdirectory | | read | Read the content of a note | | create | Create a new note | | update | Overwrite an existing note | | delete | Delete a note from the vault | | append | Append content to an existing note | ### Search Vault search commands. | Command | Description | |---------|-------------| | query | Search using Obsidian query syntax | | simple | Plain text search across the vault | ### Note Active note commands. | Command | Description | |---------|-------------| | active | Get the currently active note in Obsidian | | open | Open a note in the Obsidian editor | ### Command Obsidian command palette commands. | Command | Description | |---------|-------------| | list | List all available Obsidian commands | | execute | Execute a command by its ID | ### Server Server status and info commands. | Command | Description | |---------|-------------| | status | Check if the Obsidian Local REST API is running | ### Session Session state commands. | Command | Description | |---------|-------------| | status | Show current session state | ## Examples ### List and Read Notes `bash # List all vault files cli-anything-obsidian vault list # List files in a subdirectory cli-anything-obsidian vault list "Daily Notes" # Read a note cli-anything-obsidian vault read "Projects/my-project.md" ` ### Create and Update Notes `bash # Create a new note cli-anything-obsidian vault create "Projects/new-project.md" --content "# New Project" # Update (overwrite) a note cli-anything-obsidian vault update "Projects/new-project.md" --content "# Updated Content" # Append to a note cli-anything-obsidian vault append "Projects/new-project.md" --content "\n## New Section" ` ### Search `bash # Plain text search (GET /search/simple/) cli-anything-obsidian search simple "meeting notes" # Dataview DQL query : default --type dql, sent as # application/vnd.olrapi.dataview.dql+txt cli-anything-obsidian search query 'TABLE file.link FROM "Projects"' # JsonLogic query : application/vnd.olrapi.jsonlogic+json cli-anything-obsidian search query --type jsonlogic \ '{"==":[{"var":"frontmatter.status"},"active"]}' ` ### Commands `bash # List available commands cli-anything-obsidian command list # Execute a command by ID cli-anything-obsidian command execute "editor:toggle-bold" ` ### Interactive REPL Session Start an interactive session for exploratory use. `bash cli-anything-obsidian # Enter commands interactively # Use 'help' to see available commands ` ### API Key Configuration `bash # Via flag cli-anything-obsidian --api-key YOUR_KEY vault list # Via environment variable (recommended for agents) export OBSIDIAN_API_KEY=YOUR_KEY cli-anything-obsidian vault list ` ## State Management The CLI maintains lightweight session state: - **API key**: Configurable via --api-key or OBSIDIANAPIKEY environment variable - **Host URL**: Defaults to https://localhost:27124; configurable via --host ## Output Formats All commands support dual output modes: - **Human-readable** (default): Tables, colors, formatted text - **Machine-readable** (--json flag): Structured JSON for agent consumption `bash # Human output cli-anything-obsidian vault list # JSON output for agents cli-anything-obsidian --json vault list ` ## For AI Agents When using this CLI programmatically: 1. **Always use --json` flag for parseable output 2. Check return codes - 0 for success, non-zero for errors 3. Parse stderr** for error messages on failure