1 ポイント 投稿者 GN⁺ 2 시간 전 | 1件のコメント | WhatsAppで共有
  • Obsidian Community が、プラグイン・テーマ向けの新しいディレクトリ兼開発者ダッシュボードとして公開され、提出、管理、発見、利用の流れを統合
  • 2020年の Obsidian API 公開以降、コミュニティプラグイン・テーマは 4,000件以上 作られ、プラグインのダウンロード数は 1億2,000万回 を超える
  • 新しいディレクトリは、閲覧・検索・フィルタリング・並べ替えを提供し、プロジェクトページに スクリーンショット、詳細情報、安全性スコアカードを表示
  • 自動レビュー がすべてのバージョンに適用され、開発者ポリシー準拠、コード品質、既知の脆弱性とマルウェアの可能性を検査
  • 既存プロジェクトは新システムへ移行され、最新基準を満たさないプラグイン・テーマは一時的な例外の後、公式ディレクトリから段階的に除外される予定

Obsidian Community公開

  • Obsidian Community は、Obsidian プラグインとテーマのための新しい ディレクトリ開発者ダッシュボード として公開
  • 2020年の Obsidian API 公開以降、コミュニティプラグインとテーマは 4,000件以上 作られ、Obsidian プラグインの累計ダウンロード数は 1億2,000万回 を超える
  • 目標は、誰でもプラグインとテーマをより 簡単かつ安全に 作成・配布・発見・利用できるようにすること
  • 今回の公開は、Community サイト、開発者ダッシュボード、自動レビュー、プラグインの安全性、チーム向けツールをまとめて導入する、より大きな計画の始まり

Communityサイトと開発者ダッシュボード

  • 新しい Communityサイト は、プラグインとテーマの探索のために 閲覧、検索、フィルタリング、並べ替え を提供
  • IntegrationsBasesCharts など数十のカテゴリと、さらに多くのカテゴリ からプラグインを探せる
  • プロジェクトは、名前、ダウンロード数、人気、リリース日、更新日で並べ替え可能
  • 各プロジェクト詳細ページには スクリーンショット、詳細情報、安全性スコアカード が含まれる
  • 有料プラグインと公式統合には新しいラベルが表示される
  • 作者はプロフィールページに 支援オプション、Webサイトのリンク、ソーシャルメディアのリンクを追加できる
  • Obsidian Community サイトは、作者がプロジェクトを 提出、管理、状態追跡 できる新しい開発者ダッシュボードを提供
  • 既存の GitHub 経由で追加されたすべてのプラグイン、テーマ、保留中の提出物は新サイトへ自動移行される
  • 既存プロジェクトの所有権を主張するには、Communityサイトにログイン して GitHub アカウントを連携する必要がある
  • GitHub アカウントを連携すると、既存プロジェクトの管理、新規プロジェクトの提出、プロフィールページの編集が可能になる

