Obsidian CLIが登場
未来のデジタルノートに向けて
Obsidian用のCLIが登場しました。
コマンドラインからObsidianを操作できるツールです。obsidian helpとすればコマンド一覧が取得できます。
たとえば、コマンドラインで obsidian daily を実行すれば、今日のノートが開きます。やったね!
と思うかどうかは人それぞでしょう。
私は最初、「いやいや、コマンドラインを触れる人ならば、あらためてCLIなんていらんやん」と思っていました。プログラムで”今日の日付”を取得し、それをフォーマットした上で、.mdをくっつければ、それが「今日のノート」なんですから、あとはそれをopenすればいいわけです。専用のモジュールは必要ありません。
そもそもとして、そのような操作が可能であることがObsidianを使うことのメリットだったわけです。grepとかそういうこと、自由にできますよ、Evernoteとかできないでしょ、みたいな。
というわけで、あんまりObsidian CLIには期待していなかったのですが、いくつかよさげなポイントがありましたので、今回はそれを紹介します。
base
一番大きいのがこれです。baseの情報が扱える。
Obsidianの通常の情報は、さっきのようにmdファイルにアクセスすればいいだけです。しかし、baseはそうはいきません。baseファイルの中身って、こんな感じです。
ようは指示文なわけです。この指示文を利用して、Obsidianが保存しているファイルのメタ情報をフィルタリングして表示するのがbases機能なんですが、その「Obsidianが保存しているファイルのメタ情報」がvaultのフォルダからは見えません。
たぶんApplication Supportのフォルダの方に入っているのですが、それだってindex.jsonのような扱いやすい形はしてません。かなり難易度が高いです。
なのでこれまでbaseの情報はObsidian上でしか触れませんでした。それがこのCLIで変わります。
たとえば、obsidian basesを叩けば(*コマンドを実行する、の意)、以下のように存在するbaseファイルの一覧が返ってきます。
個別の中身を見たいならqueryをつけます。
obsidian base:query file=Chronological.base
一覧の形式は標準ではJSONですが、csvやmdも選べます。でも、このJSONがいいですよね。まるで、WebツールのAPIを叩いている気分になります。
上記は年表用のbaseを取得していますが、たとえばこのデータを使って、HTMLを新たに作ることができるでしょう(まさにAPIの利用です)。Obsidianの通常の画面上の表現力はどうしても限界がありますし、bases機能のビューもいろいろ制約があり、思い通りとはいきません。しかし、こうしてJSONでデータが返ってくるならば、遊びたい放題です。
ノート・ハッカーの心がくすぐられますね。
生成AIが利用する
もう一つ、現代において重要なのが「生成AIがObsidianを使えるようになる」ということでしょう。Obsidianに限りませんが、とりあえず「コマンドラインで操作できるなら、コマンドライン型の生成AIは自分のツールのように使える」という点は常に意識しておいた方がいいです。
生成AIに「〈今日のノート〉を作って」と依頼したときに、いちいちプロンプトを組み立てたり、リサーチするのではなく、 obsidian daily を実行してもらう。それで、Obsidian上で設定しているさまざまな要素(テンプレートやフォーマットの規則など)込みでノートがつくられる。つまり、一種のskillとして扱えるようになる。これは人によっては大きな恩恵でしょう。
あと、単純なappendなどは何でやってもさして違いはありませんが、上記のbaseやlink/backlinkなど、メタ情報に関する操作はObsidianを経由したほうが正確で早いはずです。それを生成AIが使えるようになる。これはデジタルノート3.0時代の萌芽を示しているのかもしれません。
indexerとして
最後に、一気に想像を飛躍させておきましょう。
究極的に言うと、CLI経由で操作すれば、Obsidianのアプリを一度も開くことなく情報を蓄積し、引き出し、使用することができるようになりました。つまり、エディタとしてのObsidianの役割を完全に無視できるということです(あくまで極端な話をしています)。
だったら別にObsidianはいらないのではないか、と思われるでしょう。あるいはこう問い返してもいいです。「そのとき、Obsidianは何をしているのか?」
答えは簡単です。メタ情報を管理しているのです。つまりインデックスですね。Obsidian経由で情報を扱うとそれがインデックスに編入される。それにより、検索やリンクやbaseなどが使えるようになる。それはただ情報を保存しているだけとは違った層を情報の扱いにもたらすことを意味します(Macのspotlightもそれをしています)。
ファイルを置くだけがデジタルノートの役割ではありません。むしろそれらのデータのインデックスを保持し、ユーザーの利用を助けるところに大きな役割があります。少なくとも、デジタルノートはそうしたインデックスがないと回りません。数が多く、「場所」の概念を持たないからです。
そうすると、新しい概念が提出できます。CMSにはHeadless CMSというコンセプトがありますが、それと同じです。Headless Notes、あるいはEditorless Notes。indexを管理するための装置、すなわちindexer。
Obsidianがそうなるという話ではありません。一つのデジタルノートの未来の話です。






