とことんDevOps | 日本仮想化技術のDevOps技術情報メディア

DevOpsに関連する技術情報を幅広く提供していきます。

日本仮想化技術がお届けする「とことんDevOps」では、DevOpsに関する技術情報や、日々のDevOps業務の中での検証結果、TipsなどDevOpsのお役立ち情報をお届けします。
主なテーマ: DevOps、CI/CD、コンテナ開発、IaCなど
読者登録と各種SNSのフォローもよろしくお願いいたします。

ObsidianとOpenCodeでAIエージェントを使って思考を整理する

最近はローカルLLMを使って、様々なAIエージェントやツールの動作検証を続けています。以前と比べると小型モデルでもかなり実用的になってきており、「これは普段使いできそうだな」と感じる場面が増えてきました。

そんな時、ギズモード・ジャパンさんで、ObsidianとClaude Codeを組み合わせて知識管理を行う動画が公開されていました。 内容としてはAMDのCPUとGPUを実装したマシンでローカルLLMで色々やってみようみたいな内容でした。

動画を観て、「Claude CodeではなくOpenCodeでも同じことができるのでは?」「普段自分はLM Studioを使っているので、この内容でLM Studioに置換えても上手くいくのでは?」などと考え、実際に環境を作って試してみました。

本記事では、その構成や設定方法、実際に使ってみた感想に加え、おすすめのローカルLLMもあわせてご紹介します。

Obsidianとは

Obsidianは、メモやアイデアをプライベートに保存し、それらをリンクで結んで自分だけのパーソナルWikiを構築できるのが特徴です。Markdown形式のプレーンテキストファイルとしてローカルにデータを保持するため、データの所有権がユーザーにあり、オフラインでも利用可能です。

obsidian.md

主な機能には以下のようなものがあります:

  • 双方向リンク: ノート間を自由に結びつけ、アイデア間の関連性を見つけることができます。
  • グラフビュー: メモ同士の関係性を視覚的に把握できます。
  • Canvas: アイデア出しやブレインストーミングのための無限の作業スペースです。
  • プラグインとテーマ: 数千ものプラグインやテーマで、自分に合わせた使い方が可能です。 要するに、自分の思考を整理し、知識ベースを構築するためのツールとして使われます。

Obsidianは無料で使えますが、複数クライアントからアクセスしやすくするための同期機能はサブスクする必要があります。一応回避策として、macOS版ではiCloud上に保管庫を置く方法があったりします。他のOSではそれぞれ何らかのドライブを使って同じようなことができそうです。

基本的にObsidianはプレーンテキストでメモを保存するため、そのようなデータの取り扱いが得意なAIエージェントと相性は良いため、組み合わせて使うとAIを使った情報の整理や膨大なデータから必要なデータの抜きだしがしやすくなります。

つまり連携させることにより、Obsidianの数千件のメモに対してAIが検索・要約・追記できるようになります。

OpenCodeとは

OpenCodeは色々なプロバイダーに対応するAIエージェントです。イメージとしてはCodexやClaude Codeに近いものです。

opencode.ai

OpenCodeソフトウェア自身は無料で使えて、LM StudioやOllamaと一緒に使うとローカルLLMでコーディングができたりします。もちろん、SaaSのプロバイダーと連携してSaaSのLLM(ClaudeのモデルやCodexモデルなど)が使えるようになります。同じソフトウェアで色々なモデルが使えるというのが特徴です。

今回の例はOpenCode CLIを使いましたが、OpenCode Desktopでも同じような事は可能です。 ポイントとして、Obsidian保管庫のパスををiCloudに設定した場合、iCloudディレクトリー内のObsidianというディレクトリーに保管庫のディレクトリーがあります。ここをOpenCode Desktopを起動してプロジェクトディレクトリーとして開けばOKです。

ObsidianとOpenCodeをインストールする

ObsidianとOpenCodeのインストールは、公式ドキュメントのインストール方法に従います。 macOSであれば、Homebrewでそれぞれインストール可能です。詳細は各プロジェクトの公式ドキュメントのインストール方法をご覧ください。

OpenCodeでLM Studioと連携する設定は別途必要です。 ちなみに設定方法はこんな感じです。当たり前ですが、指定したモデルはLM Studio上であらかじめダウンロードしておきましょう。

https://www.reddit.com/r/opencodeCLI/comments/1rkusvl/configure_lmstudio_for_opencode/?tl=ja

