太陽がまぶしかったから

C'etait a cause du soleil.

はてなブログのエントリと Obsidian を自動同期してローカル Zettelkasten と AI Agent 対応させる試み

はてなブログの記事を Obsidian に同期して AI 活用を加速

僕自身としては、ChatGPT との対話や X への投稿が走り書きメモにあたり、Kindle のハイライトが文献メモの元ネタ。そして、Obsidian にまとめたり、ブログに公開されたそれなりに整えた文章が永久保存メモにあたる。そういう意味では、ツェッテルカステンの目指すものは自身のスタイルとの親和性が意外に高いと感じた。

自分のブログは Zettelkasten における永久保存メモの一部として活用できるのではないかと考え、はてなブログの記事を Obsidian に同期する仕組みを構築した。これにより、ブログ記事を単なる公開コンテンツとしてではなく、個人の知識ベースとして再利用できるようになる。

ブログとして公開している以上はそれなりに文章を整えているし、その時点における自分の言葉で自分の意見を反映しているオリジナリティがあるはずだ。これを知識ベースとすることで、AI エージェントが参照しやすい形で自分の思考を蓄積し、活用できるようになる。特に、Obsidian のリンク機能を活用することで、記事同士の関連性を明示化し、知識グラフとしての価値を高めることができると考えた。

これを実現するために、はてなブログの AtomPub API を利用して記事を自動的に取得し、Obsidian のメタデータやバックリンクを変換して取り込む仕組みを構築した。まだまだ実験段階ではあるが、一応は動作する状態にある。

作業を始めてからローカル同期するクライアント自体は開発されていることを知ったが、今回はあくまで Obsidian との同期を重視したい。

はてなブログ → Obsidian 同期の仕組み

はてなブログでは AtomPub API を使って、記事の全量取得が可能であるため、これを利用し、ブログの記事を Obsidian に取り込む。具体的には以下のステップを行う。

  • はてなブログの AtomPub API から記事情報を取得
  • 記事の permalink を元に Markdown ファイル名を生成
  • 必要に応じてはてな記法Markdown に変換
  • 公開エントリと下書きでフォルダ仕分け
  • メタデータ(タイトル・更新日時・タグ・URL 等)を YAML フロントマターとして記録
  • 記事フォーマットを出力用に整える
  • はてなブログ内の内部リンクを Obsidian 用の内部リンク ([[記事名|タイトル]] など) に変換

これにより Obsidian のバックリンク機能を最大限に活用し、ブログ記事が相互にリンクした Zettelkasten 的な知識グラフを形成できる。ローカルなのでサクサク表示できるし、自分の記事確認のせいでブログのPVが増えてしまう事態も防げる。

例えば、『こちらあみ子』の記事がさまざまな記事とリンクされており、当時の思考基盤になっていたことなどが分かる。

記事に入れば、どのような引用をしていたのかプレビューすることもでき、知識の再利用が促進される。『AI資産化のために14年間分のTwitterログに並列URL展開とMPSによるツイートトピックス分類ラベル付与 - 太陽がまぶしかったから』の結果も Obsidian に入れて自分のブログは Obsidian のリンクで参照させたい。またフロントマターを入力することで、Obsian 上の表示が整えられている。

GitHub を介した AI Agent との連携可能性

Obsidian 向けに作成した Markdown ファイルはもちろん Cursor や ChatGPT などの AI エージェントからも参照可能な形式である。さらには、GitHub のプライベートリポジトリ上に Markdown ファイルを保存することで、AI が直接参照できる知識ベースを構築することができ、バックアップやバージョン管理も容易になる。

GitHub 上の Markdown ファイルは、AI エージェントが直接参照できるため、例えば ChatGPT Pro の DeepResearch 機能を使って、Markdown ファイルを直接読み込むことが可能である。これにより、AI エージェントは自分の知識ベースを活用して、よりパーソナライズされた回答や提案を行うことができる。

その他の AI エージェントでも、GitHub 上の Markdown ファイルを参照することで、自分の知識ベースを活用するのは基本動作だ。MCP対応なども視野に入る。

今後の展望とブログ投稿までを自動化する是非

ブログ記事を Obsidian に同期するだけでなく、記事の公開プロセスも自動化することで、より効率的な知識管理と AI 活用が可能になると考えているものの、現時点で単純に実装することは難しい。はてなブログに投稿するには、はてなフォトライフへの画像アップロードやはてな記法が一部残っていたりして、Markdown からの変換が意外に面倒だったりもする。

そこで、ブログ記事の作成から公開までのワークフローを見直し、CI/CD の仕組みが動くのは「下書き」状態に留めて、手動のプレビュー確認を経てから公開する形にすべきと考えている。そもそも、このプレビューで読み直す時にこそ何かしら気づくくことが多く、このプロセスを省略してしまうと勿体無い気がする。

なんにせよ、これまで書いてきたブログ記事について、Obsidian と AI エージェントから参照できるようにすることで、知識の再利用や思考の深化が促進されると期待している。今後もこの仕組みを活用し、改めて個人ブログを自身の知識ベースとして活用していきたい。