メインコンテンツへスキップ
見出し画像

備忘録|Geminiログの一括エクスポートとMD化

    1|まえがき

    時代の3歩先をひた走る当Noteでは暫く前からパーソナルデータ・ソブリニティなる理念を提唱してきました。

    先日、とうとう政府もこれを後押し(嘘)するかのようにこんな発言が飛び出しました👇

    「自分の情報は自分で守って」 ー 古川俊治デジタル相、2026/10/06

    時事ドットコムニュース

    前回記事のおさらいをしますと

    パーソナルデータ・ソブリニティ

    【定義】
    各個人がプラットフォームに分散した自己のデータ(メール、チャット、成果物)を、一か所に集約し管理すること。

    【意義】
    AI時代のデータ容量爆発と、プラットフォーム側の無責任により、「何を」「いつ」「何のために」が各所に分散した状態にある。過去の記録を辿るのが難しく、AIとの共同作業に支障をきたす。個人が責任をもって自身の知恵と成果を資産化しなくてはならない。

    【方法論】
    一か所集約と、プラットフォーム・アーカイブを使用可能な形への変換。

    筆者の造語

    先程の大臣の発言はセキュリティ絡みですが、個人がIT企業に握られているデータを守るべき資産として管理下におくという点で趣旨は一致するのではないでしょうか。

    そしてAI生成コンテンツが爆増する中、AIとのチャットログや生成物は皆さんが現在抱えているデータの中核をなすものではないかと思います。

    そこで今回の備忘録では、不正アクセスが頻発する世相に乗っかる形で(?)告知したAIチャットログのエクスポートと一括MD(マークダウン)変換する手順を紹介します。


    2|手動保存を辞めてエクスポートで時短

    AIのログって、その後のAIとの会話で参照したくなりますよね。Obsidianなどで環境を組んでログをマークダウン形式(MD)で管理しているユーザーも多いのではないでしょうか。

    かくいう私は挫折したクチですが 笑

    とにかく保存と整理が追い付かない。コンテンツの生成が簡単になり過ぎて、もはやそれを人力で保存・整理・タグ付けをする作業がどうしても後回しになるのは必然ではないかと思います。

    ブラウザー拡張でAIスレッドをチマチマ保存するのはスケーラブルとは言えません。

    見上げるようなローアングルから撮影された、やや近未来的で高層ビル群の風景。黒やグレーを基調とした無機質なガラス張りのビルが周囲を囲み、中央の隙間から青空と白い雲がのぞいている。

    ではどうするか?一案として、プラットフォームからのデータエクスポートと一括変換を紹介します。


    3|手順例

    NoteってGoogleと提携してるだかでGeminiの露出高いので例に選定しました。ChatGPTやClaudeなど主要プラットフォームは同じような手順でMD化できます。

    ※以下の手順は2026年10月時点のものとなります。手順やデータの形が今後変わるかもしれませんが、そこはユーザーの梯子外しばかりする日進月歩のシリコンバレーのことですから、悪しからずでお願いします。

    断り書き1

    1. データのエクスポート

    マイアカウント https://myaccount.google.com/ から「データとプライバシー」→「データをダウンロード」と辿ります

    Googleアカウントのスクリーンショット。左のパネルに「データとプライバシー」、メインエリアの「データをダウンロード」に筆者の手描きと思われる赤い数字が入っていて手順を示している

    Geminiデータだけが欲しいので一旦「選択をすべて解除」をしてから、

    Googleデータエクスポート画面のスクリーンショット。「選択を全て解除」というボタンが筆者の手描きと思われる赤い丸で囲われていて手順を示している。

    下方へスクロールし「マイ アクティビティ」のチェックをOn(※Geminiの項目ではないので注意。Geminiの項目からはGemなどしかエクスポートされません)にして、

    • 「全てのアクティビティデータが含まれます」→Gemini Appだけに変更

    • 「複数の形式」→アクティビティの記録をJSONに変更

    Googleデータエクスポート画面のスクリーンショット。マイアクティビティの項目が表示され、右からチェックボックス、1件のサービスが選択されています、JSONと他3件の形式というUIエリアが1、2、3と手描きの赤い数字でマークされており、手順を示している。

    下方へスクロールし「次のステップ」
    エクスポート先を「ダウンロードリンクをメールで受信」

    • 1 回のエクスポート

    • Zip形式

    • 2GB

    →エクスポートを作成 で開始。完了するとGmailにダウンロードリンクがメールが届きます。

    Googleからデータエクスポートが完了した旨通知するメールのスクリーンショット

    2. ダウンロードデータの構造

    ってフォルダ名・ファイル名日本語かよ、Googleさん

    takeout-20261019T193611Z-1-001.zip
    └─Takeout
        └─マイ アクティビティ
            └─Gemini アプリ
                    マイアクティビティ.json → チャットログが入っている
                    (ファイル一式)→ ログ中の添付ファイルや生成物
    
    ※アカウント言語が日本語の場合

    3. 変換スクリプトの制作例

    ここからはコーディング・エージェントの出番になります。丸投げでほぼ問題ないですが、円滑に進めるために以下があったほうがいいです:

    • スクリプトの入出力仕様

    • データ構造の大まかな理解

      • マイアクティビティ.json内にメッセージがバラバラに入っていてURLで纏めればスレッドになる

      • メッセージ本文はHTMLで収容されている

    • 変換後どうなってほしいかを規定した仕様

    コーディング・エージェントへの依頼例

    AGENTS.md
    
    ## AIへ依頼
    GoogleからエクスポートしたGeminiのデータをMD形式に変換するPythonスクリプトを作って
    
    ## サンプルデータ
    C:\downloads\takeout-20261019T193611Z-1-001.zip
    
    ## データ構造
    - Zip中の「Gemini アプリ」内のマイアクティビティ.jsonにチャットメッセージがバラバラにマイアクティビティ.jsonに入っていて、スレッドURLで拾い集めることができる。それらを時系列順につなぎ合わせたものをスレッド一本とする
    - Zip中の「Gemini アプリ」直下にスレッド内の添付ファイルが配置されている
    
    ## 入出力の仕様
    
    python google-takeout-to-gemini-log-md.py --takeoutzip <zipfile> --out <folder name, optional.なければgemini_log>
    
    ## 変換後フォルダ構成
    \gemini_log\
    index.csv */ --- 目録 --- /*
       \logs\
          スレッド1.md */ --- 日付YYYYMMDD_uuid.md --- /*
          スレッド2.md
          スレッド3.md
          スレッド4.md
          スレッド5.md
          \attachments\
              添付1.jpg */ --- 親スレッドの名前+4桁の通し番号 --- /*
              添付2.png
              添付3.txt
    
    ## 変換後のMD形式
    - YAMLでスレタイトル、スレッド開始日時、最終投稿日時、URLを簡潔にまとめた後、[User]と[AI]のメッセージがMD形式で続く
    - メッセージ本文をHTMLからMDに変換する
    
    ## 変換後のindex.csv
    以下列からなるシンプルなCSV
    
    - MDファイル名
    - タイトル
    - スレッド開始日時
    - 最終投稿日時
    - URL

    ソースコード例

    1.上記依頼例から若干仕様が異なっています。
    2.スレッドではなく「マイアクティビティ」(単発の活動履歴)としてデータが吐き出される仕様からか、スレッドタイトルは上記手順では抽出不可です。NotebookLMへスレッドを放り込んで、NotebookLMのデータも一緒にテークアウトすれば照合できるようです。どうしても必要な方はAIと続きをやってみてください。

    断り書き2

    変換後の例

    画像
    ←ログ一覧|中身→
    去年の今頃はGemini結構使ってたんやなあ(遠い目)
    2.5 Flashってまあまあ賢かったですよね。
    画像
    目録

    4|変換後にすること

    提案レベルということで・・・

    • Obsidianなどのパーソナル・ナレッジベースへインポートする

    • 他プラットフォームも同様に変換できるようにし、ログを一元管理する

    • 良質・粗悪なログをローカルAIのLoRAなどの学習データに転用する

    • Web側からデータを削除やアカウントを閉じる(※各自の責任でお願いいたします。)


    5|「コーディング・エージェントって言われても無課金なんですけど・・・」

    • ChatGPTのデスクトップアプリからCodexが無課金で使用できますよ。※執筆時点

    • チャットオンリーのタイプでもJSONの形をユーザーが調べてAIに伝えるなどすれば、時間はかかりますができると思います。この記事を貼り付けて相談してみるのもいいでしょう。


    6|おわりに

    パーソナルコンピューティングが普及して30余年、なぜ今になって個人データ管理なの?という点について考えました。今までずっとほったらかしにしてきたじゃないかと。何を今更?

    例えば10年前のSNSの投稿など、掘り起こそうとしても難しいですよね。ユーザーに直ぐに取り出せない形でそういったデータが企業に所有され、マーケティングやAI学習に活用されている状況を、エンドユーザーは許してきました。

    では生成AIで何が変わったか?

    • 学習データとしての価値の認知

    • セキュリティリスクの増大

    • 生成ペースの爆増により直近のデータ(1-2カ月前の会話)すらも参照しづらくなった

    • パーソナル・ナレッジベースを維持・拡張することがAIとの共同作業を円滑にするという気付きの拡がり(Obsidian、RAGシステムの構築、Carpathy氏のLLM+Wiki提言、AIのメモリー機能など。)

    以上の複合的作用によって、データを手元で一元管理することが関心事になる、いや既にいろいろな形でなっているのではないかと思います。

    暗い背景の中に、立体的な矩形ブロックやピクセル状のグリッド光が立体的に配置された抽象グラフィックアート。鮮やかなネオンブルー、シアン、ピンクパープルのグラデーション光が輝き、遠近感のある未来都市やデジタル空間を想起させるサイバーパンクなデザイン。

    関連記事群:AI時代のパーソナル・データ・ソブリニティ

    あなたへのおすすめ