このBookmarkletは、ChatGPTが途中で忘れがちな”「コードブロックの入れ子ルール」”Think harder”を、必要なタイミングで再注入するためのものです。ワンライナー化する前のJavaScriptのソースコードを以下に示します。BookmarkletはURLとして登録する必要があるため、最終的にワンライナー化して使用する必要がありますが、可読性が悪いので、変換前のものを載せました。挿入する言葉を変えて好きに改造できます。
javascript:(function(){
const p = document.querySelector("#prompt-textarea p");
if (!p) return;
p.textContent = p.textContent + "\n\n Think harder" ;
p.dispatchEvent(new InputEvent("input", { bubbles: true }));
})();
Bookmarkletの元となったワンライナー化前のソースコード
Bookmarkletが行っていることは、ChatGPTのインプット欄を探して既存のプロンプトの前側に、コードブロックがネストしたときには、内側ではインデント方式を使うように指示しているだけです。
- テキスト入力欄 p を探す
const p = document.querySelector("#prompt-textarea p"); - p が見つからなければ終了
if (!p) return; - rule に文字列としてルールを格納する
const rule =...... - p の中のテキストの後に”Think harder”を付けて再代入
p.textContent = p.textContent + "\n\n Think harder" ; - ブラウザに p の内容が変更されたことを通知
p.dispatchEvent(new InputEvent("input", { bubbles: true }));
ユーザーが、入力欄のプロンプトを目視確認してから送信する運用を想定しているため、自動送信機能は付けていません。
ワンライナー化するときには、筆者は Bookmarklet Maker のサイトをよく利用しています。
Bookmarkリンク: 日本語版:Thinkharder
ワンライナーのコードは下記
javascript:(function()%7Bjavascript%3A(function()%7B%0A%20%20const%20p%20%3D%20document.querySelector(%22%23prompt-textarea%20p%22)%3B%0A%20%20if%20(!p)%20return%3B%0A%20%20p.textContent%20%3D%20%20p.textContent%20%2B%20%22%5Cn%5Cn%20Think%20harder%22%20%3B%0A%20%20p.dispatchEvent(new%20InputEvent(%22input%22%2C%20%7B%20bubbles%3A%20true%20%7D))%3B%0A%7D)()%3B%7D)()%3B
【注意】
- このBookmarkletによるいかなる損害の発生にも補償は致しませんので、自己責任でご使用願います。
- 環境依存のものなどもありますので、Bookmarkletの動作は無保証です。
- Web UIの仕様が変わった場合は、pを選択する部分、その他に変更が生じる可能性があります。
- ご自由に改変して使っていただいて結構ですが、再配布などされるなら、当サイトも紹介してくれると嬉しく思います。
- 自動送信が付けたい方は、
document.querySelector('[data-testid="send-button"]')を見つけてからclickイベントを発生させれば送信は可能です。
尚、テキストエリアが空のときには、送信ボタンは現れません。ご興味のある方は、規約等をご確認の上、自己責任でお試しください。
よろしければ、X(旧Twitter)でのシェア、およびアカウントのフォローにご協力ください。
– 公式:@NoaRecord
– 筆者個人:@Thinking_reed 主に雑談用
※ AI関係の情報入手でしたら、フォローは公式をお勧めします。個人アカウントは雑談中心です。

