Obsidian 公式プラグイン&テーマ登録リポジトリ — 1,800以上のプラグインを支えるコミュニティディレクトリの全貌

タグ ObsidianコミュニティプラグインGitHubプラグイン開発JSONデータ分析ノートアプリテーマ登録columnコラムlinuxLinuxwindowsWindowsオープンソースobsidianmdobsidian-releases
🚀 今すぐ試せます! デモスクリプトをダウンロードして、解凍後にターミナルで bash ファイル名.sh を実行してください(中身を一度確認してから実行すると安心です)。 (macOS / Linux 環境が必要)

Obsidian 公式プラグイン&テーマ登録リポジトリ — 1,800以上のプラグインを支えるコミュニティディレクトリの全貌

ひとことでいうと

obsidian-releases は、ノートアプリ Obsidian(オブシディアン)のコミュニティプラグインとテーマの公式ディレクトリを管理する GitHub リポジトリです。Obsidian のアプリ内「コミュニティプラグイン」画面が参照するデータの源泉となっており、世界中の開発者が作ったプラグインやテーマの登録情報がここに集約されています。Obsidian 自体はクローズドソース(ソースコードが非公開)ですが、プラグインのエコシステムは公開されており、このリポジトリへのプルリクエスト(変更申請の仕組み)を通じて誰でも自作プラグインを全ユーザーに公開できます。ノートを使う一般ユーザーにも、プラグインを作る開発者にも、エコシステムを調査する研究者にも役立つ情報の宝庫です。


こんな人におすすめ

  1. Obsidian をもっと活用したいユーザーcommunity-plugins.json には登録プラグインの名前・作者・説明・リポジトリ URL がすべて含まれており、アプリを起動せずに手元で検索・フィルタリングができます。ダウンロード数データと組み合わせれば、人気ランキングも自分で作れます。

  2. 自作プラグインやテーマをみんなに使ってもらいたい開発者 — プルリクエストで community-plugins.json にエントリを追加する公式ワークフローが整備されています。Obsidian チームのレビューを経てマージされれば、世界中のユーザー向けにプラグインが配信されます。テーマ開発者向けには community-css-themes.json への登録フローも用意されています。

  3. Obsidian エコシステムを調査・分析したいリサーチャー — ダウンロード統計・非推奨リスト・削除済みリストが JSON 形式で公開されており、Python 標準ライブラリのみで即座に分析を始められます。プラグイン数の推移や人気カテゴリの把握、競合調査など多様な用途に対応します。


インストール・使い方

このリポジトリ自体は Obsidian アプリの一部ではなく、データ・設定ファイルの集まりです。Python 3(パイソン3)と git(ギット)があれば追加パッケージは不要で利用できます。

Step 1: リポジトリをクローンする

git clone https://github.com/obsidianmd/obsidian-releases.git
cd obsidian-releases

ターミナル(文字で命令を送る画面)にこのコマンドをコピー&ペーストして実行してください。git clone でリポジトリ(ソースコードの置き場所)のデータをまるごとパソコンにダウンロードし、cd でそのフォルダの中に移動します。

Step 2: プラグイン数・テーマ数を確認する

python3 -c "import json; data=json.load(open('community-plugins.json')); print(f'登録プラグイン数: {len(data)}')"
python3 -c "import json; data=json.load(open('community-css-themes.json')); print(f'登録テーマ数: {len(data)}')"

JSON ファイルを読み込み、登録されているプラグインとテーマのそれぞれの件数を表示します。まず全体像を数字で把握するのに便利な確認コマンドです。

Step 3: キーワードでプラグインを検索する

import json

with open("community-plugins.json") as f:
    plugins = json.load(f)

keyword = "calendar"
results = [
    p for p in plugins
    if keyword in p.get("name", "").lower()
    or keyword in p.get("description", "").lower()
]
for p in results[:5]:
    print(p["name"], "-", p["description"])

