Obsidian CLI
Obsidianの実行中のアプリケーション、インデックス、設定、コマンドレジストリ、開発者ランタイムに依存する動作にはCLIを使用します。通常のファイル操作には標準のファイルシステムツールを使用してください。
CLIの解決とプローブ
単一の実行ファイル名を想定しないでください。Obsidianの登録方法やパッケージングはプラットフォームやリリースによって異なり、無関係なサードパーティ製バイナリが同じ名前を使用する可能性もあります。version プローブが成功した場合にのみ、候補を選択してください。
macOS/Linux:
resolve_obsidian_cli() {
local candidate
for candidate in \
"${COPILOT_OBSIDIAN_CLI:-}" \
/Applications/Obsidian.app/Contents/MacOS/obsidian-cli \
"$(command -v obsidian 2>/dev/null || true)" \
"$(command -v obsidian-cli 2>/dev/null || true)"
do
[[ -n "$candidate" && -x "$candidate" ]] || continue
if "$candidate" version >/dev/null 2>&1; then
printf '%s\n' "$candidate"
return 0
fi
done
return 1
}
OBSIDIAN_CLI=$(resolve_obsidian_cli) || {
echo "Obsidian CLIが見つかりません" >&2
exit 1
}
"$OBSIDIAN_CLI" version
PowerShell:
$candidates = @(
$env:COPILOT_OBSIDIAN_CLI,
(Get-Command obsidian -ErrorAction SilentlyContinue).Source,
(Get-Command obsidian-cli -ErrorAction SilentlyContinue).Source
) | Where-Object { $_ }
$OBSIDIAN_CLI = $candidates | Where-Object {
try { & $_ version *> $null; $LASTEXITCODE -eq 0 } catch { $false }
} | Select-Object -First 1
if (-not $OBSIDIAN_CLI) { throw "Obsidian CLIが見つかりません" }
& $OBSIDIAN_CLI version
プローブが失敗した場合は、ユーザーに互換性のあるObsidianリリースを開き、設定 > 一般 > コマンドラインインターフェースを有効にして登録を完了し、ターミナルを再起動するよう依頼してください。明示的なユーザーの意図なしにObsidianのインストール、PATHの変更、CLIの登録を行わないでください。
解決された実行ファイルを、すべてのリファレンス例の中で obsidian の代わりに使用します:
"$OBSIDIAN_CLI" vaults
"$OBSIDIAN_CLI" help search
Vaultを正確に指定する
ターゲットがわかっている場合は、常に vault="<名前またはID>" を使用してください。このスキルに個人のVault名やマシンのパスを埋め込まないでください。
"$OBSIDIAN_CLI" vault="<vault-name>" search query="プロジェクトの期限" format=json
"$OBSIDIAN_CLI" vault="<vault-name>" backlinks path="Projects/Plan.md" format=json
厳密なVault相対パスには path= を使用します。Obsidianのウィキリンク形式の名前解決が必要な場合のみ file= を使用してください。スペースやシェルの特殊文字を含む値はクォートで囲みます。インストールされているバージョンで表示されない構文に依存する前に、ライブヘルプを確認してください:
"$OBSIDIAN_CLI" help <command>
基本操作
# 読み取りと書き込み
"$OBSIDIAN_CLI" vault="<vault-name>" read path="Projects/Roadmap.md"
"$OBSIDIAN_CLI" vault="<vault-name>" append path="Journal.md" content="- 新しいエントリ"
# 検索とメタデータ
"$OBSIDIAN_CLI" vault="<vault-name>" search query="API" limit=10 format=json
"$OBSIDIAN_CLI" vault="<vault-name>" properties path="Projects/Roadmap.md"
# 設定済みデイリーノートとインデックス化されたタスク
"$OBSIDIAN_CLI" vault="<vault-name>" daily:append content="- 14:00 電話" silent
"$OBSIDIAN_CLI" vault="<vault-name>" tasks all todo
# ライブワークスペース
"$OBSIDIAN_CLI" vault="<vault-name>" tabs ids
"$OBSIDIAN_CLI" vault="<vault-name>" workspace ids
ホストセッションの保護
エージェントセッション中にObsidianアプリ/ウィンドウをリロードまたは再起動しないでください。現在のエージェントセッションをホストしているプラグインをリロード、無効化、アンインストールしないでください。同等のコマンド、JavaScript、開発者ツールの操作も避けてください。これらの操作はセッションを終了させ、進行中の作業を破棄する可能性があります。
永続的な削除、ローカルヒストリーまたはSyncの復元、公開/非公開、プラグイン/テーマのインストール/削除、制限モードの変更、またはJavaScript/開発者呼び出しの変更を行う前に、明示的なユーザーの意図を必要とします。可逆的な操作を優先してください。コマンドリファレンスは機能を説明するものであり、変更を許可するものではありません。
リファレンスガイド
タスクに関連するガイドのみを参照してください。例の中の obsidian は解決された $OBSIDIAN_CLI 実行ファイルとして扱い、ターゲットが既知の場合は vault="<名前またはID>" を追加してください。
| タスク | リファレンス |
|---|---|
| ノート操作、アウトライン、単語数、ユニークノート | references/note-operations.md |
| 検索、タグ、プロパティ、バックリンク、孤立ノート、未解決リンク | references/search-metadata.md |
| デイリーノート、タスク、テンプレート | references/daily-tasks-templates.md |
| Vault、ワークスペース、ブックマーク、プラグイン、テーマ、Sync、Publish、Bases、開発ツール | references/vault-management.md |