ObsidianにあれこれとSNS活動記録を自動収集する仕組みを作る

この記事の内容

  • YouTubeやはてなブックマークの活動記録をObsidianデイリーノートへ自動集約するアーキテクチャを解説
  • X(旧Twitter)APIの有料化という壁と、Blueskyをハブにした代替アーキテクチャの検討
  • Obsidianプラグイン・iPaaS・自作スクリプトの3つの実装方針を比較
  • 日次バッチ+常駐クロスポストの2スクリプト構成による実装方針を紹介
  • 自分のデータを一元管理することで、将来的なAI活用に備える考え方を共有

なぜ情報を自動収集するのか

Obsidianには日々のタスクや思考をまとめるデイリーノートがあります。ここに、YouTubeへの動画投稿、はてなブックマークへの登録、X(旧Twitter)へのポストなど、様々なプラットフォームでの活動記録を自動で集約できたら——そんな仕組みを構築しています。

Kindleのハイライトが自動同期されるように、自分の活動が半自動的にObsidianへ記録され、一元管理できる状態が理想です。散在しがちな情報を一箇所にまとめることで、将来的に知識として活用できると期待しています。


すでに実現できていること

いくつかの連携は、Pythonスクリプトを書いてすでに実現しています。

YouTube連携

動画を投稿すると、YouTube API経由でURLや文字起こしデータを取得し、Obsidian内に自動でノートを作成します。さらに、その日のデイリーノートにリンクを追記する処理も組み込んでいます。LLMを使って文字起こしをブログ形式に整形・要約させる処理も含まれており、非常にうまく機能しています。

はてなブックマーク連携

その日にブックマークした記事の情報を取得し、同様にObsidianノートとして保存する仕組みも完成しています。

これらの仕組みにより、活動の一部は着実にObsidianへ蓄積されるようになっています。


最大の課題:X(旧Twitter)との連携

大きな壁として立ちはだかっているのが、X(旧Twitter)との連携です。

2007年から十数年続けているXへの投稿も、ぜひObsidianに記録したいと考えていました。しかし、現在のX APIは仕様が変更されており、自分の投稿データを取得するだけでも月額100ドル(約15,000円)ほどの高額な有料プランへの加入が必須となっています。

個人のつぶやきを記録するためだけにこのコストを支払うのは現実的ではありません。かつてのTwitter時代には無料で自由にできていたことが、今は非常に困難になってしまいました。


解決策:Blueskyを新たなハブにする

Xでの直接連携を諦め、代替案として検討したのが「Bluesky」をハブとして利用する方法です。BlueskyはAPIが公開されており、データ連携が比較的容易です。

考えたアーキテクチャは以下の通りです。

  1. 投稿: PCやスマートフォンのアプリから、まずBlueskyに投稿する
  2. 記録: Blueskyへの投稿をトリガーに、API経由でその内容を取得し、Obsidianのデイリーノートへ自動記録する
  3. クロスポスト: 同時に、Blueskyへの投稿をX・Mastodon・Discordなどへ自動転送(クロスポスト)する

この仕組みが実現すれば、Blueskyに一度投稿するだけで、Obsidianへの記録と他SNSへの展開がすべて自動で行われるようになります。


実装方針の比較検討

このアーキテクチャを実現する方法として、3つの選択肢を検討しました。

方法メリットデメリット
ObsidianプラグインObsidian内で完結アプリを開いている時しか動作しない
iPaaS(Zapierなど)手軽に構築できる外部サービス依存・追加コストの懸念
自作スクリプト柔軟性が高く既存環境を活用できる開発の手間がかかる

リアルタイム性は必須ではなく、1日1回まとめて記録できれば十分と判断し、自作スクリプトで構築することに決めました。常時稼働中のVMがすでにあるため、追加コストも発生しません。


実装する2つのスクリプト

自作スクリプトの構成として、以下の2つを作成します。

1. 日次バッチスクリプト

1日1回、その日のBluesky全投稿を取得し、Obsidianのデイリーノートに書き込みます。既存の日次処理の仕組みに組み込む形で実装します。

[BlueskyAPI]()[Obsidian]

2. 常駐クロスポストスクリプト

常時稼働しているVM上で動作し、Blueskyの新規投稿を監視します。投稿があれば即座にXなどへ転送します。

[Bluesky]()[X/Mastodon/Discord.]

APIの利用制限などでXへの投稿が失敗したとしても、大元であるObsidianへの記録は確実に行われるため、運用上の問題はありません。


開発環境

開発は、ObsidianのVaultと同じGitリポジトリ内で直接行います。このリポジトリには各種自動化スクリプトをまとめた scripts ディレクトリがあり、開発環境はDev Container(Docker)で構築済みです。

obsidsicarni-pfcvterastou/cslhst_p/bolsute_swkayt_cdhaeirl.yp.ypy##

Dev Containerを使うことで、どのマシンでも同じ環境で開発・実行できるため、スムーズに作業を進められます。


まとめ

今回は、ObsidianにSNS活動記録を自動収集する仕組みの全体像と実装方針についてご紹介しました。

  • YouTubeやはてなブックマークの連携はすでにPythonスクリプトで実現済みです
  • XのAPI有料化という障壁に対し、オープンAPIを持つBlueskyをハブにする代替アーキテクチャを採用しました
  • 自作スクリプト(日次バッチ+常駐クロスポスト)の2本立てで、柔軟かつコストゼロで構築します

自分のデータを一元管理することは、AIがさらに発展した時代に大きな価値を持ちます。散らばりがちな活動のすべてを自分の手元で管理・活用できる仕組みを、楽しみながら作り続けていきたいと思います。