14
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ObsidianとローカルLLMを連携するAIプラグイン「Local LLM Hub」を作りました

14
Last updated at Posted at 2026-03-15

はじめに

このプラグインは、私が開発しているobsidian-gemini-helperローカルLLM専用版です。
obsidian-gemini-helperはRAGやMCPやSkillsがObsidianのアプリ上でチャット形式で使えたり、ワークフローを組むことが可能なプラグインです。
まだ申請が通る前であり、私自身が無名ということを考えればGitHub上でstarが70あるというのは、使えば気に入ってもらっているアプリではないでしょうか?海外の方からのStarやIssueが多いです(obsidianのcomunity pluginには12月に申請中の状況)

この度、Local LLMがqwen3.5の登場によりなんとなく使えるレベルになってきたということやOpenClawの爆発的な流行によりLocal LLMが注目を浴びているので、obsidian-gemini-helperと同じワークフローエンジン・同じUXパターンを、ネットに繋がなくてもPCからデータを一切外に出さずに、AIチャット・ワークフロー自動化・RAG(検索拡張生成)を実現するObsidianプラグイン 「Local LLM Hub」 を開発しました。

このプラグインの対象のユーザは下記の方々です。Local LLMを試すぐらいなので、AIやPCには詳しいという人を想定しています。

  • AIを使いたいけど、業務のデータや機密情報を含むため、他社サービスを使いたくない
  • ローカル環境で動かせることが魅力のObsidianなのでネットに繋がなくてもローカルで完結させたい

GitHubリポジトリ: takeshy/obsidian-local-llm-hub

なぜ「完全ローカル」なのか?

Local LLM Hub の最大の特徴は、プライバシーが「オプション設定」ではなく「アーキテクチャそのもの」であることです。
最初はobsidian-gemini-helperにLocal LLMを対応しようと考えたのですが、obsidian-gemini-helperが設定がかなり多くなってきていますし、名称とも一致しないし、ローカルに割り切ったほうがセキュリティを気にするユーザが安心してつかえるだろうということで敢えて同じ機能をもつPluginのローカル版として別途作成しました。

データ 保存先 / 処理場所
チャット履歴 Vault内のMarkdownファイル
RAGインデックス ワークスペースフォルダにローカル保存
LLMリクエスト localhost のみ(Ollama / LM Studio / vLLM / AnythingLLM)
MCPサーバー stdio経由のローカル子プロセス
機密ノート Web Crypto APIによるローカル暗号化

APIキーがクラウドに送られることも、ノートの内容が学習データに使われる心配もありません。手元のマシンリソースだけで完結するため、ランニングコストはゼロです。

主な機能

1. 自然言語で作れるAIワークフロー

ワークフローを定義することで一連の作業を自動化でき、ワークフローの定義はYAMLで記述されますが、YAMLの知識や複雑なプログラミングは不要です。
「やりたいこと」を自然言語で書くだけで、AIが自動的にワークフローを組み立ててくれます。

例えば、「現在のページをインフォグラフィック形式に変換して保存して」と入力して 生成 するだけで、即座にカスタムコマンドが完成します。
ただローカルのLLMモデルの性能では上手くワークフローが生成できない場合が多いです。
そんなときは Copy Prompt 機能を使って、一時的にブラウザのChatGPTやClaudeで生成した結果を貼り付けて適用することも可能です。
Copy Prompt機能はあくまでワークフローの「設計図」を作るだけなので、データを渡すこともありません。
ワークフローの構築に必要な定義と実現したいことをprompotに埋め込んだ状態の文字列をcopyできるようになっており、そのpromptの情報から外部のLLMにワークフローを構築してもらいます。
結果をまたワークフローのモーダルに書き戻すことによって、機密を守りつつ、外部のLLMも活用できるようにしています。
ワークフローで使えるnodeという機能は25種類ぐらいあり、その説明も含めるとかなりのcontextサイズになるので、フラグシップのモデルでないとなかなかちゃんと正解のワークフローを構築することが難しいのでこのような仕組みになっています。

AIでワークフロー作成

2. 23種類のノードを備えたビジュアルエディタ

生成されたワークフローは、ノードベースのUIで直感的に確認・編集が可能です。また生成AIがワークフロー作成の際にコメントも書いてくれるのでなんとなくどんなことを実行しようとしているのかが理解できるようになっています。

カテゴリ ノード例
制御フロー ifwhile
LLM command(プロンプト実行)
ノート操作 note-readnote-searchnote-list など
データ処理 httpjson
スクリプト script(サンドボックスJavaScript)
外部連携 obsidian-commandworkflow(サブワークフロー)

