0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【完全自動化】【後編】 n8n×Obsidianで「寝ている間に最新ニュースが届く」最強の情報収集システムを作った話(エラーとの戦い付き)

0
Posted at

こんにちは、エンジニアのTaichiです。
日々アップデートされる技術情報、追いかけるのが大変ですよね。「あとで読む」つもりの記事が溜まっていくばかり…。

そこで今回は、話題のローコードツール n8n と、愛用のノートアプリ Obsidian を連携させ、「朝起きたら、勝手に最新ニュースの要約が自分のノートに届いている」 という夢のようなシステムを構築しました。

…が、完成に至るまでには GitHub APIのエラーWindowsのファイル名制限 など、数々の泥臭いトラブルがありました。
今回は、その「解決プロセス」も含めて、リアルな構築ノウハウを公開します!

🏗️ 全体アーキテクチャ

仕組みはシンプルですが、強力です。

  1. 収集: n8n (Self-hosted) が毎朝9時にGoogleニュース(RSS)を取得。
  2. 加工: OpenAI (GPT-4o-mini) が記事を要約し、技術的な考察を追加。
  3. 保存: n8nが GitHub のプライベートリポジトリにMarkdownファイルとして保存。
  4. 同期: PCを開くと Obsidian Git プラグインが自動でPullし、ローカルに記事が降ってくる。

データの保管場所としてGitHub(Git)を挟むことで、バックアップも完璧かつ、どのデバイスでも同期しやすい構成にしています。

🛠️ Step 1: n8nでAI要約フローを作る

n8nのワークフローは以下の流れで組みました。

  1. Schedule Trigger: 毎朝9時に起動。
  2. RSS Feed Read: 「医療AI」などのキーワードでGoogle Newsを取得。
  3. Limit: 【重要】 処理件数を5件〜10件に絞る。
  4. OpenAI (Chat Model): 取得した記事をAIに投げ、日本語で要約。
  5. GitHub (Create a file): Markdownファイルとしてリポジトリに保存。

⚠️ Step 2: 苦労したトラブルと解決策

ここが今回の記事のメインです。一筋縄ではいきませんでした。

① GitHub APIの制限と「Limitノード」

最初は「取れたニュースを全部(70件以上)Obsidianに保存しよう!」と意気込んで実行したところ、GitHub APIエラーで全滅 しました(笑)。
短時間に大量のコミットリクエストを送ると、スパム判定または制限に引っかかるようです。

解決策:
n8nの 「Limit」ノード を挟んで、「上位5件だけ処理する」 ように変更しました。
これでAPI制限も回避でき、Obsidianも情報の洪水にならず、「厳選されたニュース」だけが届くようになりました。

② Windowsの「ファイル名長すぎ」問題

最初は重複防止のために、RSSのID(GUID)をファイル名にしていました。
しかし、GoogleニュースのGUIDは数百文字もあり、Windowsの MAX_PATH制限(260文字) に引っかかってしまいました。
その結果、GitHubには保存できているのに、Obsidian側で Pull failed: Filename too long エラーが出て同期できない事態に…。

解決策:
n8nのExpressionで、ファイル名を 30文字に切り詰める 処理を入れました。また、タイトルをファイル名にする場合は記号の除去も必須です。

// タイトルから記号を消し、30文字にカットする魔法のコード
news/{{ $json.title.replace(/[\\/:*?"<>|]/g, '-').slice(0, 30) }}.md

③ 日本語URLのエラー

RSSノードに「医療AI」というキーワードをそのままURLに入れて実行したところ、エラーが発生。

解決策:
日本語はURLエンコードが必要です。
https://news.google.com/rss/search?q=%E5%8C%BB%E7%99%82AI... のように変換コードを渡すことで解決しました。

④ 無料RSS vs AI課金の決断

最初は「無料でやりたい」と思い、RSSの概要 (contentSnippet) をそのまま保存していました。
しかし、多くのニュースサイトはRSSに「タイトルと同じ文章」しか入れておらず、中身がスカスカ…。

解決策:
OpenAI API (gpt-4o-mini) の導入を決意。
このモデルは非常に安価(1日5件なら月額数十円レベル)なのに、性能は抜群です。
「技術者向けに要約して」「インサイトを含めて」とプロンプトで指示することで、ただのリンク集が 「有益なレポート」 に生まれ変わりました。

🛠️ Step 3: Obsidian側の自動化

最後に、Obsidianのコミュニティプラグイン 「Obsidian Git」 を設定します。

  1. 保存先のフォルダを git init し、n8nのリモートリポジトリと紐付け。
  2. プラグイン設定で Pull on startup をON。
  3. Vault backup interval を10分に設定。

これで、朝PCを開いてObsidianを立ち上げるだけで、自動的にGitHubから最新ニュースが降ってきます。

🎉 まとめ:自分だけの「第二の脳」を育てよう

こうして、「寝ている間にAIがニュースを集め、要約し、トラブルなく自分のノートアプリに届けてくれる」 システムが完成しました。

n8nは非常に強力ですが、実際に運用すると細かいエラーに遭遇します。
しかし、それを一つひとつ乗り越えて「自分だけの全自動ワークフロー」が出来上がった時の達成感は最高です。

皆さんもぜひ、n8nとObsidianで「最強のインプット環境」を作ってみてください!


Created by Taichi Endoh

0
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?