Raindropで記事を保存をしたら、記事を要約してSlackで共有できるようにした
日曜大工ならぬ、日曜プログラミングを楽しんでおります。
タイトルどおりなのですが、AIに聞きながらプログラムを書いておりました。
何がしたいのか?
チーム内の情報共有を活性化したいです。
Slackで記事URLを共有するだけでなく、記事の概要を自動で追記できると相手も読みたくなるかなと思いました。
https://youtu.be/lHbIzZcjNs8?si=1XAAiP7BZ6Cw29GJ
システム概要
- Raindrop.ioでブックマークを保存
- Google Apps Script (GAS)で定期的にRaindrop.ioのAPIをチェック
- 特定のタグ(例:「Share」)が付いたブックマークを検出
- Dify APIを使用してブックマークの内容を要約
- ブックマーク情報の管理をGoogleスプレッドシートで行う
- 要約とともにSlackに投稿
実装手順
だいたいこんな手順
1. Raindrop.ioの設定
-
APIキーを取得
- 「作成 new app」から
-
「Share」タグを作成。
- ブックマークをするときに「Share」をつけます。
2. Google Apps Scriptの作成
- Raindrop.io APIからブックマークを取得する関数を実装
- Dify APIを呼び出して要約を生成する関数を実装
- Slackに投稿する関数を実装
※しずかなインターネットにはコードブロックがないので画像を貼っておきます
3. Dify APIの利用
-
アプリケーションを作成し、APIキーを取得
-
要約生成用のプロンプトを設定
- ワークフローで作成しました。Jina Readerを使って記事をAIが読みやすいかたちで整形する
- それに要約プロンプトを当てる
4. Slackの設定
- Incoming Webhookを作成
5. GASスクリプトの完成
- 各APIを連携させ、一連の処理を実行するメイン関数を実装
- エラーハンドリングを追加
まとめ
この連携システムにより、チーム内での情報共有が大幅に効率化されそうです。
Raindrop.ioの使いやすいブックマーク機能、Dify APIによる高度な要約生成、そしてSlackの即時性の高いコミュニケーション機能を組み合わせることで、より効果的な知識管理と情報共有が可能になりました。
今後の展開として、他のAPIとの連携や、機械学習を用いた自動タグ付けなど、さらなる機能拡張も考えられます。
引き続き日曜大工を楽しみたいと思います。