Obsidian向け Gemini CLI プラグイン

AI/ML

概要

obsidian-gemini-cli は、Obsidian のプラグインとして Gemini CLI を組み込み、Vault を Gemini の作業ディレクトリにして AI を協力者(コラボレータ)として動かせるようにするプロジェクトです。Vault 内のファイル読み書き、検索、シェル実行(bash)、および複数ステップのワークフローを通じて自律的な作業が可能になります。元は Claudian をベースに Claude Code CLI から Gemini CLI に置き換えたもので、Google アカウントによる認証を使うため API キー不要で試せる点が特徴です。ローカルノートと強力なモデルを結びつけることで、ドキュメント自動生成やリファクタリング、調査の自動化などに応用できます。

GitHub

リポジトリの統計情報

  • スター数: 2
  • フォーク数: 0
  • ウォッチャー数: 2
  • コミット数: 6
  • ファイル数: 20
  • メインの言語: TypeScript

主な特徴

  • Vault をそのまま Gemini の作業ディレクトリにし、ファイル単位での読み書きや検索を AI に許可して自律的な編集を実行できる。
  • Gemini CLI と直接連携し、Google アカウントでの認証を利用するため API キーを用意する必要がない(gemini-cli の認証フローに依存)。
  • bash コマンド実行や複数ステップのワークフローをサポートし、単発の応答ではなく連続したタスク済行を実現する。
  • Claudian(Claude Code CLI をベースにした実装)を移植した設計で、既存のエージェント系ワークフローを活かしつつ Gemini に置き換えている。

技術的なポイント

本プロジェクトは TypeScript で書かれた Obsidian プラグインで、Obsidian のプラグイン API を介して Vault 内のファイルシステムへアクセスします。Gemini CLI をバックエンドとして用い、ローカルで起動した gemini-cli と通信してモデルへのリクエストを行う設計です。設計上は Vault を「作業ディレクトリ」として扱い、エージェントにファイルの読み書き・検索・実行コマンドの権限を与えることで、単発のプロンプト応答ではなくマルチステップのワークフロー(検索→修正→検証→コミット)を行えるようにしています。また、Claudian の流れを引き継いでいるため、プロンプト設計やワークフロー管理のノウハウが活かされています。認証は gemini-cli 側の Google 認証フローを利用するため、プラグインは API キー管理を必要とせず、ユーザーの Google アカウントを通してモデルへアクセスします。一方で Vault 内のファイルやシェル実行の許可を与える性質上、権限とセキュリティに注意が必要です(秘密情報や実行権限を持たせない運用、コードレビュー、限定的なボールトでの利用が推奨されます)。開発面では TypeScript の型安全性、ESLint 設定、npm/yarn による依存管理やビルド設定などが含まれ、Obsidian のプラグインビルドパイプラインに沿った構成になっています。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .env.local.example: file
  • .eslintrc.cjs: file
  • .github: dir
  • .gitignore: file
  • .npmrc: file

…他 15 ファイル

上記に加え、リポジトリから想定される役割ごとの構成と役割:

  • .env.local.example: ローカル環境用の環境変数サンプル。機密設定や gemini-cli 関連の設定をここで参照する想定。
  • .eslintrc.cjs: コード品質のための ESLint 設定。TypeScript のスタイルやルールが定義されている。
  • .github: CI ワークフローや issue・PR テンプレートなどの GitHub 設定を格納するディレクトリ。
  • .gitignore / .npmrc: 不要ファイルの除外や npm の設定。ローカルの node_modules やビルド成果物の除外を制御する。
  • ソース(src): TypeScript のエントリポイントやプラグインのメインロジック、UI/コマンドの登録、gemini-cli との橋渡しを行うコードが存在する想定。Obsidian の manifest.json と main.ts(あるいは index.ts)でプラグインライフサイクルを管理する構成が一般的です。
  • package.json / tsconfig.json: 依存関係とビルド設定。開発スクリプトやビルド・パッケージ化に必要な設定が含まれます。
  • README.md: インストール方法、セットアップ手順、注意点、機能紹介などのドキュメント。本リポジトリにも簡潔な説明と特徴が記載されています。

これらのファイル群により、開発者はローカルで gemini-cli をセットアップし、Obsidian にプラグインを導入して Vault を学習・編集対象として利用するワークフローを構築できます。

まとめ

Vault をモデルの作業ディレクトリにすることで、ローカルドキュメントと強力な AI を結びつける実験的かつ実用的なプラグインです。

リポジトリ情報:

READMEの抜粋:

obsidian-gemini-cli

obsidian-gemini-cli is an Obsidian plugin that embeds Gemini CLI as an AI collaborator in your vault. Your vault becomes Gemini’s working directory, giving it full agentic capabilities: file read/write, search, bash commands, and multi-step workflows.

Based on Claudian — converted from Claude Code CLI to Gemini CLI. Uses your Google account (no API key needed).

Features