Greasy Fork is available in English.
Aggressively collapses DeepSeek thinking blocks automatically on load and stream.
// ==UserScript==
// @name thinking arrow tapper
// @namespace https://viayoo.com/
// @version 0.1
// @description Aggressively collapses DeepSeek thinking blocks automatically on load and stream.
// @author You
// @run-at document-eab
// @license MIT
// @match *://*/*
// @grant GM_registerMenuCommand
// @grant GM_setClipboard
// ==/UserScript==
(function() {
'use strict';
// Aggressive function to find and collapse open thinking headers
function collapseThinkingBlocks() {
// Find all elements containing the thinking headers
const headers = document.querySelectorAll('div, span, button');
headers.forEach(el => {
const text = el.textContent || '';
// Target elements that say "Thought for" or "Thinking"
if ((text.includes('Thought for') || text.includes('Thinking')) && !el.hasAttribute('data-collapsed-by-script')) {
// Find the closest clickable parent button/container for the fold toggle
const clickableToggle = el.closest('[role="button"]') || el.closest('button') || el;
if (clickableToggle) {
// Mark as processed immediately to prevent toggle loops
el.setAttribute('data-collapsed-by-script', 'true');
clickableToggle.setAttribute('data-collapsed-by-script', 'true');
// Trigger click to collapse it
setTimeout(() => {
clickableToggle.click();
}, 50);
}
}
});
}
// Run immediately on page load
collapseThinkingBlocks();
// Set up a MutationObserver to catch incoming streaming thoughts in real time
const observer = new MutationObserver((mutations) => {
for (let mutation of mutations) {
if (mutation.addedNodes.length) {
collapseThinkingBlocks();
}
}
});
observer.observe(document.body, {
childList: true,
subtree: true
});
})();
if (mutation.addedNodes.length) c