※便利な半面、攻撃の対象にもなり得るので、安易にAIのリンクを開いちゃだめですね。
この記事でできるようになること
- URLに
?q=プロンプトを付けるだけで、チャットUIへプロンプトを自動入力・実行可能なAIがどれなのかを知る - 対応サービスごとの挙動の違いを把握(Notion AI / Grok / Google AIモード / Felo / Claude / ChatGPT / Gemini ほか)
- 非対応サービス(Gemini)でも、Tampermonkeyスクリプトで同じことを実現
- ブックマーク・ショートカット・ユーザースクリプト連携で、ワンクリックでAIに仕事を振れるようにする

- この記事でできるようになること
- TL;DR
- 対応状況サマリ(2026-05-01 時点)
- Notion AI — 標準機能でいけるのが強い
- Gemini — Tampermonkeyで補う
- 参考: Notion AI 用 Tampermonkey
- 共通テクニック
- 各サービスの個別メモ
- セキュリティリスクの話
- まとめ
TL;DR
AIサービスのURLに ?q=プロンプト を付けるだけで、チャットUIへプロンプトを自動入力・実行できる。対応状況はサービスごとに違う。7サービスを検証した結果まとめ。
対応状況サマリ(2026-05-01 時点)
| サービス | URL例 | パラメータ | 入力 | 自動実行 | 備考 |
|---|---|---|---|---|---|
| Notion AI | https://notion.so/ai?q=... |
q |
✅ | ✅ | 標準機能。PCブラウザのみ |
| Grok | https://grok.com/?q=... |
q |
✅ | ✅ | そのまま実行される |
| Google AIモード | https://www.google.com/search?udm=50&q=... |
q |
✅ | ✅ | 追加: aep=11&mtid=...&atvm=2 |
| Felo AI | https://felo.ai/search?q=... |
q |
✅ | ✅ | 動作確認済み |
| Claude | https://claude.ai/new?q=... |
q |
✅ | ❌ | 入力のみ。警告表示あり |
| ChatGPT | https://chatgpt.com/?prompt=... |
prompt |
✅ | ❌ | セットされるが実行はされない |
| Gemini | https://gemini.google.com/app?q=... |
q |
❌ | ❌ | 非対応 |
| GenSpark | — | — | ❌ | ❌ | 非対応 |
| Sakana AI | — | — | ❌ | ❌ | 非対応 |
Notion AI — 標準機能でいけるのが強い
Notion AI は URLパラメータ q をネイティブでサポートしている。スクリプト不要。
| 項目 | 内容 |
|---|---|
| パラメータ名 | q |
| 動作 | Notion AI チャットUIを開いた時点で q の値がプロンプトとして自動入力・実行される |
| 対応環境 | PCブラウザ版のみ(モバイル非対応) |
使用例
https://www.notion.so/ai?q=テストメッセージ

発見の経緯
- 2026-04-11: Tampermonkey で
qパラメータを受け取るスクリプトを自作 - 2026-04-12: Tampermonkeyを無効にしても同じ挙動 → 標準機能として実装済みと判明
⚠️ 公式ドキュメントでの言及は未確認(undocumented feature の可能性あり)。UI変更で挙動が変わるリスクは留意。
Gemini — Tampermonkeyで補う
Gemini は標準では q パラメータ非対応。Tampermonkey で実現する。

使用例
https://gemini.google.com/app?q=テストメッセージ
コピペで動くTampermonkeyスクリプト

// ==UserScript== // @name Gemini q autorun // @namespace https://codelife.cafe // @version 2026-04-12 // @description URLパラメータ q のプロンプトをGemini Web UIへ自動入力・送信する // @icon https://www.google.com/s2/favicons?sz=64&domain=gemini.google.com // @author marumo // @match https://gemini.google.com/* // @run-at document-idle // @grant none // ==/UserScript== const sleep = (ms) => new Promise((r) => setTimeout(r, ms)); (async () => { const url = new URL(location.href); const q = url.searchParams.get('q') ?? ''; if (!q) return; let editor = null; for (let i = 0; i < 20; i++) { const rte = document.querySelector('rich-textarea'); editor = rte?.querySelector?.('[contenteditable="true"]') || rte?.shadowRoot?.querySelector?.('[contenteditable="true"]'); if (editor) break; await sleep(500); } if (!editor) return; editor.focus(); document.execCommand('selectAll'); const ok = document.execCommand('insertText', false, q); editor.dispatchEvent(new Event('input', { bubbles: true })); if (!ok) return; url.searchParams.delete('q'); history.replaceState(null, '', url.toString()); await sleep(2000); editor.dispatchEvent( new KeyboardEvent('keydown', { key: 'Enter', code: 'Enter', keyCode: 13, which: 13, bubbles: true, cancelable: true, }), ); editor.dispatchEvent( new KeyboardEvent('keyup', { key: 'Enter', code: 'Enter', keyCode: 13, which: 13, bubbles: true, cancelable: true, }), ); })();
参考: Notion AI 用 Tampermonkey
標準機能で動くので不要だが、挙動をカスタマイズしたいとき用のテンプレ。
// ==UserScript== // @name Notion AI q autorun // @namespace https://codelife.cafe // @version 2026-04-12 // @description URLパラメータ q のプロンプトをNotion AIチャットへ自動入力・送信する // @icon https://www.google.com/s2/favicons?sz=64&domain=notion.so // @author marumo // @match https://www.notion.so/* // @run-at document-idle // @grant none // ==/UserScript== const sleep = (ms) => new Promise((r) => setTimeout(r, ms)); (async () => { const url = new URL(location.href); const q = url.searchParams.get('q') ?? ''; if (!q) return; let editor = null; for (let i = 0; i < 20; i++) { editor = document.querySelector('[role="textbox"]'); if (editor) break; await sleep(500); } if (!editor) return; editor.focus(); document.execCommand('selectAll'); const ok = document.execCommand('insertText', false, q); editor.dispatchEvent(new Event('input', { bubbles: true })); if (!ok) return; url.searchParams.delete('q'); history.replaceState(null, '', url.toString()); await sleep(2000); editor.dispatchEvent( new KeyboardEvent('keydown', { key: 'Enter', code: 'Enter', keyCode: 13, which: 13, bubbles: true, cancelable: true, }), ); editor.dispatchEvent( new KeyboardEvent('keyup', { key: 'Enter', code: 'Enter', keyCode: 13, which: 13, bubbles: true, cancelable: true, }), ); })();
共通テクニック
活用シナリオ
- ブックマーク化 — よく使うプロンプトをブラウザのブックマークに登録して、ワンクリック実行
- 外部トリガー連携 — Shortcuts / タスクスケジューラ 等からURLを開いてプロンプトを投入
- Tampermonkey連携 — 他サイトのユーザースクリプトから
window.open()でAIへ渡す(YouTube要約ボタンなど)
ハマりポイント
execCommand('insertText')は非推奨API。動かなくなったらInputEventベースへ切替history.replaceStateでqを消すのはリロード再送信防止- UI更新でセレクタが変わると動作停止する。定期メンテ前提で運用するのが安全そう
各サービスの個別メモ
Grok
- URL: https://grok.com/?q=test
qでそのまま実行。入力→送信まで自動

