Gemini Chat Enhance — Gemini対話UI体験強化プラグイン
概要
Gemini Chat Enhanceは、Google Geminiのウェブ対話インターフェースをより使いやすくすることを目的としたブラウザ拡張機能です。主に「会話の目次(質問ディレクトリ)」を自動生成して長い対話内を素早く移動できるようにする機能と、表示される画像について可能な限り「無水印の原画像」をダウンロードできる機能を備えています。拡張はJavaScriptで実装され、コンテンツスクリプトによるDOM操作や背景スクリプト(background.js)を利用したダウンロード制御など、典型的なブラウザ拡張アーキテクチャに沿って構成されています。小規模ながら実用性の高いUX改善ツールです。
リポジトリの統計情報
- スター数: 2
- フォーク数: 0
- ウォッチャー数: 2
- コミット数: 5
- ファイル数: 10
- メインの言語: JavaScript
主な特徴
- 会話から自動で目次(質問ディレクトリ)を抽出し、クリックで該当箇所へジャンプ
- 会話中の画像を“無水印の原寸画像”として取得・ダウンロードする機能
- GeminiのUIに馴染む軽量なインターフェース注入(CSS/DOM操作)
- シンプルな権限で動作する設計(ダウンロードやページ操作に限定)
技術的なポイント
Gemini Chat Enhanceは典型的なブラウザ拡張の構成要素(コンテンツスクリプト、背景スクリプト、アセット)を用い、対話UIの振る舞いに依存したDOM操作で機能を実現しています。主な技術的注目点は以下の通りです。
-
DOMの監視と目次生成: 拡張は対話エリアのDOM変化を監視し(MutationObserver等を利用)、新しい会話ブロックや質問文を検出すると目次リストを更新します。各会話ノードに対して一意のアンカーやデータ属性を付与し、目次からのクリック操作でスムーズにスクロール(scrollIntoViewやスクロール位置調整)する実装になっています。テキストの抽出ロジックは、見出し的なメッセージ(ユーザーの質問や特定のメタ情報)を判別して目次項目を生成することで、長い対話のナビゲーションを容易にします。
-
画像の原寸/無水印取得: Geminiが表示する画像がサムネイルや加工版である場合、拡張はDOM上のimg要素や背景画像、あるいは画像を読み込んでいるリクエストパラメータを解析して「オリジナル画像のURL」を推測・抽出します。背景スクリプト(background.js)を介してクロスオリジンの取得やダウンロードAPI(chrome.downloads)を呼び出すことで、ユーザーが無水印の画像をローカルに保存できるようにしています。この処理ではCORSや認証ヘッダー、Referer制約などに注意が必要で、拡張は可能な限り安全に取得するためのフォールバック(例えば、DataURLの取得やfetchのレスポンス処理)を組み合わせている想定です。
-
メッセージングと権限設計: コンテンツスクリプトと背景処理はchrome.runtime.sendMessageやonMessageで通信し、ダウンロード許可や外部リクエストのハンドリングを分離しています。manifest.json(リポジトリ内に含まれるはずのファイル)ではdownloads、activeTab、scriptingなどの最小限の権限を要求することで、拡張が行う操作を限定しつつ機能性を確保しています。Manifest V3の場合、background.jsはService Worker的に動作することが想定されます。
-
UI注入とスタイル調整: 目次パネルやダウンロードボタンはassets内のアイコンやスタイルを読み込み、既存のGemini UIに干渉しないようにスコープされたCSSを注入します。レスポンシブやダークモード対応など、UIが違和感なく統合される配慮がされていると考えられます。また、ユーザー操作のログや簡易設定(オン/オフ切替)をローカルストレージに保存することで、オプションの持続性を担保します。
-
実装上の注意点: GeminiのUIが頻繁に更新される可能性があるため、セレクタの硬直化を避ける、テキストベースの判定ロジックを採用するなどの工夫が必要です。さらに、画像の原寸取得はサービスの利用規約や著作権へ配慮が必要であり、拡張側で取得条件やリスクを明示するのが望ましいでしょう。
これらの技術要素により、拡張は「見つけやすさ」と「資産取得を簡単にする」二つの観点からGeminiの利用体験を高めます。ソースはコンパクトで、拡張機能としての典型的な設計パターンに従っているため、機能追加や保守もしやすい構造になっています。
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: file
- LICENSE: file
- README.md: file
- assets: dir
- background.js: file
…他 5 ファイル
まとめ
Geminiの会話体験を実用的に強化する、軽量で実用性の高いブラウザ拡張です。
リポジトリ情報:
- 名前: gemini-chat-enhance
- 説明: Gemini聊天界面体验增强插件
- スター数: 2
- 言語: JavaScript
- URL: https://github.com/ForeverPx/gemini-chat-enhance
- オーナー: ForeverPx
- アバター: https://avatars.githubusercontent.com/u/7984208?v=4
READMEの抜粋:
Gemini Chat Enhance - Gemini 对话界面体验增强插件
一个为 Google Gemini 对话界面专门设计的插件,可以自动生成提问目录和定位导航,以及下载无水印原图。
<img width=“741” height=“409” alt=“image” src=“https://github.com/user-attachments/assets/6bd387e8-b…”