AIチャットで返信を書くとき、こんな不満を感じたことはありませんか。
ClaudeやChatGPT、Geminiなど、ほとんどのAIサービスには「回答の一部を引用して返信する」機能がありません。一部のサービスには引用機能がありますが、使えるのは1回だけです。入力欄の上に1つの引用ブロックが表示されるだけで、複数の箇所を同時に引用することができないのです。
私がやりたいのはもっとシンプルなことで、AIの回答のある部分にコメントして、同じ回答の別の部分にも別のコメントを加えて、それを1つの返信にまとめて送りたい、ということでした。既存の機能ではそれができない。ならば自分で作るしかない、と思いました。
AIチャットの引用には、大きく3つの問題があります。そもそも対応していないサービスが多いこと。対応していても1箇所しか引用できないこと。そして手動でやると面倒なこと。テキストをコピーして " で囲んで、改行して……という作業を何度も繰り返すのは効率が悪いです。
欲しいのはシンプルな機能です。テキストを選択して右クリック、1クリックで引用が入力欄に挿入される。Chromeを使っている限りどのAIサービスでも動く。そして1つの返信の中で何度でも使える。それだけです。
Chrome拡張機能は、3つのファイルがあれば作れます。Chromeウェブストアに公開しなくても、開発者モードでローカルにインストールするだけで使えます。作った拡張機能には「引用返信くん」という名前をつけました。
Claudeに相談したら「これは簡単にできますよ」と言われたので、気軽に始めました。結果的には5回作り直すことになりましたが。

接続エラー
最初のバージョンはまったく動きませんでした。chrome://extensions のエラーパネルに出たのはこのメッセージです。
Could not establish connection. Receiving end does not exist

Chromeの最新仕様(Manifest V3)では、バックグラウンドスクリプトがページにメッセージを送ろうとした時点で、受け取る側のスクリプトがまだ読み込まれていないことが原因でした。右クリック時にスクリプトを手動で注入してからメッセージを送る方式に変えて解決しました。
Claude.aiで文字が入らない
接続はできたのに、Claude.aiの入力欄にテキストが入らない問題が次に出てきました。Claude.aiの入力欄はReactというフレームワークで作られています。Reactは通常のDOM操作をほぼ無視するため、文字をDOMに書き込んでも送信すると空メッセージになってしまいます。クリップボードからのペーストをシミュレートするという方法に切り替えて、ようやく動くようになりました。
引用した瞬間にメッセージが送信される
引用テキストの後に改行を挿入するためにEnterキーイベントをシミュレートしていたのですが、Claude.aiではEnterがメッセージ送信に割り当てられているため、引用を入れた瞬間に空のメッセージが送信されてしまいました。Shift+Enterに変えることで解決しました。Shift+Enterはどのサービスでも「改行のみ」として機能します。
2回目の引用が2回挿入される
右クリックのたびにスクリプトが再注入されるため、リスナーが重複登録される問題が起きました。2回引用すると同じテキストが2回挿入される、3回目は3回……という状態です。スクリプトがすでに登録済みかどうかを確認するフラグを追加して解決しました。
Geminiで何も入らない
ChatGPT、Claude.ai、Perplexityで動作確認したあと、Geminiでテストしたところ、引用テキストがまったく入力欄に入らず、空白と改行だけが挿入される現象が起きました。GeminiはAngularというフレームワークで作られており、他のサービスとは別の方法でテキスト挿入が必要でした。サイトのURLでGeminiを検出して、そのサイトだけ別の挿入方式を使うよう切り替えて解決しました。

Claude.ai、ChatGPT、Gemini、Perplexity、そして普通のウェブページでも動作を確認できました。引用後にそのままコメントを書いて送信する、という流れを1つの返信の中で何度でも繰り返せます。
ひとつ注意点があります。この拡張機能はChromeブラウザ上でしか動きません。ClaudeのデスクトップアプリはChromeではないため、残念ながら「引用返信くん」は使えません。デスクトップアプリでAIとやり取りすることが多い方には、この点が不便に感じるかもしれません。
「簡単にできる」とClaudeに言われて始めたのに5回作り直した、というのが正直なところです。ChromeのManifest V3は制約が多く、各AIサービスのフレームワークによって挙動も違うため、汎用的に動かすのは思ったより手間がかかりました。ただ、エラーメッセージを1つずつ読んで対処していけば必ず解決できます。chrome://extensions のエラーパネルがデバッグの一番の手がかりでした。
自分のワークフローに合った小道具を自作する楽しさも、久しぶりに味わえました。
拡張機能と組み合わせると、AIとのやり取りがさらに効率的になるアイテムをいくつか紹介します。
まず、PCマイクです。テキストを引用してコメントするのと同じくらい、音声入力はAIとの会話スピードを上げてくれます。安価なものでも十分実用的です。
長時間画面を見続けるとどうしても目が疲れます。ブルーライトカットメガネは地味ですが、毎日使うものなので効果を実感しやすいアイテムです。
メカニカルキーボードはタイピングの快適さが段違いです。こういった技術系の記事を読む方には響くかもしれません。
「簡単にできる」とClaudeに言われて始めたのに5回かかった、というのが正直な感想です。ただ完成してからというもの、AIチャットの引用返信が格段に快適になりました。特定のAIサービスに依存しない、ブラウザレベルで動く汎用ツールなので、新しいAIサービスが出てきてもそのまま使えるのが気に入っています。