自動レビューと安全性

  • すべてのコミュニティプロジェクトに 自動レビュー が導入される
  • 新しい自動レビューシステムは、初回提出だけでなく すべてのバージョン をセキュリティとコード品質の基準でスキャンする
  • これまでは少人数のチームが初回提出物を手動で確認し、Developer Policies への準拠を確認していたが、Obsidian の人気拡大により提出速度に追いつくのが難しくなり、その後のバージョンはレビューされていなかった
  • コーディングエージェントがプラグイン作成を加速させる中、レビュー待ちのキューはさらに長くなり、Obsidian CLI のようなツールでプラグイン作成もより容易になっている
  • プラグインやテーマが提出されると、自動レビューシステムが 開発者ポリシー準拠、ソースコードのベストプラクティス準拠、既知の脆弱性の不在を確認する
  • 自動テストは継続的に改善できるため、Obsidian エコシステム全体の品質と安全性をより包括的に高める基盤となる
  • 手動レビューは継続される。新システムにより、人気プラグイン、注目プラグイン、コミュニティが報告した問題のように、より深い確認が必要なプラグインへ注力できる
  • 既存のプラグインとテーマは新システムで再レビューされ、最新ガイドラインを満たしていない古いプラグインやテーマが見つかっている
  • 最新基準を満たさなかった既存プロジェクトには一時的な例外が与えられるが、新しいレビュー手順を通過できないすべてのプラグインとテーマは、最終的に公式ディレクトリから段階的に除外される予定
  • 新システムはここ数日で 2,300件以上 の保留中提出物を処理しており、プラグインレビューを待っていた開発者は Communityサイトにログイン して現在の状態を確認できる
  • 自動スキャン

    • すべてのバージョンは、コード品質とセキュリティ脆弱性の検査を自動で受ける
    • プラグインに潜在的に悪意ある追加要素があるかを検出する マルウェアスキャン も含まれる
    • 開発者は開発者ダッシュボードで、各プロジェクトごとの詳細な提案、警告、失敗フラグを確認できる
  • スコアカード

    • ユーザーと開発者は、すべてのプロジェクトのスコアカードで自動検査の状態を確認できる
    • スコアカードは、公開情報、プライバシーラベル、アーティファクト証明、手動レビュー結果、アプリ機能の採用状況を統合しながら、今後も改善される予定
  • アクセス範囲の公開

    • 今後数か月で、プラグインと作者に関する 透明性 がさらに高まる予定
    • プラグインは、ネットワーク、ファイルシステム、クリップボード、その他の機能のうち何にアクセスするかを申告するようになる
    • ユーザーはプラグインをインストールする前に、こうした公開情報を確認できるようになる
  • 検証済み作者

    • 追加の検証ステップを通過し、良好な状態を維持している信頼できる開発者にはラベルが追加される
    • ユーザーはセキュリティ上の問題をいつでも Obsidian チームに直接報告できる

チームとアプリレベルの変更

  • Obsidian を利用するチームは、すでにユーザー向けの安全制御を展開できる
  • 今後数か月で、チームは許可するコミュニティプラグインをより簡単に管理できるようになり、メンバー向けに 非公開プラグイン を配布できるようになる予定
  • 公式 Obsidian プラグインを配布するチームは、Community ディレクトリの Official バッジを申請できる
  • プラグインに資格がある場合は連絡できる
  • Community ディレクトリと自動レビューシステムの改善に加え、Obsidian アプリと API にも 発見性 と安全性を高める変更が予定されている
  • コミュニティエコシステムは Obsidian の楽しく強力な要素の一つであり、その継続的な成長に必要な基盤を提供していく方針
  • 新しい Obsidian Community でフィードバックを受け付ける予定

