Greasy Fork is available in English.
Block auto-scroll in DeepSeek while keeping manual scroll control
// ==UserScript== // @name DeepSeek No Auto-Scroll // @description Block auto-scroll in DeepSeek while keeping manual scroll control // @match *://*.deepseek.com/* // @version 0.0.1.20250318101211 // @namespace https://greasyfork.org/users/1435046 // ==/UserScript== (function() { 'use strict'; // Function to apply the scroll behavior override function applyNoAutoScroll(scrollContainer) { // Block auto-scroll attempts while keeping manual control Object.defineProperty(scrollContainer, 'scrollTop', { set: function() {}, // Empty setter blocks programmatic scroll get: () => scrollContainer._realScrollTop || 0, // Preserve actual position configurable: true }); // Store real scroll position scrollContainer.addEventListener('scroll', () => { scrollContainer._realScrollTop = scrollContainer.scrollTop; }); } // Watch for the target element using MutationObserver const observer = new MutationObserver(() => { const scrollContainer = document.querySelector('div.f6004764'); if (scrollContainer) { observer.disconnect(); // Stop observing once the element is found applyNoAutoScroll(scrollContainer); } }); // Start observing the DOM for changes observer.observe(document.body, { childList: true, subtree: true }); })();