はじめに
ブラウザで開いているページをGeminiに要約させたいとき、複数のGoogleアカウントを使い分けていると「Pro版のアカウントじゃない方で開いてしまった!」ということがよくあります。
また、Geminiの仕様変更によりURLパラメータでの自動入力が不安定なため、**「クリップボードにコピー」+「指定アカウントのGeminiを開く」+「Android風の通知(Toast)」**を組み合わせた、確実かつUXの良いブックマークレットを作成しました。
作ったもの
ブックマークをクリックすると、以下の挙動をします。
- ページのタイトルとURLを要約用プロンプトとしてクリップボードにコピー。
- 画面上部に「x秒後にGeminiを開くからペーストしてね!」というToast通知を表示。
- 指定したGoogleアカウント(
/u/1/など)でGeminiを別タブで開く。 - ユーザーは
Ctrl + VしてEnterするだけで要約開始!
ブックマークレットのコード
javascript:(function(){
const ACCOUNT_INDEX = '1';
const WAIT_TIME = 1000;
const seconds = Math.floor(WAIT_TIME / 1000);
const title = document.title;
const url = window.location.href;
/* さらに詳細・網羅性を高めたプロンプト */
const prompt = `以下のページの内容を、読まなくても詳細が把握できるレベルでMarkdown形式で要約してください。
タイトル: ${title}
URL: ${url}
### 指示
1. **全体要旨**: 全体の結論を1文で。
2. **詳細解説(トピック別)**: 内容をセクションやトピックごとに分け、見出しを付けて網羅的に要約してください。重要なロジック、具体的な数字、固有名詞、専門用語は省略せずに含めてください。
3. **背景と分析**: この話題の背景にある社会的問題や、なぜ今これが重要なのかという理由。
4. **特筆すべき知見・意外な点**: 著者の独自の視点や、一般的な認識とは異なる意外な事実。
5. **まとめと教訓**: 読者がここから得られる教訓や、注意すべきアクション。
※箇条書きの件数に制限はありません。情報の密度を優先してください。`;
function showToast(message) {
const toast = document.createElement('div');
toast.textContent = message;
Object.assign(toast.style, {
position: 'fixed', top: '20px', left: '50%', transform: 'translateX(-50%)',
backgroundColor: 'rgba(0, 0, 0, 0.8)', color: '#fff', padding: '12px 24px',
borderRadius: '25px', zIndex: '9999', fontSize: '14px', fontFamily: 'sans-serif',
pointerEvents: 'none', transition: 'opacity 0.5s'
});
document.body.appendChild(toast);
setTimeout(() => {
toast.style.opacity = '0';
setTimeout(() => document.body.removeChild(toast), 500);
}, WAIT_TIME);
}
navigator.clipboard.writeText(prompt).then(() => {
showToast(`${seconds}秒後にGeminiを開くからペーストしてね!`);
setTimeout(() => {
window.open(`https://gemini.google.com/u/${ACCOUNT_INDEX}/app`, '_blank');
}, WAIT_TIME);
}).catch(err => {
alert('コピーに失敗しました: ' + err);
});
})();
設定のポイント
-
ACCOUNT_INDEX:
Geminiを開いたときのURLがhttps://gemini.google.com/u/1/appであれば'1'を指定してください。ここを書き換えるだけで、常にProアカウント等で開くことができます。 -
WAIT_TIME:
遷移までの待機時間を設定できます。通知メッセージ内の「x秒後」という数字もこの変数から自動計算されるため、メンテナンスが容易です。 -
なぜ自動実行させないのか:
現在のブラウザセキュリティとGeminiの仕様上、外部サイトから送信ボタンを自動で押させることは困難です。そのため、「コピー済み」の状態を作ってユーザーにペーストさせるのが、最も確実で汎用性が高い(URLが長すぎてもエラーになりにくい)方法です。
おわりに
これで「どのアカウントで開くか」を気にせず、爆速で要約を開始できるようになります。
プロンプト部分を書き換えれば、「翻訳」や「コード解説」などにも応用可能です。