obsidian
Obsidian
Obsidian vault = a normal folder on disk.
Vault structure (typical)
- Notes:
*.md(plain text Markdown; edit with any editor) - Config:
.obsidian/(workspace + plugin settings; usually don’t touch from scripts) - Canvases:
*.canvas(JSON) - Attachments: whatever folder you chose in Obsidian settings (images/PDFs/etc.)
Find the active vault(s)
Obsidian desktop tracks vaults here (source of truth):
~/Library/Application Support/obsidian/obsidian.json
obsidian-cli resolves vaults from that file; vault name is typically the folder name (path suffix).
Fast “what vault is active / where are the notes?”
- If you’ve already set a default:
obsidian-cli print-default --path-only - Otherwise, read
~/Library/Application Support/obsidian/obsidian.jsonand use the vault entry with"open": true.
Notes
- Multiple vaults common (iCloud vs
~/Documents, work/personal, etc.). Don’t guess; read config. - Avoid writing hardcoded vault paths into scripts; prefer reading the config or using
print-default.
obsidian-cli quick start
Pick a default vault (once):
obsidian-cli set-default "<vault-folder-name>"obsidian-cli print-default/obsidian-cli print-default --path-only
Search
obsidian-cli search "query"(note names)obsidian-cli search-content "query"(inside notes; shows snippets + lines)
Create
obsidian-cli create "Folder/New note" --content "..." --open- Requires Obsidian URI handler (
obsidian://…) working (Obsidian installed). - Avoid creating notes under “hidden” dot-folders (e.g.
.something/...) via URI; Obsidian may refuse.
Move/rename (safe refactor)
obsidian-cli move "old/path/note" "new/path/note"- Updates
[[wikilinks]]and common Markdown links across the vault (this is the main win vsmv).
Delete
obsidian-cli delete "path/note"
Prefer direct edits when appropriate: open the .md file and change it; Obsidian will pick it up.
More from thinkfleetai/thinkfleet-engine
local-whisper
Local speech-to-text using OpenAI Whisper. Runs fully offline after model download. High quality transcription with multiple model sizes.
149flyio-cli-public
Use the Fly.io flyctl CLI for deploying and operating apps on Fly.io: deploys (local or remote builder), viewing status/logs, SSH/console, secrets/config, scaling, machines, volumes, and Fly Postgres (create/attach/manage databases). Use when asked to deploy to Fly.io, debug fly deploy/build/runtime failures, set up GitHub Actions deploys/previews, or safely manage Fly apps and Postgres.
24kagi-search
Web search using Kagi Search API. Use when you need to search the web for current information, facts, or references. Requires KAGI_API_KEY in the environment.
22feishu-bridge
Connect a Feishu (Lark) bot to ThinkFleet via WebSocket long-connection. No public server, domain, or ngrok required. Use when setting up Feishu/Lark as a messaging channel, troubleshooting the Feishu bridge, or managing the bridge service (start/stop/logs). Covers bot creation on Feishu Open Platform, credential setup, bridge startup, macOS launchd auto-restart, and group chat behavior tuning.
13bambu-local
Control Bambu Lab 3D printers locally via MQTT (no cloud). Supports A1, A1 Mini, P1P, P1S, X1C.
10voice-transcribe
Transcribe audio files using OpenAI's gpt-4o-mini-transcribe model with vocabulary hints and text replacements. Requires uv (https://docs.astral.sh/uv/).
10