ファイルの作成・変更・削除などをトリガーにした自動実行や、ホットキーの割り当てにも対応しています。AIが実行した履歴を参照して、エラーのデバッグやプロンプトの微調整もObsidian内で完結します。

ワークフローパネル

3. Vault操作ツール(Function Calling)

Function Calling対応モデル(Qwen、Llama 3.1+、Mistralなど)を使えば、チャット中にAIがVaultを直接操作できます。

read_note · create_note · update_note · rename_note · search_notes · list_notes · list_folders · get_active_note · propose_edit · execute_javascript

「先週のミーティングノートを探して要約して」といった指示を出すと、AIが自分でノートを検索・読み取り・回答してくれます。ツールの利用範囲は All / No Search / Off の3モードで制御可能です。No Searchがある理由はRAGで調べてほしい時に直接Noteを検索することでトークンが使われてしまうことを防ぐためです。

ツール設定

4. ローカルRAG(検索拡張生成)

Vault内の情報をローカルの埋め込みモデル(例: nomic-embed-text)でベクトル化・インデックス化。過去のノートをコンテキストとして自動的に引き出しながらチャットできます。すべてローカルで計算・保存されるため、外部サービスへのデータ送信は一切ありません。

RAG付きチャット

5. MCP(Model Context Protocol)連携

ローカルの子プロセス(stdio)経由で、MCPサーバーに接続して機能を拡張できます。自作スクリプトや外部ツールを安全に呼び出すエージェント機能を実現します。MCPツールはVaultツールとマージされ、Function Calling経由で統合的にルーティングされます。インターネットの情報を取得したい時にClaudeのFetchのMCPをセットして使うなどしています。Chat画面上でどのMCPを使うかの制御ができるのでMCPによるコンテキスト肥大化問題も起こりにくくできます。

MCP付きチャット

6. ファイル暗号化

機密ノートをパスワードで保護できます。Web Crypto APIを使ったローカル暗号化で、APIキーや認証情報の保管に最適です。暗号化ファイルはAIチャットのツールからは見えない設計のため、意図しない情報漏洩を防ぎます。

対応フレームワーク

以下のローカルLLMサーバーに対応しています。推論時の思考プロセス(Reasoning)の表示や、Function Callingにもネイティブ対応しています。
Coplilot+PCを使っているのですが、AnythingLLMはNPUに対応しているのでPCを買って初めてNPUが100%にはりつくところを見られて嬉しいです。
ただ使いものになるかといったら微妙。。結局ある程度のモデルを使うのであればGPUとVRAMは必須ですね。

フレームワーク エンドポイント ストリーミング Function Calling
Ollama /api/chat(ネイティブAPI) リアルタイム 対応
LM Studio /v1/chat/completions(OpenAI互換) SSE 対応
vLLM /v1/chat/completions(OpenAI互換) SSE 対応
AnythingLLM /v1/openai/chat/completions(OpenAI互換) SSE 非対応

npu.png

兄弟プラグイン「Gemini Helper」との違い

Gemini Helper Local LLM Hub
LLMバックエンド Google Gemini API Ollama / LM Studio / vLLM / AnythingLLM
データの送信先 Googleサーバー localhost のみ
ワークフローエンジン 共通 共通
RAG Google File Search ローカル埋め込み
MCP 対応 対応(stdioのみ)
画像生成 / Web検索 対応(Gemini) 非対応
コスト 無料枠 / 従量課金 ランニングコストゼロ

最先端のクラウドモデルと推論スピードを求めるなら Gemini Helper。プライバシーが譲れない条件なら Local LLM Hub。「自宅のPCではGemini版、会社のPCではLocal LLM版」といった使い分けも違和感なく行えます。

インストール方法

現在、コミュニティプラグインの審査待ちのため、BRAT を使ったインストールを推奨しています。

  1. Obsidianコミュニティプラグインから「BRAT」をインストールして有効化
  2. BRATの設定画面から Add Beta plugin をクリック
  3. リポジトリURL https://github.com/takeshy/obsidian-local-llm-hub を入力して追加
  4. インストールされたら有効化し、設定画面からOllamaなどのURL(例: http://localhost:11434)を指定

おわりに

私自身はPCのGPUが非力なためにQwen3.5 2Bでしか動かせず、正直使い勝手も悪いですが、豊富にVRAMを積んだPC環境ならかなり快適に使っていただけるのでは?
オープンソースで開発していますので、バグ報告や機能要望、Pull RequestなどがあればGitHubのリポジトリまでお気軽にどうぞ。

14
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?