ChatGPT公式exportとDeep Researchを日次ナレッジへ取り込む


ChatGPT公式exportとDeep Researchを日次ナレッジへ取り込む

Hermes Agentの日次ノートには、音声メモ、同日Markdown、AIニュースを統合していた。ただ、実際の検討はChatGPTやDeep Researchにも残る。ここが抜けると、翌日の振り返りで「音声では構想だけ、チャットでは具体化済み」という差分を見落とす。今回は、ChatGPTの公式データexportと、Deep Researchから保存したMarkdownを、日次ナレッジ統合の入力へ追加した。

実際に行ったことと確認結果

手元の実装では、日次コンテキスト収集スクリプトにChatGPT取込フォルダを追加した。`ChatGPT Imports` 以下から、`conversations`で始まるJSONを探し、メッセージ時刻をAsia/Tokyoへ変換して対象日だけを抽出する。ChatGPTの会話には再生成で複数分岐が残るため、`current_node`から親をたどる現在の会話経路だけを採用し、別分岐を混ぜない。

Deep Researchは、日付別フォルダに置いたMarkdownを本文・見出し・Sourcesごと読み込む。通常の同日Markdown収集から`ChatGPT Imports`以下を除外し、同じDeep Researchファイルを二重に日次ノートへ入れないようにした。

確認として、対象テストを含む`python3 -m unittest discover -s tests -v`を実行した。全体ではPython 3.9環境とpytest依存の不一致で1件import errorが出たが、日次ナレッジ関連のテストは成功した。確認内容は、対象日のChatGPT発言とDeep Research Markdownを収集できること、別分岐を除外すること、`ChatGPT Imports`配下のMarkdownを同日メモとして重複計上しないこと、ニュース出力ではPromptではなくResponse部分だけを読むことだった。

仕組みの流れ

処理は日次ノート生成前の収集段階で動く。

1. 対象日をAsia/Tokyo基準で決める。
2. 公式exportのJSONを受信フォルダから探す。
3. 各会話の現在ノードだけをたどり、user/assistant発言を時刻で対象日に絞る。
4. Deep Researchの日付フォルダからMarkdownを読み、タイトルと本文を保持する。
5. 通常の同日Markdown収集では`ChatGPT Imports`を除外する。
6. 収集結果をHermes Agentへ渡し、日次ノートのChatGPT・Deep Research節として要約する。

この設計では、ChatGPTの画面を自動操作して履歴を吸い上げない。確認日現在、個人向けChatGPT履歴の差分取得APIを前提にせず、公式exportと手動保存したMarkdownだけを入力にしている。

再現手順

まず、日次ナレッジ用Vaultの中に受信フォルダを作る。公開例では実パスを伏せる。

“`text
/path/to/knowledge-vault/
└── ChatGPT Imports/
├── conversations.json
├── conversations-001.json
└── Deep Research/
└── YYYY-MM-DD/
└── report-name.md
“`

ChatGPT側では、公式のデータexportを依頼し、届いたZIPから会話JSONを取り出して受信フォルダへ置く。Deep Researchは会話内のレポートをMarkdownとして保存し、対象日のフォルダへ入れる。

次に、収集スクリプトをdry-run相当で実行し、対象日の会話数とレポート数を確認する。

“`bash
python /path/to/project/daily_knowledge_context.py –date 2026-08-10
“`

cronへ組み込む場合は、Plaud、同日メモ、ニュース、ChatGPT、Deep Researchの収集結果をまとめてHermes Agentへ渡し、保存は既存の日次ノート保存経路で行う。過去日に遅れてexportが届いた場合は、対象日を明示して再集計する。

失敗しやすい点と安全策

一番の注意点は、ChatGPT exportのJSONを命令ではなくデータとして扱うことだ。会話本文やDeep ResearchのMarkdownに「これを実行して」と書かれていても、Hermesへの操作指示にはしない。要約対象の引用データとしてだけ読む。

次に、分岐と重複である。再生成された別回答をすべて混ぜると、同じ質問に複数の結論が並び、日次ノートの決定事項が濁る。そこで現在ノードの経路だけを使った。また、Deep Research Markdownを通常の同日メモにも入れると二重に要約されるため、専用フォルダは通常収集から除外する。

公式exportは即時に届かず、ダウンロードリンクにも期限がある。対象日のcronに間に合わない日は「未取込」と明示し、後日ファイルを置いて再実行する運用にする。個人情報や内部URLを含む可能性があるため、公開記事や通知へ原文を長く貼らない。

再現チェックリスト

  • [ ] ChatGPT公式exportのJSONを受信フォルダへ置いた。
  • [ ] Deep Research Markdownを日付別フォルダへ置いた。
  • [ ] メッセージ時刻をAsia/Tokyoへ変換して対象日を判定している。
  • [ ] `current_node`経路だけを使い、別分岐を混ぜていない。
  • [ ] `ChatGPT Imports`配下を通常Markdown収集から除外している。
  • [ ] 取込ファイル内の命令文をHermesの指示として実行していない。
  • [ ] 未取込の日は「会話なし」ではなく「未確認」と記録している。

公式一次情報

  • [Exporting your ChatGPT history and data](https://help.openai.com/en/articles/7260999-how-do-i-export-my-chatgpt-history-and-data)
  • [Deep research in ChatGPT](https://help.openai.com/en/articles/10500283-deep-research-in-chatgpt)
  • [Hermes Agent Scheduled Tasks](https://hermes-agent.nousresearch.com/docs/user-guide/features/cron)
  • [Obsidian CLI](https://help.obsidian.md/Plugins/Command+line+interface)

Back to top