Google AIモード
- URL: https://www.google.com/search?udm=50&q=test
udm=50でAIモードに入るqでそのまま実行。入力→送信まで自動

Felo AI
- https://felo.ai/ja/search?q=test
qでそのまま実行。入力→送信まで自動

Claude
- URL: https://claude.ai/new?q=test
- 入力はされるが自動実行はなし
- 警告メッセージが出る。セキュリティ配慮されてる感じ

ChatGPT
- URL: https://chatgpt.com/?prompt=test
- パラメータ名が
prompt(他と違う) - セットはされるが実行はされない

GenSpark / Sakana AI
- どちらもURLパラメータ注入は非対応(2026-04-13)
Tampermonkeyスクリプト比較
| 項目 | Notion AI | Gemini |
|---|---|---|
q パラメータ |
標準対応 | Tampermonkey必須 |
| 入力欄セレクタ | [role="textbox"] |
rich-textarea → 内部 [contenteditable] |
| 入力方式 | execCommand('insertText') |
execCommand('insertText') |
| 送信方式 | Enter キー | Enter キー |
| 対応環境 | PCブラウザのみ | PCブラウザ(Chrome推奨) |
💡
@run-at context-menuにしておくと、Tampermonkeyスクリプトをコンテキストメニューから任意のタイミングで実行できる。
セキュリティリスクの話
便利な反面、攻撃面も広がる。ざっと整理しておく。
攻撃ベクトル
プロンプトインジェクション via URL(最大リスク)
?q= で自動実行されるサービス(Notion AI, Grok, Google AI, Felo)では以下が成立する。
- フィッシングリンク偽装 — 短縮URLに悪意あるプロンプトを仕込み、クリックさせる
- ソーシャルエンジニアリング — 「便利なリンク」と称して、AIにワークスペース情報の検索・表示を指示
- Notion AI固有リスク — ワークスペースデータへのアクセス権を持つため、
qで機密データの検索・要約が走りかねない
Tampermonkeyスクリプトの信頼チェーン
execCommand('insertText')+ Enterキーイベント送信は、UIの認証バウンダリを完全にバイパスする- スクリプト改ざん(サプライチェーン攻撃)で任意プロンプトをサイレント実行可能
@matchのワイルドカード指定はサブパス全体が影響範囲
history.replaceState による痕跡消去
リロード再送信防止が目的だが、同手法を使われるとURLバーから悪意あるプロンプトの痕跡が消えてしまい、ユーザーは実行内容を確認しづらくなる。
リスクマトリクス
| 攻撃 | 対象サービス | 深刻度 | 実行難易度 |
|---|---|---|---|
| URLフィッシング(自動実行) | Notion AI, Grok, Felo | 高 | 低 |
| ワークスペースデータ窃取 | Notion AI | 高 | 低 |
| Tampermonkey改ざん | Gemini, Notion AI | 中 | 中 |
| セッションハイジャック経由 | 全サービス | 高 | 高 |
緩和策
- 実行前確認ダイアログ — Claude方式。自動実行せず、プロンプト内容をプレビューしてから承認
- リファラチェック — 外部サイトからの
q付きアクセスを検知・警告 - スクリプト署名検証 — Tampermonkey自作スクリプトにハッシュチェックを追加
- 自動実行の無効化オプション —
&autorun=falseのようなフラグで明示的に制御
⚠️ 特にNotion AIはワークスペースデータへのアクセス権を持つので、URLフィッシングの影響範囲が他サービスより大きい。短縮URLや外部サイトからのリンクには要注意。
まとめ
- Notion AI / Grok / Google AIモード / Felo は
?q=だけで自動実行まで走る - Claude / ChatGPT は入力まで、実行はユーザー操作が必要
- Gemini は非対応だが Tampermonkey で補える
- 便利さと引き換えに、特にNotion AIはフィッシング耐性が低くなる点は覚悟して使う
ブックマークやショートカットから一撃でAIを叩けるようになると、体感の生産性がかなり上がる。試しやすい所から導入して、セキュリティ面も頭の片隅に置いておくといいかも。