キーワード(ここでは "calendar")に一致するプラグインを名前・説明文から横断検索します。keyword の部分を好きな言葉に書き換えれば、別のテーマでも同じように検索できます。コピー&ペーストしてそのまま試してみてください。

Step 4: ダウンロード数ランキングを作る

import json

with open("community-plugin-stats.json") as f:
    stats = json.load(f)

top10 = sorted(stats.items(), key=lambda x: x[1].get("downloads", 0), reverse=True)[:10]
for plugin_id, data in top10:
    print(f"{plugin_id}: {data.get('downloads', 0):,} downloads")

ダウンロード数の多い順に上位10件を表示します。どのプラグインが最も使われているか、人気ランキングを手元で確認できます。


動かしてみた

Docker(仮想環境)上でリポジトリをクローンし、ファイル構成と Python での読み込みを確認しました。Python 3.12 が利用でき、標準ライブラリのみで JSON ファイルの読み込みと検索が問題なく動作することを確認しています。

確認できたファイル構成は次のとおりです。

community-plugins.json              # プラグイン登録リスト(名前・作者・説明・リポジトリ)
community-css-themes.json           # テーマ登録リスト
community-plugin-stats.json         # プラグイン統計データ(ダウンロード数等)
community-plugin-deprecation.json   # 非推奨プラグインリスト
community-plugins-removed.json      # 削除済みプラグインリスト
community-css-themes-removed.json   # 削除済みテーマリスト
desktop-releases.json               # Obsidian デスクトップリリース情報
plugin-review.md                    # プラグインレビューガイドライン

Python 標準ライブラリの json モジュールだけで全データを読み込めるため、追加パッケージのインストールは一切不要です。community-plugin-stats.json にはプラグインごとのダウンロード数が記録されており、データ分析にも即座に活用できます。desktop-releases.json には Obsidian アプリ本体の各バージョンのリリース情報が含まれており、バージョン管理や互換性確認にも利用できます。


ブラウザで試す(デモ)

このリポジトリに含まれる community-plugins.json のデータを使い、Gradio(グラジオ)によるプラグイン検索デモをブラウザから試せます。キーワードを入力するとプラグイン名・作者・説明文を横断的に検索し、マッチした結果を一覧表示します。Obsidian をインストールしていなくても、どんなプラグインが存在するかを素早く調べることができます。


はじめの一歩 — プラグイン開発者向け実践ガイド

自作プラグインをコミュニティに公開するには、community-plugins.json に次の形式でエントリを追加したプルリクエストを送ります。

{
  "id": "your-plugin-id",
  "name": "Your Plugin Name",
  "author": "Your Name",
  "description": "What your plugin does in one sentence.",
  "repo": "github-username/your-plugin-repo"
}

マージ前に Obsidian チームによるレビューが行われ、開発者ポリシーへの準拠が確認されます。プラグイン本体のコードはこのリポジトリには含めず、自分の GitHub リポジトリで manifest.jsonmain.js をリリースとして管理します。

正式公開前の段階では、BRAT(Beta Reviewers Auto-update Tool)プラグインを使ってベータテスターに配布する方法も推奨されています。正式登録前に実際のユーザーからフィードバックを得られるため、品質向上に役立ちます。実際の手順の流れをまとめると次のようになります。

  • まず自分の GitHub リポジトリでプラグインを作成し、manifest.jsonmain.js をリリースに含める
  • BRAT を使って信頼できるテスターに試してもらい、フィードバックをもらう
  • 準備が整ったら community-plugins.json にエントリを追加してプルリクエストを送る
  • Obsidian チームのレビューを経てマージされれば、全ユーザーに配信される

