Work with Obsidian vaults as a knowledge base. Features: fuzzy/phonetic search across all notes, auto-folder detection for new notes, create/read/edit notes with frontmatter, manage tags and wikilinks. Use when: querying knowledge base, saving notes/documents, editing existing notes by user instructions.
Install
Documentation
Obsidian Knowledge Base
Obsidian vault = folder with Markdown files + .obsidian/ config.
Configuration
- -Vault Path:
/home/ruslan/webdav/data/ruslain - -Env:
OBSIDIAN_VAULT=/home/ruslan/webdav/data/ruslain
CLI Usage
Scripts location: /home/ruslan/.openclaw/workspace/skills/obsidian/scripts
Note: Global flags (--vault, --json) must come BEFORE the command.
export OBSIDIAN_VAULT=/home/ruslan/webdav/data/ruslain
cd /home/ruslan/.openclaw/workspace/skills/obsidian/scripts
Search (fuzzy/phonetic) - uses ripgrep for speed
python3 obsidian_search.py "$OBSIDIAN_VAULT" "query" --limit 10 --json
List notes
python3 obsidian_cli.py --json list # all notes
python3 obsidian_cli.py --json list "Projects" # in folder
List folders
python3 obsidian_cli.py --json folders
Read note
python3 obsidian_cli.py --json read "Note Name"
Create note
python3 obsidian_cli.py --json create "Title" -c "Content" -f "Folder" -t tag1 tag2
python3 obsidian_cli.py --json create "Title" -c "Content" --auto-folder # auto-detect folder
Edit note
python3 obsidian_cli.py --json edit "Note" append -c "Text to append"
python3 obsidian_cli.py --json edit "Note" prepend -c "Text at start"
python3 obsidian_cli.py --json edit "Note" replace -c "New full content"
python3 obsidian_cli.py --json edit "Note" replace-section -s "Summary" -c "New section text"
Tags
python3 obsidian_cli.py --json tags
Links (incoming/outgoing)
python3 obsidian_cli.py --json links "Note Name"
Suggest folder for content
python3 obsidian_cli.py --json suggest-folder "content text" --title "Note Title"
Workflow: Query Knowledge Base
1. Run obsidian_search.py with user query
2. Read top results if needed for context
3. Formulate answer based on found content
4. Cite sources: [[Note Name]]
Workflow: Save Note
1. If no folder specified → run suggest-folder or use --auto-folder
2. Create note with create command
3. Add appropriate tags based on content
4. Report created path to user
Workflow: Edit Note by Prompt
User prompts like:
- -"Добавь резюме в конец заметки X" →
edit X append -c "..." - -"Перепиши заметку Y более кратко" → read note, rewrite,
edit Y replace -c "..." - -"Добавь секцию 'Выводы' в заметку Z" →
edit Z replace-section -s "Выводы" -c "..."
Note Format
---
created: 2024-01-15T10:30:00
modified: 2024-01-15T12:00:00
tags:
- project
- work
---
Title
Content with [[wikilinks]] and #inline-tags.
Wikilinks
- -
[[Note Name]]— link to note - -
[[Note Name|Display Text]]— link with alias - -
[[Note Name#Section]]— link to section
Frontmatter Fields
Standard fields:
- -
created— creation timestamp - -
modified— last edit timestamp - -
tags— list of tags - -
aliases— alternative names for linking
Search Behavior
obsidian_search.py uses:
- -ripgrep for fast initial filtering
- -Title matching (highest weight)
- -Tag matching
- -Fuzzy content search with phonetic transliteration (RU↔EN)
- -Returns: path, title, score, matched context
Launch an agent with Obsidian - read, search, write and edit direct to obsidian vault. on Termo.