Gemini Artifact Exporter
Google Gemini のサイドバーに表示されるすべての「記事 (Article)」タイプのアーティファクトを、Google ドキュメントへ一括でエクスポートするユーザースクリプトです。
最新バージョン: 読み込み中...
最終更新日: 読み込み中...
最終更新日: 読み込み中...
v0.4.18
概要
Geminiの会話ページ(例: https://gemini.google.com/app/xxxxxxxx)を開くと、画面上にドラッグ可能な「Artifact
Exporter」コントロールパネルが表示されます。
このパネルを使用して、会話内に生成された複数の記事を一括で保存できます。
主な機能
- アーティファクトのスキャン: 会話内にあるすべての「記事」タイプアーティファクトを自動検出し、リスト表示します。
- 一括エクスポート: リストから選択した記事を、一つずつ順番に Google ドキュメントへエクスポートします。
- スタック回避ロジック: GeminiのUIバグ(処理完了後に背景やトーストが残る現象)を自動で検知・解決し、連続したエクスポート処理を維持します。
- 設定の保存: コントロールパネルの位置や待機設定はブラウザに保存され、次回アクセス時も維持されます。
連携スクリプト(送信先)
このスクリプトは、以下のスクリプトにイベントを送信し、機能してもらうことを期待しています。
- Artifact Exporter Worker (
gemini-artifact-exporter-worker:request,gemini-artifact-exporter-worker:cancel) - History Loader (
gemini-history-loader:request) - One Click Delete (
gemini-one-click-delete:request-delete)
連携スクリプト(受信元)
このスクリプトは、以下のスクリプトからイベントを受信して動作します。
- Artifact Exporter Worker (
gemini-artifact-exporter-worker:result) - History Loader (
gemini-history-loader:complete)
使い方
注意: このスクリプトを機能させるには、以下の2つの内部用スクリプトも同時にインストールしておく必要があります。
- gemini-artifact-exporter-worker (実際のエクスポート処理を担当するワーカー)
- gemini-history-loader (履歴ロード処理を担当するユーティリティ)
- インストール: 上記の依存スクリプトと共に、Tampermonkey 等のマネージャにスクリプトをインストールします。
- ページを開く: アーティファクトを含むGeminiの会話ページを開きます。
- スキャン: パネルの
Scan Sidebar MenuまたはScan Chat Historyボタンをクリックして記事一覧を取得します。 - 選択: エクスポートしたい記事にチェックを入れます(デフォルトで全選択)。
- 実行:
Export Selectedボタンをクリックしてエクスポートを開始します。 - 完了待機: 順番に処理が実行されます。処理中はタブを閉じないでください。
コントロールパネルの項目
Scan Sidebar Menu: 右サイドバーを展開し、最近のアーティファクトを高速にスキャンします。Scan Chat History: 会話全体を上部までスクロールしながら、履歴に埋もれたすべてのアーティファクトを強力にスキャンします。数秒かかります。Export Selected: 選択中のアイテムのエクスポートを開始します。実行中はCancel Exportボタンに変わり、途中で停止できます。Auto-Delete Chat: 全エクスポート完了後、会話を自動的に削除します(Gemini 1-Click Deleteとの連携が必要です)。
注意事項
- Google ログイン: 事前に Google ドキュメントが利用可能なアカウントでログインしている必要があります。
注意事項
- Google ログイン: 事前に Google ドキュメントが利用可能なアカウントでログインしている必要があります。
- UIの自動操作: このスクリプトは Gemini の標準機能を自動でクリックして操作します。処理中に手動でメニューを操作すると干渉する場合があります。
- 処理時間: 記事の数が多い場合、完了まで数分かかることがあります。
更新履歴
- v0.4.32: 非アクティブ時の最小化表示を他のスクリプトと共通化(バージョンバッジのみ表示)しました。
- v0.4.31: フローティングUIが画面外にはみ出した場合に画面内に強制移動する機能を共通ライブラリ(gemini-common.js)に追加。
- v0.4.30: バージョン表記のバッジをマウスオーバーで拡大表示するように変更。
- v0.4.29: 共通ライブラリのバグ修正により、UIが移動できない問題を修正
- v0.4.26: 汎用ユーティリティ関数(sleepやwaitForElementなど)をgemini-common.jsにオフロードし、コードを共通化しました。
- v0.4.18: 最小化表示(バージョンハンドル)にスクリプトを識別するための絵文字 (📦) を追加しました。
- v0.4.17: ライトピンクの背景に合わせてUI要素の文字色を変更し、視認性を向上させました。
- v0.4.15: gemini.google.com 全体で動作するように変更
- v0.4.10: パネルの背景色をライトピンクに変更し、文字色を見やすく調整しました。
- v0.4.6: メインパネル内に連携スクリプトの状態(Script Status)を示すインジケーターを統合しました。不要なフローティングUIが生成されなくなりました。
- v0.4.2: 会話履歴の全体読み込み処理(Deep Scan)を新設の
gemini-history-loaderスクリプトに委譲し、コードサイズを削減しました。 - v0.4.1: UIパネルからウェイト関連の設定項目(Export Wait, Canvas Init, Panel Reopen)を削除し、内部のハードコードされた最適値(6秒、1秒、1秒)に固定しました。
- v0.3.13 (2026-03-16): 「Export Selected」ボタンのクリック時に、
gemini-turn-counterと連携して会話内の全画像をクリップボードに自動コピーする機能を追加。コピー結果は専用インジケーターに表示されます(画像数、なし、タイムアウト)。 - v0.3.08 (2026-03-11): Improved session cleanup before scanning. The script now explicitly closes any open Canvas (artifact) panel to ensure Gemini's history lazy-loader can operate at full-width.
- v0.3.07 (2026-03-11): Fixed the "Double Scroller" bug. The script now correctly distinguishes between the sidebar history scroller and the main chat window scroller by prioritizing the `infinite-scroller.chat-history` selector and adding width-based heuristics.
- v0.3.06 (2026-03-11): Fixed Deep Scan auto-scroll failure caused by overlapping `behavior: smooth` animations. Reverted to instantaneous scroll jumps while maintaining stall detection and active container focus.
- v0.3.05 (2026-03-11): Improved Deep Scan scroll stability. Implemented human-like smooth scrolling combined with a 3-strike stall detector to ensure the script doesn't prematurely abort when Gemini's lazy loading is slow due to network latency.
- v0.3.04 (2026-03-11): Compacted UI by placing Scan and Deep Scan buttons side-by-side.
- v0.3.03 (2026-03-11): Fixed Deep Scan auto-scroll logic. Replaced instantaneous `scrollTop = 0` with incremental `scrollBy` and synthetic wheel events to reliably trigger Gemini's historical message lazy-loading.
- v0.3.02 (2026-03-11): Refactored script to extract shared scanning helpers (`setScanningUIState`, `closeAllPanels`, `getChatScroller`, `finishScanning`), reducing script size and logic duplication.
- v0.3.01 (2026-03-11): Added "Deep Scan" feature to overcome Gemini's virtual scrolling by programmatically scrolling to the absolute top to discover all historical artifacts.
- v0.3.00 (2026-03-11): Implement Dual-Source Scanning (Sidebar + Chat Stream) to ensure 100% artifact coverage. Merged duplicate entries and added source indicators.
- v0.2.57 (2026-03-11): Remove dead code (unused selectors and intermediate variables).
- v0.2.56 (2026-03-10): Remove installCheckSuffixes and simplify hostname check.
- v0.2.55: ファイル数が多い場合にUIパネル内のリストが圧縮されて見えなくなる不具合を修正。垂直スクロールが可能に。
- v0.2.54: Geminiの仮想スクロール(Lazy Loading)に対応。サイドバーを自動スクロールして全てのファイルをスキャン・検出できるように改善。
- v0.2.43: エクスポート完了検知をやめ、開始シグナル確認後に固定時間待機する方式へ変更。設定項目を
Export Wait中心に整理。 - v0.2.39: 画面上にアーティファクトが存在しない場合にパネルを自動で非表示にする機能を実装。
- v0.2.38: 各種待機時間(ウェイト/タイムアウト)を調整可能にし、UIレスポンスを改善。