Amazon Rufus Remover

Completely removes Amazon's Rufus AI (sidebar, tooltips, product cards, errors, whitespace) – December 2025 edition

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램을 설치해야 합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         Amazon Rufus Remover
// @namespace    http://tampermonkey.net/
// @version      2.6
// @description  Completely removes Amazon's Rufus AI (sidebar, tooltips, product cards, errors, whitespace) – December 2025 edition
// @author       Talion
// @match        https://www.amazon.com/*
// @match        https://smile.amazon.com/*
// @grant        none
// @run-at       document-start
// @license      MIT
// @supportURL   https://greasyfork.org/en/scripts/556942-amazon-rufus-remover/discuss
// @homepageURL  https://greasyfork.org/en/scripts/556942-amazon-rufus-remover
// ==/UserScript==

(() => {
    'use strict';

    const DEBUG = true;
    const log = (...args) => DEBUG && console.log('[RufusRemover v2.6]', ...args);

    const EXPLICIT = [
        '#nav-flyout-rufus','.rufus-panel-container','.rufus-view-filler',
        '.rufus-conversation-container','.rufus-container-peek-view',
        '.nav-rufus-content','.rufus-panel-closed-to-peek',
        '.overflow-menu-option-container-webapp',
        '#rufus-overflow-menu-option-container-auto-minimize',
        '#rufus-overflow-menu-option-container-faq',
        '.conversation-turn-container.rufus-initial-stream-container',
        '.rufus-teaser-cx-nav-tooltip','.rufus-sections-container',
        '#nav-rufus-disc-txt','.rufus-error-container-inner',
        '.rufus-error-text','.rufus-conversation-branding-update',
        '.rufus-container','.rufus-container-default-text-style',
        '#rufus-container','.rufus-container-main-view',
        '.rufus-error-container','#rufus-error-container',
        '.rufus-asin-faceout-footer','.rufus-loading-message-template',
        '.rufus-text-subsections-with-avatar-branding-update',
        '.rufus-loading-messages','.rufus-fade-in',
        '.rufus-visibility-hidden','.rufus-remove-section'
    ];

    const CATCH_ALL = '[class*="rufus"],[id*="rufus"],[data-csa-c-content-id*="rufus"],[data-csa-c-slot-id*="rufus"]';

    const removeRufus = () => {
        const selector = [...EXPLICIT, CATCH_ALL].join(', ');
        const els = document.querySelectorAll(selector);
        let removed = 0;
        els.forEach(el => {
            if (el && el.parentNode) {
                el.style.setProperty('display', 'none', 'important');
                el.remove();
                removed++;
            }
        });

        document.querySelectorAll('#search, .s-desktop-content, .s-main-slot, #mainResults, #resultsCol')
            .forEach(m => { if (m) { m.style.marginRight='0'; m.style.maxWidth='none'; m.style.width='100%'; } });

        if (removed) log(`Removed ${removed} Rufus elements`);
    };

    removeRufus();

    const observer = new MutationObserver(() => removeRufus());
    observer.observe(document, { childList: true, subtree: true, attributes: true, characterData: true });

    setInterval(removeRufus, 1000);

    log('Amazon Rufus Remover v2.6 loaded – Rufus is dead');
})();