活用例

  • エコシステム分析: community-plugin-stats.json を読み込み、ダウンロード数ランキングや成長率を可視化する。どのカテゴリが人気かを一目で把握できる。
  • プラグイン開発のリサーチ: 既存プラグインの説明文を分析して、ニッチな用途や未カバー領域を発見する。競合がいない分野を探すのに役立つ。
  • 自動化モニタリング: CI/CD(継続的インテグレーション)で最新のプラグイン一覧を定期取得し、特定カテゴリの新着プラグインを自動ウォッチする。
  • Vault 管理ツール作成: インストール済みプラグインとこのリストを照合して、更新状況や非推奨・削除状態を自動チェックするスクリプトを作る。
  • テーマ選定支援: community-css-themes.json を取得してスクリーンショット URL を一覧表示するビジュアル選択ツールを作る。好みのデザインを効率よく探せる。
  • 学習用データセット: プラグインの説明文・名前・ダウンロード数を使い、自然言語処理や機械学習の練習用データセットとして活用する。

用語とポイント解説

Obsidian(オブシディアン) Markdown(マークダウン)形式でノートを書くためのアプリです。かんたんに言うと、テキストファイルをそのままパソコンに保存しながら、見やすく整理できるノートツールです。データはすべて手元のフォルダ(Vault)に保存されるため、インターネット接続なしでも使えます。クローズドソース(ソースコードが非公開)ですが、プラグイン機能は公開エコシステムとして運営されています。

コミュニティプラグイン 第三者の開発者が作った Obsidian の拡張機能です。かんたんに言うと、アプリに機能を追加できる「追加部品」のようなものです。JavaScript/TypeScript で書かれ、Vault の .obsidian/plugins/ フォルダに格納されます。このリポジトリが、コミュニティプラグイン全体の登録台帳になっています。

Vault(ボールト) Obsidian がノートを保存するフォルダの単位です。かんたんに言うと、Obsidian が管理する「ノートの引き出し」のようなものです。プラグインやテーマの設定もこのフォルダの中に含まれます。複数の Vault を使い分けることもできます。

manifest.json(マニフェスト) プラグインのメタデータ(基本情報)ファイルです。かんたんに言うと、プラグインの「身分証明書」で、ID・バージョン・対応する Obsidian の最小バージョンなどが書かれています。このファイルがないとプラグインとして認識されません。

BRAT(ブラット) Beta Reviewers Auto-update Tool の略で、未公開・ベータ版プラグインのテスト導入に使われるコミュニティプラグインです。かんたんに言うと、「正式公開前のプラグインをテスターに届けるための配布ツール」です。正式登録前に実際のユーザーからフィードバックを得るために広く活用されています。

versions.json(バージョンズ) プラグインの各バージョンと、対応する Obsidian バージョンのマッピングファイルです。かんたんに言うと、「このプラグインのバージョン X は Obsidian の何版以上が必要か」を記録した対応表です。後方互換性(古いバージョンでも動くようにすること)の管理に使われます。

プルリクエスト(Pull Request) GitHub 上でファイルや設定の変更を提案するための仕組みです。かんたんに言うと、「このファイルをこう変えてください」という変更申請書のようなものです。obsidian-releases ではこの仕組みを使って、開発者が自作プラグインの登録申請を行います。

JSON(ジェイソン) JavaScript Object Notation の略で、データを整理して保存するためのテキスト形式です。かんたんに言うと、プラグインの情報をコンピュータが読み書きしやすい「箇条書き形式」で並べたファイルです。このリポジトリのデータはほぼすべて JSON 形式で管理されており、Python など多くの言語からそのまま読み込めます。

desktop-releases.json Obsidian デスクトップアプリの各バージョンのリリース情報が含まれるファイルです。かんたんに言うと、「Obsidian 本体の更新履歴と配布 URL をまとめたリスト」です。プラグイン開発者が互換性を確認する際にも参照されます。


このリポジトリは Obsidian エコシステムの土台を支える重要なデータソースです。日々のノート活用をもっと便利にしたい方から、プラグインを世界に公開したい開発者、エコシステムの動向を調査したいリサーチャーまで、幅広い用途に対応しています。ぜひプラグイン検索スクリプトの作成やコミュニティプラグインの開発・公開などに活用してみてはいかがでしょうか。