コンテキスト長についてはいつも説明しているように16384くらいを設定すれば今回ブログで紹介している程度のことはできると思います。もし複雑なことをやりたい場合は、マシンのスペックとやりたいことを相談して適切なコンテキスト長を設定してください。

ObsidianとOpenCodeを連携する

Obsidianにはプラグインという便利な仕組みがあって、色々なツールと連携したり機能を拡張できます。いわゆるブラウザーの拡張機能みたいなものです。

この中にその名もOpenCodeというプラグインがあって、これをインストールするとすぐ使えます。

community.obsidian.md

ObsidianとOpenCodeを連携し、ローカルLLMを利用することで、AIによるメモ整理や検索をAPI料金を気にせず利用できます。もちろんそれにはこの二つに加えてLM StudioやOllamaのいずれかの導入が必要です。

ページに書かれている通り、ワンクリックでOpenCodeがObsidian保管庫にアクセスできるのですが、残念ながらここで開かれるObsidianアプリ内のOpenCodeシェルが日本語入力の挙動がおかしいため、日本語入力モードでは利用できません。

しかし、ターミナルを別に開いてObsidian保管庫のパスにディレクトリー移動したあとopencodeを起動すれば、その中でOpenCodeからObsidianのメモに読み書きできます。

たとえば「買い物リストに鉛筆を追加して」と言えば、保管庫内の買い物リスト.mdに書いてくれますし、書いたファイルの確認として「買い物リストを表示して」と言えば、鉛筆と書かれた内容が表示されます。

リストに追加したところ。

リストを表示したところ。

Obsidianアプリを開くとAIに書かせた内容を見ることができます。

たとえば次のような長いリクエストもこなせます。

「そんなものにAIなんて不要」だと思う人がいるかもしれませんが、「情報を調べてまとめた内容をメモとしてどんどん保存する」、「これまで取ったメモから必要な情報だけを抜き出す」といったことが、ローカルAIをオフライン環境でもできるというのが良いところです。

まとめた内容はObsidianで確認できます。

ObsidianとOpenCode連携でおすすめのモデル

LLMプロバイダーとしてLM Studioを使っている場合の、おすすめLLMモデルを紹介します。 いずれもObsidianとOpenCode連携して動くことを確認できたモデルです。

ちなみに手元ではM4 Mac miniで動作するのを確認しました。

Ornith-1.0 9B

deepreinforce-aiが提供するAIコーディングエージェントの利用を前提として作られた、比較的新しいモデルです。9Bながら、他社モデルの12Bや35Bを超える能力がベンチマークで示されていると言うすごいモデルです。今回はメモを取るだけに使いましたが、コードを書かせても結構良いコードを作ってくれていたので、個人的にコード生成で標準で使おうかなと思っているモデルの一つです。

Ornithには32Bもあるので、高性能なGPUを実装したマシンを用意できるならそちらも試されるといいと思います。

Qwen3.5 4B, 9B

Qwenはアリババがオープンソースで開発するLLMモデルです。こちらも問題なく利用できました。4Bはかなりコンパクトなので、色々な環境で動かしやすくて最適です。

もしより高性能なGPUを搭載したマシンがあるのであれば、もっと大きいウェイトのモデルを使ったり、Qwen 3.6系のモデルを使うと、さらに賢い応答になると思います。

Gemma 4 E4B QAT

Gemma 4 E4BはGoogleが提供するLLMモデルの一つです。小さいモデルかつQAT量子化も行われているので、割りと多くの環境で動かしやすいと思います。このモデルでも動作するのを確認しています。 ただ少し融通が利かない時があるので、Qwen3.5やOrnith-1.0の方が正直言うとおすすめです。

最後に

今回のネタはギズモードさんのチャンネルのこちらの動画からインスピレーションを得たものです。

元ネタはOpenCodeではなくClaude Codeをフロントエンドに使っていましたが、今回はOpenCodeを使った流れでご紹介しました。

Claude CodeやCodexのようなクラウドAIだけでなく、OpenCodeとローカルLLMを組み合わせれば、メモや知識ベースを完全に自分の環境だけで扱えるようになります。Obsidianを使っている人は、一度試してみる価値があると思います。

実はこのネタを書く前に、AnythingLLMとAppleメモを使って同じようなことをしようとしたのですが、メモへの書き込みはできても読み込みができないとか、書き換えができないとか色々はまってしまったため、数時間悩んだ揚げ句にネタをボツにして、今回の内容に行き着きました。