ユーザーと開発者向けの主な変更

  • ユーザーへの影響

    • 新しい Community サイトでプラグインとテーマを探索できる
    • レビュー時間が大幅に短縮され、アーリーアクセスのプラグインを手動インストールする必要が減る可能性がある
  • 新しいプラグインまたはテーマの提出

    • Community サイトにログインして、新しい開発者ダッシュボードにアクセスする
    • GitHub アカウントを連携し、提出するリポジトリを選択して、ダッシュボードの手順を完了する
    • 提出と同時にプロジェクトレビューが始まり、通常は数分以内にレビュー結果を確認できる
    • プロジェクトが通過すれば、24時間以内にアプリ内で検索・ダウンロード可能になる
  • 既存プラグインとテーマの所有権主張

    • Community サイトにログインして、新しい開発者ダッシュボードにアクセスする
    • GitHub アカウントを連携すると、プラグインの所有権を主張し、タイトル、説明、スクリーンショットを更新できる
  • 開発者ダッシュボードなしで更新できるか

    • GitHub 経由で新バージョンを引き続きリリースできる
    • 新しいリリースは自動レビューされ、レビューを通過できなければ開発者ダッシュボードで詳細を確認する必要がある
  • 自動レビューに失敗したプラグインとテーマ

    • 新しいプラグインとテーマは、ディレクトリに追加されて検索可能になる前に自動レビューを通過しなければならない
    • 各新バージョンはスキャンされ、レビューを通過できなければ24時間以内に検索結果から削除される
    • 既存で承認済みのプラグインとテーマは、自動レビューに失敗しても当面は引き続き利用できる
    • 古いプラグインにも最終的には新基準への適合が求められる予定だが、期限はまだ定まっておらず、コミュニティ開発者とともに移行を決めていく予定
  • リリース提出なしで自動レビューを実行

    • eslint plugin で Obsidian プラグインを公式開発者ガイドラインに沿ってローカル検査できる
    • 開発者ダッシュボードで任意のブランチ、タグ、コミットに対するプレビュースキャンを実行できる
  • 共同メンテナーと組織リポジトリ

    • 現在の Obsidian Community では、GitHub リポジトリの所有者だけが該当プロジェクトを編集できる
    • 組織リポジトリは、組織メンバーシップが公開されていれば所有権の主張と編集が可能
    • 近い将来、複数コラボレーター対応が追加される予定
  • 非公開ソースプラグイン

    • 現時点では新しい非公開ソースプラグインはディレクトリに受け付けていない
    • 既存の非公開ソースプラグインは、追加告知があるまで引き続き利用できる
    • 今後、新しいレビューシステムを非公開ソースプラグイン向けに調整する方法を検討する予定
  • アカウントとGitHub要件

    • 新しい開発者ダッシュボードにアクセスするには Obsidian アカウント が必要
    • 現在は GitHub の利用が必要で、今後は他のソフトウェアホスティングプラットフォームの追加も検討される予定
    • GitHub ログインではユーザー名と公開リポジトリ一覧が共有され、この情報はリポジトリ所有権の確認にのみ使用される
  • Paid と Optional payments ラベル

    • Obsidian Community はストアではなく、組み込みの決済ソリューションを提供しない
    • 開発者は、ライセンスキー、API キー、ログインゲートなどの外部決済メカニズムを引き続き利用できる
    • 開発者はプラグインを3つのカテゴリのいずれかに正確に分類しなければならない
    • Free は、いかなる形の支払いもなく、有料サービスとも一切結びついていないプラグインを意味し、寄付リンクや支援リンクは許可される
    • Optional payments は、ユーザーが追加機能を有効にするため任意で支払える場合、またはプラグインが有料サービスに接続される場合を意味する
    • プラグインが有料サービスや API に接続するなら、そのサービスに無料ティアがあっても Optional payments と表示しなければならない
    • Paid は、無料トライアルを提供していても、主要機能を利用するにはユーザーが必ず支払わなければならない場合を意味する
    • このラベルは、プラグイン開発者が支払いを徴収しているかどうかではなく、ユーザーがどのような支払いを想定すべきかを示す
  • スコアカードの誤りと問い合わせ

    • スコアカードは新機能のため誤りがある可能性があり、偽陽性や偽陰性が発生することがある
    • 不正確な内容を見つけた場合は、Obsidian Discordサーバー#plugin-dev チャンネルに連絡する必要がある
    • 質問や懸念がある場合は、Obsidian Discordサーバー#plugin-dev チャンネルに連絡できる

