「Clip To Discourse」Chrome拡張機能

Discourseコミュニティの皆様へ、ささやかな :wrapped_gift: クリスマスのプレゼント :christmas_tree: です。シンプルですが便利で、純粋に私が欲しかったので作成しました。

Simon Willison氏によるLLMを開発に利用することについての素晴らしいブログに触発され、私はクリスマスの間に、社交的なイベント、映画鑑賞、プレゼントのラッピングの合間に、これを勢いでコーディングしました!私はコードを一切書いていませんが、コードをレビューし、LLMを監督しました。すべては spec.mdroadmap.md から駆動されました。

何のためのものか?

私は、自己ホスト型の個人用 Discourseノートブックジャーナル、ブログ、履歴書、Wiki、AIツール、開発者ナレッジベースとして使用しています。頻繁に、ウェブ上のコンテンツ(ページのタイトル + URL)を「クリップ」して、直接Discourseにドロップし、そこからノートやジャーナルエントリに組み込みたいと思うことがあります。

私のニーズはシンプルなので、これはかなり基本的なもので、ページタイトルとURLを投稿するだけですが、将来的には「ページ抜粋を含める」や「ページ全体をクリップする」をオプションとして追加したいと考えています。

プライバシー

  • あなたやあなたのコンテンツに関するデータを一切収集しません。
  • すべてのデータはブラウザからあなたのDiscourseインスタンスに直接送信されます。
  • サードパーティのサーバーは関与しません。
  • オープンソース。GitHubリポジトリ: https://github.com/koloki-co/clip-to-discourse-chromium-extension

特徴

  • ページタイトルとURLをクリップします。「ページ抜粋」または「ページ全体のテキスト」は実装されていますが、少々洗練されていません(ただし、後でDiscourseインスタンス上であなたのDiscourse AIが要約できるかもしれません)。
  • 各クリップで新しいトピックを作成するか、クリップを既存のトピックへの返信として追加します。
  • 複数のプロファイルをサポートし、複数のAPIキー、宛先Discourse、およびデフォルト設定を保存できるため、さまざまなユースケースに対応できます。
  • Clip To Discourseアイコンは、現在選択されているプロファイルのサイトのファビコンを反映するように自動的に変更されるため、どこにクリップしているのかを簡単に確認できます!

制限事項

  • 主な制限は、クリップ先のDiscourseインスタンスで、管理者があなたのためにユーザー スコープのAPIキーを作成する必要があることです。私にとっては、使用するすべてのDiscourseで私が主要な管理者であるため、これは問題になりません。

  • 明らかに、Clip To Discourse機能が多数のユーザーに有効になると、共有または公開のDiscourseインスタンスで大量の低品質な投稿が発生する可能性があります。そのため、私は主に、私のようにDiscourseを個人のノートブックとして使用している皆さんのために、この拡張機能を対象としています。

インストール方法

  • Chromeウェブストアのリンク https://chromewebstore.google.com/detail/clip-to-discourse/copdhiejkkdblhdcdjapcoalldkondhi から、Chromiumベースのブラウザ(Chrome、Edge、Braveなど)にインストールします。

  • (オプションですが推奨)拡張機能をブラウザのツールバーに「ピン留め」します。

  • 以下の粒度のスコープを持つシングルユーザーAPIキーを作成します: トピック: read(接続テストにのみ使用)、write、および update

  • クリップをどのカテゴリに入れるかを決定します。各クリップを新しいトピックにしたい場合は、カテゴリIDのみが必要です。カテゴリを表示しているとき、このIDはURLに次のように含まれています: https://discourse.yourdomain.com/c/CategoryName/CategoryID

  • 返信するトピックを設定することもでき、すべてのクリップがそのトピックへの新しい返信として追加されます。トピックIDもURLから取得できます: トピックを表示しているとき、このIDはURLに次のように含まれています: https://discourse.yourdomain.com/t/TopicTitle/TopicID

  • 拡張機能のアイコンをクリックしてポップアップを表示し、設定に移動してAPIキーを設定し、デフォルトを設定します。使用したいさまざまなDiscourseに対応する複数の「プロファイル」を持てることに注意してください。

  • 設定を保存し、(オプションで)接続をテストします。これにより、API接続が機能することを確認するために1つのトピックが読み込まれます。

  • 設定を閉じて、クリップをテストします!

画像

Clipping Settings
Demo Clip to New Topic
Demo Clipped Topic
Demo Clipped as a Reply

ロードマップ

  • 「ページ抜粋を含める」と「ページ全体をクリップする」は、テストと微調整が必要になる場合があります。あるいは、この機能により、ユーザーがクリップするテキスト領域を選択できるようになるかもしれません。

  • 私はFirefoxやSafariの拡張機能を作成する予定はありません(それらのブラウザを使用しないため)。しかし、誰かがこの拡張機能を移植する作業を引き受けてくれるなら大歓迎です。すべてを1つのリポジトリにまとめ、機能の同等性を維持するために協力できるかもしれません。

  • 管理者によるAPIキーの作成を不要にするために、DiscourseユーザーAPIフローを実装することを検討するかもしれません。ただし、ユーザーAPIはOAuthフローを介して機能するため、すぐに置き換えられるものではありません。

関連ディスカッション

基本的にこのツールを要求するスレッド: https://meta.discourse.org/t/chrome-firefox-extension-share-to-discourse/21104/28

Discourseにクリップする際に、追加機能を示唆する関連投稿: https://meta.discourse.org/t/need-web-clipper-for-discourse-post/45105

ソーシャルシェアは関連する概念ですが、単純なURLを使用します https://meta.discourse.org/t/social-share/89980

フィードバック、アイデア、および貢献

このトピックは、あなたが持っているフィードバックを投稿するのにかなり適した場所です。拡張機能を過度に複雑にせず、私にとっての有用性を損なわない限り、改善のためのアイデアには前向きです!

イシューをオープンしたり、PRを作成したりしたい場合は、GitHubリポジトリはこちらです:

この拡張機能は、私の会社 Koloki.co がDiscourseコミュニティのために作成した、無料のオープンソースでプライバシーを重視したツールです。

「いいね!」 5

この拡張機能、素晴らしいです :clap: