«

Cursor 自动恢复对话脚本

时间:2025-5-26 10:36     作者:六度科技     分类: cursor&vscode



Cursor 自动恢复对话脚本

📄 脚本功能说明


🧾 完整脚本(含中文注释)

(function() {
    console.info('Cursor 自动恢复增强版: 已启动');

    // 存储已点击过的元素
    const clickedElements = new Set();

    // 防重复点击标志
    let isResuming = false;

    // 主函数:精准查找并点击恢复按钮
    function clickResumeLink() {
        if (isResuming) return; // 防止并发执行

        try {
            // 限定搜索范围:仅在指定路径下查找
            const searchArea = document.querySelector('div.pane-body > div > div.composer-bar');
            if (!searchArea) return;

            // 收集所有可能的文本检测条件
            const warningTexts = [
                'stop the agent after 25 tool calls',
                'Note: we default stop',
                'please check your internet connection or VPN'
            ];

            // 查找所有子元素
            const elements = searchArea.querySelectorAll('*');

            for (const el of elements) {
                // 跳过已处理元素
                if (clickedElements.has(el)) continue;

                // 检查是否包含警告文本
                const hasWarning = warningTexts.some(text => 
                    el.textContent?.includes(text)
                );

                if (hasWarning) {
                    // 记录匹配警告文本的元素
                    clickedElements.add(el);

                    // 查找当前元素内的所有可点击元素
                    const links = el.querySelectorAll('a, button, [role="link"], [data-link]');

                    for (const link of links) {
                        const text = link.textContent?.trim();

                        // 匹配恢复按钮文本
                        if (text === 'resume the conversation' || text === 'Resume') {
                            isResuming = true;

                            // 延迟执行点击(模拟人工操作)
                            setTimeout(() => {
                                console.info(`正在点击恢复按钮: ${text}`);
                                link.click();
                                isResuming = false;

                                // 清理过期元素(保留最近10个)
                                if (clickedElements.size > 10) {
                                    const entries = Array.from(clickedElements);
                                    clickedElements.clear();
                                    entries.slice(-5).forEach(el => clickedElements.add(el));
                                }
                            }, 3000);

                            return; // 单次触发
                        }
                    }
                }
            }
        } catch (error) {
            console.error('自动恢复脚本异常:', error);
        }
    }

    // 启动监控
    console.info('开始监控恢复条件...');
    setInterval(clickResumeLink, 1000);
    clickResumeLink(); // 立即执行首次检测

})();

🛠️ 使用步骤

  1. 打开开发者工具

    • Cursor 菜单栏:HelpToggle Developer Tools
    • 切换到 Console 标签页
  2. 粘贴并运行脚本

    • 完全复制上方代码到控制台
    • Enter 键执行
  3. 后台运行

    • 可关闭开发者工具窗口,脚本将持续工作

⚠️ 注意事项


📚 参考来源


此脚本通过智能检测速率限制提示实现自动化点击,无需人工干预即可突破默认 25 次调用限制 。