1件のコメント

 
GN⁺ 2 시간 전
Hacker Newsの意見
  • ObsidianのCEOです。新しいCommunityサイトとレビューシステムの公開に向けてほぼ1年取り組んできており、今回の最初のバージョンにはとても期待していますが、今後も改善すべき点はまだ多くあります
    ブログ記事、FAQ、ロードマップの次の段階まで、できるだけ漏れなく書こうとしましたが、見落とした部分もあると思うので質問歓迎です
    7人しかいないチームで、数千人のプラグイン開発者と数百万人のユーザーに対応しなければならず、相反する優先順位のバランスを取るのは非常に難しいことでした
    新システムは導入しやすく、後方互換性を維持し、既存のワークフローを完全に壊さないまま従来方式より大きく改善され、さらにプラグインの安全性と発見しやすさを段階的に高められる必要がありました
    まだ進行中の取り組みとして見てもらえるとうれしいですし、アイデアや不満も聞きながら継続的に改善していきます
    • これまで複数のプロジェクトでプラグインに関わってきて、プロジェクト側が特定のバージョンをレビュー済み・信頼可能と表示する仕組みを導入しようかと考えたことがあります
      躊躇した理由の一つは膨大な時間投資だけでなく、人々がそのレビュー手順に依存するようになった後で、難読化された悪意あるコードが通過してしまった場合、その後の攻撃の責任がプロジェクトに及ぶのではないかと恐れていたためです
      この点をどう考えているのか気になります
      私には、Debian/Ubuntuのようにリポジトリ内のすべてを厳格にレビューする方式と、レビュー保証をまったくしないPyPI/npm方式の違いのように感じられます
    • 公開情報で「プラグインは外部ドメイン1件にリクエスト可能」を押すと、実際のドメインであるgithub.comが表示されるのが良いですね
      例は https://community.obsidian.md/plugins/zotlit で見られます
    • 自動スキャンシステムが、権限範囲の拡大やネットワークドメインへのアクセス変更を内部レビューや人的レビューの対象としてフラグ付けするのか気になります
      たとえばAI要約プラグインが、最初はユーザー提供のOpenAIキーで url="api.openai.com"+path にアクセスするとすれば、ごく一般的な形でしょうし、コミュニティがここから作っていくものにも期待しています
      ただ、アップデート後にユーザーがOpenAI互換APIの任意エンドポイントを選べるようになった場合、その柔軟性を悪用してスキャンを回避するネットワーク流出経路を作り、悪意あるエンドポイントをひそかに初期入力した更新ではないと、どうやって保証できるのでしょうか?
    • Obsidianチームは素晴らしい仕事をしました。Obsidian Syncのユーザーであり続けるつもりですし、コミュニティプラグインをもっと安心して使えるようになることを期待しています
    • ついに来たか
      Obsidianを試したとき、データテーブル機能が標準搭載ではなく、フルアクセス権を持つプラグインだと知ってすぐ削除しました
      それにしてもチームが7人しかいないとは驚きです
  • よく知らない人向けに言うと、これまでは手動レビューのせいで新しいプラグインの提出が事実上ほぼ不可能に近い状態でした。AIによってプラグイン作成が簡単で楽しくなった影響もあります
    開発者コミュニティの不満は徐々に大きくなり、チームも負荷で疲弊していました
    なのでチームに祝福を送りたいです。巨大なスケーラビリティのボトルネックが解消されたわけで、これをどう作り上げて拡張していくのかを見るのはかなり面白いです
    • おすすめのすごいプラグインはありますか? OneNoteから移行して同期まで設定し、ようやく慣れてきたところです
  • Obsidianは使っていませんが、タイトルを見たときは企業公認の少数プラグインに制限しようとしているのかと思いました
    ソフトウェア会社が「XYZの未来」みたいなタイトルを書くと、普通はXYZを大きく制限するか終了準備をしているのだろうと受け取りがちです
    • どの時点でエンシティフィケーションが顔を出すのか気になりました
  • 自動検査だけでプラグインが悪意あるものかどうかを安定して判断できるのかは確信が持てません
    プラグインのセキュリティ問題を解く最善の、あるいは唯一の方法は、明示的なAPIと権限システムを備えたサンドボックスだと思います
    • 「明示的なAPIと権限システムを備えたサンドボックスが必要だ」という話に加えて、特に私の個人データに触れられないようにすべきだとも言いたいです。ただ、Obsidianプラグインの本質は文書を読み書きすることなので、そこが問題です
      とはいえ、インターネットと通信できないなら大きな問題には見えない気もします
      さらに見ると、JavaScriptとElectronの構造上、Obsidianプラグインはグローバルスコープで実行されるJavaScriptの塊であり、ユーザー権限が許す範囲でファイルシステム全体を読み書きし、HTTPリクエストも送れるようですが、その理解で合っていますか?
    • それ自体でマルウェアを防げるわけではありませんが、依存関係が最新に保たれているか、既知のCVEが含まれていないかを判断するにはかなり役立つはずです。TrivyやArtifacthubが強調しているやり方に近いです
      ただ、このエコシステムで実際にどれほどうまく機能するのかは気になります。経験上、包括的なスキャンは偽陽性、つまりCVEはあるが実際の利用文脈には当てはまらないケースをかなり生みやすいです
      そのため、スキャン結果を正しく解釈するには知識が必要で、保守担当者に相当な負担がかかる可能性があります
    • ブログ記事を読めば分かります。自動スキャンとチーム向け制御機能に加えて、権限システムも計画されています
      権限だけでは特定の悪意ある挙動を防げないため、全部必要です
      Communityサイトのスコアカードをいくつか見るだけでも、一部の警告は権限システムやサンドボックス化では防げないことがすぐ分かります
      ブログ記事にはリリース方式の詳細があり、プラグインAPIの変更が必要なので段階的に進める予定です
    • 当然ながら既存プラグインとは互換にならないでしょうから、レガシープラグインと新しいプラグインを分け、レガシープラグインのインストールにはかなり摩擦を増やしたうえで、いずれ廃止する形になるでしょう
    • Podman/LinuxにもAPIと権限システムはありますが、それでもCopy Failはありました: https://garrido.io/notes/podman-rootless-containers-copy-fai...
      セキュリティと権限付与は単純に難しく、プラットフォームを設計していると、ある時点で柔軟性のためにそのリスクを受け入れる価値があるか自問する必要があります
      完全に安全なシステムを設計するのは見込みのない話です
  • とても興味深いです。自動プラグインレビューが小さなチームでも可能だという現実世界の証拠ですね
    いつか自分のプロジェクトにも似た仕組みを実装する方法を学ぶ必要がありそうです
    • まずはどう転ぶか見守るほうがいいかもしれません。これはいたちごっこで、しかもここではネズミのほうがずっと賢いです
      データ流出は静かに起こります
  • 利用者の立場として、スコアカードをどう、なぜ見ればいいのか分かりません
    エラーやリンター警告の一覧がたくさんあって、私は何をすればいいのでしょう?
    ユーザー側の理想的な導線が気になります。スコアカードは開発者側には良さそうです
  • こういうアップデートが出てきてうれしいです
    こうした種類のコミュニティ貢献を管理するのは難しいですが、大きな前進に見えます
  • プラグインの可用性、特に私の場合はselfhosted-livesyncが減らないのであれば良さそうです
    こうした自動レビューにAIが果たせる役割もあるのか気になります。かなり有望なユースケースに見えます
  • とても良いですね。ただ、ウェブサイトがダークモード専用なので、乱視のある人には読むこと自体がより大変になるのは残念です
    • Firefoxのリーダーモードなら、ワンクリックで白背景に黒文字を表示できます。たぶん他のブラウザにも似た機能があるはずです
    • Obsidianが黒基調だからです。それでも近い将来にライトモードを追加する計画があります
    • かなり珍しいタイプの乱視という意味ですか? 30年以上乱視がありますが、このサイトは何の努力もなく完璧に読めます
  • ローカルでプラグインをもっと簡単にインストールできるといいですね。本当にフォルダにコピー&ペーストするだけであるべきです
    Obsidianがプロプライエタリソフトウェアでなければ自分で変えていたでしょう
    誰かが互換クローンを作る時期に来ているのでは
    • すでにまさにそのように動きます。プラグインは単にVault内の .obsidian/plugins フォルダにコピーできるフォルダにすぎません
    • 文字どおり .obsidian/plugins/ ディレクトリに貼り付けるだけです