Greasy Fork 还支持 简体中文。

Google AI - Default to AI Mode & 2.5 Pro (Gemini)

Defaults Google searches to AI Mode, selects 2.5 Pro, and repurposes the "All" button to go to Web Search.

目前為 2025-07-25 提交的版本,檢視 最新版本

// ==UserScript==
// @name         Google AI - Default to AI Mode & 2.5 Pro (Gemini)
// @namespace    http://tampermonkey.net/
// @version      4
// @description  Defaults Google searches to AI Mode, selects 2.5 Pro, and repurposes the "All" button to go to Web Search.
// @author       JP - Discord: @Organism
// @match        https://www.google.com/search*
// @grant        none
// @run-at       document-start
// ==/UserScript==

(function() {
    'use strict';

    const url = new URL(window.location.href);

    if (sessionStorage.getItem('forceWebSearch') === 'true') {
        sessionStorage.removeItem('forceWebSearch');
    } else {
        if (url.searchParams.has('q') && url.searchParams.get('udm') !== '50') {
            url.searchParams.set('udm', '50');
            window.location.href = url.toString();
            return;
        }
    }

    function setupAiPage() {
        function modifyAllButton() {
            const interval = setInterval(() => {
                const allButtonLink = document.querySelector('div[jscontroller="KfnT9d"] a[href*="/search?q="]:not([href*="&udm="])');

                if (allButtonLink) {
                    const textDiv = allButtonLink.querySelector('.YmvwI');
                    if (textDiv) {
                        textDiv.textContent = 'Web Search';
                        allButtonLink.href = '#';

                        allButtonLink.addEventListener('click', (e) => {
                            e.preventDefault();
                            sessionStorage.setItem('forceWebSearch', 'true');
                            const currentUrl = new URL(window.location.href);
                            currentUrl.searchParams.delete('udm');
                            window.location.href = currentUrl.toString();
                        });

                        clearInterval(interval);
                    }
                }
            }, 250);
        }

        const modelObserver = new MutationObserver((mutations, obs) => {
            const TOGGLE_BUTTON_XPATH = "//div[contains(@class, 'tk4Ybd') and .//span[starts-with(text(),'AI Mode')]]";
            const PRO_MODEL_ITEM_XPATH = "//g-menu-item[.//span[text()='2.5 Pro']]";

            function findElement(xpath) {
                return document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
            }

            const proMenuItem = findElement(PRO_MODEL_ITEM_XPATH);

            if (proMenuItem) {
                if (proMenuItem.getAttribute('aria-checked') === 'true') {
                    modifyAllButton();
                    obs.disconnect();
                    return;
                } else {
                    proMenuItem.click();
                }
            } else {
                const toggleButton = findElement(TOGGLE_BUTTON_XPATH);
                if (toggleButton) {
                    toggleButton.click();
                }
            }
        });

        modelObserver.observe(document.body, { childList: true, subtree: true });
    }

    if (url.searchParams.get('udm') === '50') {
        document.addEventListener('DOMContentLoaded', setupAiPage);
    }
})();